NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez urząd certyfikacji dla „Authc” i „NWUI” (Linux)
Summary: Oto ogólne kroki umożliwiające zastąpienie domyślnego certyfikatu NetWorker z podpisem własnym certyfikatem certyfikatem podpisanym przez urząd certyfikacji (CA) dla usług "authc" i "nwui". ...
Instructions
W tych instrukcjach opisano sposób zastąpienia domyślnego certyfikatu NetWorker z podpisem własnym certyfikatem certyfikatem podpisanym przez CA dla authc i nwui usług na serwerze NetWorker.
Nazwy plików nie mają wymagań dotyczących nazewnictwa, ale należy odwoływać się do rozszerzeń dla typu pliku. Przedstawione przykłady poleceń dotyczą systemu Linux. Aby uzyskać instrukcje dotyczące systemu Windows, zobacz:.
NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez urząd certyfikacji dla „Authc” i „NWUI” (Windows)
Pliki certyfikatów:
<server>.csr: NetWorker server certificate signing request <server>.key: NetWorker server private key <server>.crt: NetWorker server CA-signed certificate <CA>.crt: CA root certificate <ICA>.crt: CA intermediate certificate (optional if it is available)
Zaangażowane sklepy z kluczami:
authc.keystore authc.truststore cacerts nwui.keystore
Wygeneruj klucz prywatny i plik żądania podpisania certyfikatu (CSR), aby dostarczyć je do urzędu certyfikacji.
-
Użyj narzędzia wiersza polecenia OpenSSL, aby utworzyć plik klucza prywatnego serwera NetWorker (
<server>.key) i plik CSR (<server>.csr).# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
-
Wyślij plik CSR (
<server>.csr) do urzędu certyfikacji, aby wygenerować plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt). Urząd certyfikacji powinien dostarczyć plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt), certyfikat główny (<CA>.crt) oraz wszelkie pośrednie certyfikaty urzędu certyfikacji (<ICA>.crt).
Etapy wstępnej weryfikacji:
Upewnij się, że masz:
- server.crt, który zawiera certyfikat PEM, którego pierwszy wiersz to -----BEGIN CERTIFICATE----- a ostatni wiersz to -----END CERTIFICATE-----
- Plik klucza zaczyna się od -----BEGIN RSA PRIVATE KEY----- i kończy się na -----END RSA PRIVATE KEY-----
- Potwierdź, że wszystkie certyfikaty są prawidłowymi plikami w formacie PEM, uruchamiając polecenie
openssl x509 -in <cert> -text -noout. - Zweryfikuj powyższe dane wyjściowe, aby upewnić się, że jest to właściwy certyfikat.
- Sprawdź dane wyjściowe następujących dwóch poleceń:
openssl rsa -pubout -in server.key
openssl x509 -pubkey -noout -in server.crt
Dane wyjściowe tych dwóch poleceń muszą być zgodne.
Aby ułatwić kroki i polecenia opisane poniżej, tworzymy następujące zmienne:
java_bin=/opt/nre/java/latest/bin nsr=<path to /nsr partition> # In case of NVE for instance this is /data01/nsr cert=<path to server crt file> key=<path to server key file> RCAcert=<path to Root CA file> ICAcert=<path to intermediate CA crt file>
Jeśli istnieje więcej niż jeden certyfikat pośredni, utwórz zmienne dla każdego certyfikatu: ICA1, ICA2 itd
. Należy znać prawidłowe hasła do magazynów kluczy NetWorker. Hasła te są ustawiane podczas konfiguracji AUTHC i NWUI. Jeśli nie masz pewności, zobacz:
Możesz również użyć zmiennych przepustki magazynu kluczy (opcja 1) lub przechowywać je w pliku, aby ukryć hasło (opcja 2):
Przykład dla opcji 1:
authc_storepass='P4ssw0rd!' nwui_storepass='Password1!'
Przykład dla opcji 2:
authc_storepass=$(cat authc_storepass_file.txt) nwui_storepass=$(cat nwui_storepass_file.txt)
Przed rozpoczęciem:
Utwórz kopię zapasową magazynu kluczy i plików konfiguracyjnych, które zostały zaktualizowane.
tar -zcvf /tmp/NSR_$(hostname -s)_$(date -I).tar.gz $java_bin/../lib/security/cacerts $nsr/nwui/monitoring/app/conf/nwui.keystore /opt/nsr/authc-server/conf /nsr/nwui/monitoring/nwuidb/pgdata
Czynności wymiany certyfikatu usługi uwierzytelniającej:
Polecenie authc Nie trzeba zatrzymywać usługi, aby poniższa procedura zadziałała. Należy go jednak ponownie uruchomić, aby nowe certyfikaty zostały załadowane.
-
Importowanie certyfikatów
-
Zaimportuj certyfikat główny (
<CA>.crt) oraz wszelkie certyfikaty pośredniego urzędu certyfikacji (<ICA>.crt) doauthc.keystore.$java_bin/keytool -import -alias RCA -keystore $nsr/authc/conf/authc.keystore -file $RCAcert -storepass $authc_storepass $java_bin/keytool -import -alias RCA -keystore /opt/nsr/authc-server/conf/authc.truststore -file $RCAcert -storepass $authc_storepass $java_bin/keytool -import -alias ICA -keystore $nsr/authc/conf/authc.keystore -file $ICAcert -storepass $authc_storepass $java_bin/keytool -import -alias ICA -keystore /opt/nsr/authc-server/conf/authc.truststore -file $ICAcert -storepass $authc_storepass
-
Użyj pliku klucza prywatnego serwera NetWorker (
<server>.key) oraz nowy plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt), aby utworzyć plik magazynu PKCS12 dlaemcauthctomcatiemcauthcsamlpseudonim.openssl pkcs12 -export -in $cert -inkey $key -name emcauthctomcat -out /tmp/$hostname.tomcat.authc.p12 -password pass:$authc_storepass openssl pkcs12 -export -in $cert -inkey $key -name emcauthcsaml -out /tmp/$hostname.saml.authc.p12 -password pass:$authc_storepass
UWAGA: Hasło pliku pkcs12 musi być zgodne z hasłem magazynu kluczy. Dlatego w tym przypadku tworzymy go za pomocą metodyauthcStorepass. -
Zaimportuj pliki magazynu PKCS12 do katalogu
authc.keystore.$java_bin/keytool -importkeystore -destkeystore /nsr/authc/conf/authc.keystore -srckeystore /tmp/$hostname.tomcat.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass $java_bin/keytool -importkeystore -destkeystore /nsr/authc/conf/authc.keystore -srckeystore /tmp/$hostname.saml.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass
-
Zaimportuj pliki magazynu PKCS12 do katalogu
authc.truststore.$java_bin/keytool -importkeystore -destkeystore /opt/nsr/authc-server/conf/authc.truststore -srckeystore /tmp/$hostname.tomcat.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass $java_bin/keytool -importkeystore -destkeystore /opt/nsr/authc-server/conf/authc.truststore -srckeystore /tmp/$hostname.saml.authc.p12 -srcstoretype PKCS12 -srcstorepass $authc_storepass -deststorepass $authc_storepass
-
Usuń domyślny certyfikat NetWorker z podpisem własnym i zaimportuj nowy plik certyfikatu podpisanego przez instytucję certyfikującą (
<server>.crt) doauthc.truststore.$java_bin/keytool -delete -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore -storepass $authc_storepass $java_bin/keytool -import -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore -file $cert -storepass $authc_storepass $java_bin/keytool -delete -alias emcauthcsaml -keystore /opt/nsr/authc-server/conf/authc.truststore -storepass $authc_storepass $java_bin/keytool -import -alias emcauthcsaml -keystore /opt/nsr/authc-server/conf/authc.truststore -file $cert -storepass $authc_storepass
-
Na koniec zaimportuj ten certyfikat do pliku magazynu kluczy Java cacerts w obszarze
emcauthctomcatpseudonim:$java_bin/keytool -delete -alias emcauthctomcat -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcauthctomcat -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit
-
-
Edytuj plik
admin_service_default_url=localhostwartość w poluauthc-cli-app.properties, aby odzwierciedlić nazwę serwera NetWorker używaną w pliku certyfikatu podpisanego przez instytucję certyfikującą:cat /opt/nsr/authc-server/conf/authc-cli-app.properties admin_service_default_protocol=https admin_service_default_url=<my-networker-server.my-domain.com> admin_service_default_port=9090 admin_service_default_user= admin_service_default_password= admin_service_default_tenant= admin_service_default_domain= - Ponowne uruchomienie usług NetWorker jest wymagane do
authc, aby użyć nowego zaimportowanego certyfikatu.
nsr_shutdown systemctl start networker
-
Ponowne ustanowienie
authcZaufanie na serwerze NetWorker:nsrauthtrust -H <local host or Authentication_service_host> -P 9090
Weryfikacje końcowe Authc:
Dane wyjściowe każdego aliasu "Odcisk palca certyfikatu" pokrywają się z danymi wyjściowymi innych magazynów kluczy:
$java_bin/keytool -list -keystore $java_bin/../lib/security/cacerts -storepass changeit | grep emcauthctomcat -A1 $java_bin/keytool -list -keystore /opt/nsr/authc-server/conf/authc.truststore -storepass $authc_storepass | grep emcauthctomcat -A1 $java_bin/keytool -list -keystore $nsr/authc/conf/authc.keystore -storepass $authc_storepass | grep emcauthctomcat -A1
Wynik powinien być podobny do tego:
Certificate fingerprint (SHA-256): FD:54:B4:11:42:87:FF:CA:80:77:D2:C7:06:87:09:72:70:85:C1:70:39:32:A9:C0:14:83:D9:3A:29:AF:44:90
Ten odcisk palca pochodzi z certyfikatu, który został zainstalowany. Oznacza to, że wprowadzenie nowego certyfikatu do różnych magazynów kluczy zostało wykonane poprawnie.
openssl x509 -in $cert -fingerprint -sha256 -noout
Po zakończeniu authc usługa jest uruchomiona, możesz sprawdzić, czy certyfikat, który dostarcza do połączenia przychodzącego, jest taki sam jak powyższy:
openssl x509 -in <(openssl s_client -connect localhost:9090 -prexit 2>/dev/null </dev/null | sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p') -fingerprint -sha256 -noout
*Powyższe polecenie zostało uruchomione z samego serwera NetWorker, więc łączy się z hostem lokalnym. Połączenia z zewnątrz <nw server name>:9090
Interfejs użytkownika NetWorker (nwui) Czynności wymiany certyfikatu serwisowego:
Zakładamy, że nwui Usługi są uruchomione na serwerze NetWorker.
-
Zatrzymaj
nwuiusługasystemctl stop nwui
-
Usuń domyślne certyfikaty NetWorker z podpisem własnym i zaimportuj nowy plik certyfikatu podpisanego przez instytucję certyfikującą (
<server>.crt) do magazynu kluczy cacerts. Aby zachować spójność, wymieniamy wszystkienwui-certyfikaty powiązane z certyfikatem podpisanym przez CA.- Przed wykonaniem poniższych czynności należy ustalić, czy używane jest środowisko NetWorker Runtime Environment (NRE), czy środowisko Java Runtime Environment (JRE).
- Jeśli jest używane środowisko JRE, ścieżka /cacerts ma wartość
$java_bin/../lib/security/cacerts. - Jeśli używany jest NRE, ścieżka /cacerts jest w
/opt/nre/java/latest/lib/security/cacerts.$java_bin/keytool -delete -alias emcnwuimonitoring -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcnwuimonitoring -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit $java_bin/keytool -delete -alias emcnwuiserv -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcnwuiserv -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit $java_bin/keytool -delete -alias emcnwuiauthc -keystore $java_bin/../lib/security/cacerts -storepass changeit $java_bin/keytool -import -alias emcnwuiauthc -keystore $java_bin/../lib/security/cacerts -file $cert -storepass changeit
-
Użyj pliku klucza prywatnego serwera NetWorker (
<server>.key) oraz nowy plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt), aby utworzyć plik magazynu PKCS12 dlaemcauthctomcatiemcauthcsamlalias dla obiektunwuiśrodowiska wykonawczego usług uwierzytelniania.openssl pkcs12 -export -in $cert -inkey $key -name emcauthctomcat -out /tmp/$hostname.tomcat.nwui.p12 -password pass:$nwui_storepass openssl pkcs12 -export -in $cert -inkey $key -name emcauthcsaml -out /tmp/$hostname.saml.nwui.p12 -password pass:$nwui_storepass
UWAGA: Hasło pliku pkcs12 musi być zgodne z hasłem magazynu kluczy. Dlatego w tym przypadku tworzymy go za pomocą metodynwuiStorepass. -
Zaimportuj pliki .p12, certyfikat głównego urzędu certyfikacji i pośrednie certyfikaty urzędu certyfikacji do
nwuiśrodowiska wykonawczego usług uwierzytelniania.$java_bin/keytool -importkeystore -destkeystore $nsr/nwui/monitoring/app/conf/nwui.keystore -srckeystore /tmp/$hostname.tomcat.nwui.p12 -srcstoretype PKCS12 -srcstorepass $nwui_storepass -deststorepass $nwui_storepass $java_bin/keytool -importkeystore -destkeystore $nsr/nwui/monitoring/app/conf/nwui.keystore -srckeystore /tmp/$hostname.saml.nwui.p12 -srcstoretype PKCS12 -srcstorepass $nwui_storepass -deststorepass $nwui_storepass $java_bin/keytool -import -alias RCA -keystore $nsr/nwui/monitoring/app/conf/nwui.keystore -file $RCAcert -storepass $nwui_storepass $java_bin/keytool -import -alias ICA -keystore $nsr/nwui/monitoring/app/conf/nwui.keystore -file $ICAcert -storepass $nwui_storepass
-
Zmień nazwę pliku binarnego
emcnwuimonitoring,emcnwuiauthciemcnwuiservCertificates, a następnie umieść tutaj nasz certyfikat serwera w tej ścieżce pod tą samą nazwą.mv /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer_orig cp $cert /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer chown nsrnwui:nsrnwui /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer mv /opt/nwui/conf/emcnwuiauthc.cer /opt/nwui/conf/emcnwuiauthc.cer_orig cp $cert /opt/nwui/conf/emcnwuiauthc.cer chown nsrnwui:nsrnwui /opt/nwui/conf/emcnwuiauthc.cer mv /opt/nwui/conf/emcnwuiserv.cer /opt/nwui/conf/emcnwuiserv.cer_orig cp $cert /opt/nwui/conf/emcnwuiserv.cer chown nsrnwui:nsrnwui /opt/nwui/conf/emcnwuiserv.cer
-
Uruchom polecenie
nwuiusługisystemctl start nwui
nwui Weryfikacje końcowe:
Dane wyjściowe każdego aliasu "Odcisk palca certyfikatu" pokrywają się z danymi wyjściowymi innych magazynów kluczy:
$java_bin/keytool -list -keystore $nsr/nwui/monitoring/app/conf/nwui.keystore -storepass $nwui_storepass | grep emcauthctomcat -A1 $java_bin/keytool -list -keystore $java_bin/../lib/security/cacerts -storepass changeit | grep emcauthctomcat -A1 $java_bin/keytool -list -storepass $authc_storepass -keystore $nsr/authc/conf/authc.keystore | grep emcauthctomcat -A1
Ten odcisk palca pochodzi z certyfikatu, który został zainstalowany. Oznacza to, że wprowadzenie nowego certyfikatu do różnych magazynów kluczy zostało wykonane poprawnie.
openssl x509 -in $cert -fingerprint -sha256 -noout
nwui Kroki wymiany certyfikatu PostgreSQL
mv $nsr/nwui/monitoring/nwuidb/pgdata/server.crt /nsr/nwui/monitoring/nwuidb/pgdata/server.crt_orig mv $nsr/nwui/monitoring/nwuidb/pgdata/server.key /nsr/nwui/monitoring/nwuidb/pgdata/server.key_orig cp $cert $nsr/nwui/monitoring/nwuidb/pgdata/server.crt cp $key $nsr/nwui/monitoring/nwuidb/pgdata/server.key
<server>.crt i <server>.key files musi być użytkownikiem, pod którym działa baza danych PostgreSQL.
- Linux: nsrnwui
Additional Information
Aby uzyskać więcej informacji na temat importowania certyfikatu podpisanego przez instytucję certyfikującą, zapoznaj się z podręcznikiem konfiguracji zabezpieczeń Dell NetWorker.
Proces zastępowania certyfikatu z podpisem własnym konsoli NetWorker Management Console (NMC) certyfikatem z podpisem CA został szczegółowo opisany w następującym artykule bazy wiedzy:
NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez urząd certyfikacji dla NMC