NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez instytucję certyfikującą dla „AUTHC” i „NWUI” (Linux)
Podsumowanie: 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 NetWorker Web UI (NWUI). ...
Instrukcje
W tych instrukcjach opisano sposób zastąpienia domyślnego certyfikatu NetWorker z podpisem własnym certyfikatem certyfikatem podpisanym przez instytucję certyfikującą na potrzeby uwierzytelniania NetWorker (AUTHC) i usług NetWorker Web UI (NWUI) 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 instytucję certyfikującą 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 instytucji certyfikującej, aby wygenerować plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt). Instytucja certyfikująca powinna dostarczyć plik certyfikatu podpisanego przez instytucję certyfikującą (<server>.crt), certyfikat główny (<CA>.crt) oraz wszelkie pośrednie certyfikaty instytucji certyfikującej (<ICA>.crt).
Etapy wstępnej weryfikacji:
Upewnij się, że dysponujesz następującymi elementami:
- 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. - Sprawdź 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ą pliku cacerts Java.
cp -p /opt/nre/java/latest/lib/security/cacerts /tmp/cacerts_$(date -I).bkp
Czynności wymiany certyfikatu usługi uwierzytelniającej:
Pakiet 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 dlaemcauthctomcatiemcauthcsamlAlias.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
emcauthctomcatAlias:$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
UWAGA: Jeśli używasz NetWorker 19.13 (lub nowszego):keytoolPolecenia mogą zwrócić ostrzeżenie podczas importowaniacacertsCertyfikaty. Stany ostrzegawcze, które mają być używane-cacertszamiast-keystore. Można to bezpiecznie zignorować, pomimo ostrzeżenia, składnia pokazana w tym artykule i tak importuje certyfikaty. Alternatywą jest zastąpienie "-keystore $java_bin/../lib/security/cacerts" z "-cacerts" w poleceniach; Spowoduje to usunięcie ostrzeżenia.
-
-
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
-
Ponownie ustanowić
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
Alternatywnie można sprawdzić podmiot i wystawcę certyfikatu używanego przez port 9090:
openssl s_client -connect localhost:9090 -showcerts 2>/dev/null </dev/null | grep -E "issuer|subject"
Interfejs użytkownika NetWorker (nwui) Czynności wymiany certyfikatu serwisowego:
Zakładamy, że nwui Usługi są uruchomione na serwerze NetWorker.
-
Zatrzymaj
nwuiUsługisystemctl 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
UWAGA: Jeśli używasz NetWorker 19.13 (lub nowszego):keytoolPolecenia mogą zwrócić ostrzeżenie podczas importowaniacacertsCertyfikaty. Stany ostrzegawcze, które mają być używane-cacertszamiast-keystore. Można to bezpiecznie zignorować, pomimo ostrzeżenia, składnia pokazana w tym artykule i tak importuje certyfikaty. Alternatywą jest zastąpienie "-keystore $java_bin/../lib/security/cacerts" z "-cacerts" w poleceniach; Spowoduje to usunięcie ostrzeżenia.
-
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ą. Pojawi się monit o zastąpienie oryginalnych plików (w ten sposób zachowane zostaną istniejące prawa własności i uprawnienia).cp -p /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer_orig cp $cert /nsr/nwui/monitoring/app/conf/emcnwuimonitoring.cer mv -p /opt/nwui/conf/emcnwuiauthc.cer /opt/nwui/conf/emcnwuiauthc.cer_orig cp $cert /opt/nwui/conf/emcnwuiauthc.cer cp -p /opt/nwui/conf/emcnwuiserv.cer /opt/nwui/conf/emcnwuiserv.cer_orig cp $cert /opt/nwui/conf/emcnwuiserv.cer
UWAGA: Pojawi się monit o zastąpienie oryginalnych plików (w ten sposób zachowane zostaną istniejące prawa własności i uprawnienia). -
nwuiKroki wymiany certyfikatu PostgreSQLcp -p $nsr/nwui/monitoring/nwuidb/pgdata/server.crt /nsr/nwui/monitoring/nwuidb/pgdata/server.crt_orig cp -p $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
UWAGA: Pojawi się monit o zastąpienie oryginalnych plików (w ten sposób zachowane zostaną istniejące prawa własności i uprawnienia). -
Uruchom polecenie
nwuiUsługsystemctl 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
Alternatywnie można sprawdzić podmiot i wystawcę certyfikatu używanego przez port 9090:
openssl s_client -connect localhost:9095 -showcerts 2>/dev/null </dev/null | grep -E "issuer|subject"
Konsola zarządzająca NetWorker:
Ten temat został omówiony w artykule: NetWorker: Jak zaimportować lub zastąpić certyfikaty podpisane przez urząd certyfikacji dla NMC
NetWorker HTTP Strict Transport Security (HSTS):
NetWorker: Jak włączyć konfigurację HSTS na serwerze NetWorker Apache Tomcat
Dodatkowe informacje
Poniższych instrukcji można użyć do przywrócenia cacerts Kopia pliku utworzona przed wykonaniem tego artykułu. Poniższy proces resetuje również NetWorker do używania domyślnych certyfikatów z podpisem własnym dla AUTHC i NWUI.
- Upewnij się, że masz kopię zapasową. Jeśli użyto polecenia Zanim uruchomisz , powinieneś mieć datowaną kopię Javy
cacertsplik w pliku serwera/tmp. Na przykład:
[root@nsr ~]# ls -l /tmp | grep cacerts
-rwxr-xr-x. 1 root root 129266 Mar 23 14:44 cacerts_2026-03-23.bkp
- Zatrzymaj usługi NetWorker:
systemctl stop nwui nsr_shutdown
- Sprawdź, czy usługi NetWorker nie są uruchomione:
systemctl status networker systemctl status nwui
- Skopiuj pliki cacerts z powrotem do ich pierwotnej lokalizacji:
rsync Użycia. Służy to do nadpisywania istniejących plików przy jednoczesnym zapewnieniu zachowania domyślnej własności i uprawnień.
rsync -a --no-perms --no-owner --no-group /tmp/cacerts_<date>.bkp /opt/nre/java/latest/lib/security/cacerts
- Uruchom ponownie polecenie
authc_configure.shskrypt i określ opcję utworzenia nowego magazynu kluczy. Przykład:
[root@nsr ~]# /opt/nsr/authc-server/scripts/authc_configure.sh
Specify the directory where the Java Standard Edition Runtime Environment (JRE) software is installed [/opt/nre/java/latest]:
The installation process will install an Apache Tomcat instance.
For optimum security, EMC NetWorker Authentication Service will
use a non-root user (nsrtomcat) to start the Apache Tomcat instance.
If your system has special user security requirements, ensure that proper
operational permissions are granted to this non-root user (nsrtomcat).
Please refer to NetWorker Installation Guide.
The Apache Tomcat will use "nsr.amer.lan" as the host name.
The Apache Tomcat will use "9090" as the port number.
The NetWorker Authentication Service requires a keystore file to configure encryption and to provide SSL support.
EMC recommends that you specify a keystore password that has a minimum of six characters.
Do you want to use the existing keystore /nsr/authc/conf/authc.keystore [y]? n
The installation process will create a new keystore file.
Specify the keystore password: HIDDEN_PASSWORD
Confirm the password: HIDDEN_PASSWORD
Creating the installation log in /opt/nsr/authc-server/logs/install.log.
Performing initialization. Please wait...
The installation completed successfully.
- Uruchom usługi serwera NetWorker:
systemct start networker
- Użyj polecenia
nwui_configure.shskrypt i określ opcję utworzenia nowego magazynu kluczy. Przykład:
[root@nsr ~]# mv /nsr/nwui /nsr/nwui_$(date -I).bak
[root@nsr ~]# /opt/nwui/scripts/nwui_configure.sh Specify the directory where the Java Standard Edition Runtime Environment (JRE) software is installed [/opt/nre/java/latest]: Specify the host name of the NetWorker Authentication Service host [nsr.amer.lan]: Specify the host name of the NetWorker Server to be Managed by NWUI [nsr.amer.lan]: Specify the AUTHC port for Networker Server which is managed by NWUI [9090]: The NetWorker Web UI Server requires a keystore file to configure encryption and to provide SSL support. EMC recommends that you specify a password that has a minimum of nine characters, with at least one upper case letter, one lower case letter, one number and one special character. The installation process will create a new keystore file. Specify the keystore password: HIDDEN_PASSWORD Confirm the password: HIDDEN_PASSWORD
nwui_configure.sh skrypt może zgłaszać, że nie może połączyć się z serwerem AUTHC na porcie 9090. Zakładając, że używany jest domyślny port (9090), poczekaj kilka minut lub uruchom nwui_configure.sh Po tym, jak port 9090 jest wyświetlany jako nasłuchujący: netstat -apno | grep :9090.
- Uruchom usługę NWUI:
systemctl start nwui
- Sprawdź, czy usługi zostały uruchomione:
systemctl status networker systemctl status nwui
Serwer powinien działać z domyślnymi certyfikatami z podpisem własnym, które są domyślnie wdrażane przez NetWorker.