NetWorker: Como importar ou substituir certificados assinados pela Autoridade de Certificação para "Authc" e "NWUI" (Linux)
Resumo: Estas são as etapas gerais para substituir o certificado autoassinado padrão do NetWorker por um certificado assinado por uma autoridade de certificação (CA) para os serviços "AUTHC" e NetWorker Web UI (NWUI). ...
Instruções
Estas instruções descrevem como substituir o certificado autoassinado padrão do NetWorker por um certificado assinado pela CA para os serviços de autenticação do NetWorker (AUTHC) e NetWorker Web UI (NWUI) no servidor NetWorker.
Os nomes de arquivo não têm um requisito de nomenclatura, mas as extensões devem ser referenciadas para o tipo de arquivo. Os exemplos de comando mostrados são para Linux. Para obter instruções do Windows, consulte:
NetWorker: Como importar ou substituir certificados assinados por uma autoridade de certificação para "AUTHC" e "NWUI" (Windows)
Arquivos de certificado envolvidos:
<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)
Repositórios de chaves envolvidos:
authc.keystore authc.truststore cacerts nwui.keystore
Gere uma chave privada e um arquivo de solicitação de assinatura de certificado (CSR) para fornecer à sua CA.
-
Use o utilitário de linha de comando OpenSSL para criar o arquivo de chave privada do servidor do NetWorker (
<server>.key) e o arquivo CSR (<server>.csr).# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
-
Envie o arquivo CSR (
<server>.csr) para que a CA gere o arquivo de certificado assinado pela CA (<server>.crt). A CA deve fornecer o arquivo de certificado assinado pela CA (<server>.crt), o certificado raiz (<CA>.crt) e quaisquer certificados intermediários da CA (<ICA>.crt).
Etapas de pré-verificação:
Verifique se você tem o seguinte:
- server.crt, que contém um certificado PEM cuja primeira linha é -----BEGIN CERTIFICATE----- e a última linha é -----END CERTIFICATE-----
- O arquivo de chave começa com -----BEGIN RSA PRIVATE KEY----- E termina com -----END RSA PRIVATE KEY-----
- Confirme se todos os certificados são arquivos de formato PEM válidos executando
openssl x509 -in <cert> -text -noout. - Verifique o resultado acima para ter certeza de que é o certificado correto.
- Verifique a saída dos dois comandos a seguir:
openssl rsa -pubout -in server.key
openssl x509 -pubkey -noout -in server.crt
O resultado desses dois comandos deve corresponder.
Para facilitar as etapas e os comandos descritos abaixo, criamos as seguintes variáveis:
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>
Se houver mais de um certificado intermediário, crie variáveis para cada certificado: ICA1, ICA2 e assim por diante
Você deve saber as senhas corretas do keystore do NetWorker. Essas senhas são definidas durante a configuração do AUTHC e do NWUI. Se você não tiver certeza, consulte:
Você também pode usar suas variáveis de aprovação do keystore (opção 1) ou armazená-las em um arquivo para manter a senha oculta (opção 2):
Exemplo da opção 1:
authc_storepass='P4ssw0rd!' nwui_storepass='Password1!'
Exemplo de Opção 2:
authc_storepass=$(cat authc_storepass_file.txt) nwui_storepass=$(cat nwui_storepass_file.txt)
Antes de começar:
Faça uma cópia de backup do arquivo Java cacerts.
cp -p /opt/nre/java/latest/lib/security/cacerts /tmp/cacerts_$(date -I).bkp
Etapas de substituição do certificado de serviço de autenticação:
A coluna authc O serviço não precisa ser interrompido para que o procedimento abaixo funcione. No entanto, ele deve ser reiniciado para que os novos certificados sejam carregados.
-
Importando os certificados
-
Importe o certificado raiz (
<CA>.crt) e quaisquer certificados CA intermediários (<ICA>.crt) noauthc.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
-
Use o arquivo de chave privada do servidor do NetWorker (
<server>.key) e o novo arquivo de certificado assinado pela CA (<server>.crt) para criar um arquivo de armazenamento PKCS12 para oemcauthctomcateemcauthcsamlAlias.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
Nota: A senha do arquivo PKCS12 precisa corresponder à senha do repositório de chaves. É por isso que, neste caso, nós o criamos com oauthcStorePass. -
Importe os arquivos de armazenamento do PKCS12 para o
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
-
Importe os arquivos de armazenamento do PKCS12 para o
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
-
Exclua o certificado autoassinado padrão do NetWorker e importe o novo arquivo de certificado assinado pela CA (
<server>.crt) noauthc.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
-
Por fim, importe esse certificado para o arquivo de keystore Java cacerts em
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
Nota: Se você estiver usando o NetWorker 19.13 (ou posterior),keytoolOs comandos podem retornar um aviso durante a importaçãocacertsCertificados. Estados de advertência a serem usados-cacertsno lugar de-keystore. Isso pode ser ignorado com segurança, apesar do aviso, a sintaxe mostrada neste artigo importa os certificados de qualquer maneira. A alternativa é substituir "-keystore $java_bin/../lib/security/cacerts" com "-cacerts" nos comandos; Isso remove a advertência.
-
-
Edite o
admin_service_default_url=localhostvalor noauthc-cli-app.propertiespara refletir o nome do servidor do NetWorker usado no arquivo de certificado assinado pela CA: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= - Uma reinicialização dos serviços do NetWorker é necessária para:
authcpara usar o novo certificado importado.
nsr_shutdown systemctl start networker
-
Restabelecer
authcconfiança no servidor do NetWorker:nsrauthtrust -H <local host or Authentication_service_host> -P 9090
Pós-verificações do AUTHC:
A saída de cada alias de "Impressão digital do certificado" coincide com a dos outros armazenamentos de chaves:
$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
A saída deve ser semelhante à esta:
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
Essa impressão digital é do certificado que foi instalado. Isso indica que a introdução do novo certificado nos diferentes repositórios de chaves foi feita corretamente.
openssl x509 -in $cert -fingerprint -sha256 -noout
Quando a propriedade do authc O serviço está ativo e em execução. Você pode verificar se o certificado que ele fornece a uma conexão de entrada é o mesmo que o acima:
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
Como alternativa, você pode verificar o assunto e o emissor do certificado usado pela porta 9090:
openssl s_client -connect localhost:9090 -showcerts 2>/dev/null </dev/null | grep -E "issuer|subject"
Interface do usuário do NetWorker (nwui) Etapas de substituição do certificado de serviço:
Partimos do princípio de que o nwui serviços estão em execução no servidor do NetWorker.
-
Pare o
nwuiServiçosystemctl stop nwui
-
Exclua os certificados autoassinados padrão do NetWorker e importe o novo arquivo de certificado assinado pela CA (
<server>.crt) no repositório de chaves cacerts. Por questão de consistência, substituímos todosnwui-related certificates com o certificado assinado pela CA.- É necessário determinar se o NetWorker Runtime Environment (NRE) ou Java Runtime Environment (JRE) é usado antes de executar as etapas a seguir.
- Se o JRE for usado, o caminho de /cacerts estará em
$java_bin/../lib/security/cacerts. - Se o NRE for usado, o caminho de /cacerts estará em
/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
Nota: Se você estiver usando o NetWorker 19.13 (ou posterior),keytoolOs comandos podem retornar um aviso durante a importaçãocacertsCertificados. Estados de advertência a serem usados-cacertsno lugar de-keystore. Isso pode ser ignorado com segurança, apesar do aviso, a sintaxe mostrada neste artigo importa os certificados de qualquer maneira. A alternativa é substituir "-keystore $java_bin/../lib/security/cacerts" com "-cacerts" nos comandos; Isso remove a advertência.
-
Use o arquivo de chave privada do servidor do NetWorker (
<server>.key) e o novo arquivo de certificado assinado pela CA (<server>.crt) para criar um arquivo de armazenamento PKCS12 para oemcauthctomcateemcauthcsamlalias para onwuido ambiente de execução dos serviços de autenticação.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
Nota: A senha do arquivo PKCS12 precisa corresponder à senha do repositório de chaves. É por isso que, neste caso, nós o criamos com onwuiStorePass. -
Importe os arquivos .p12, o certificado raiz da CA e os certificados intermediários da CA para o
nwuido ambiente de execução dos serviços de autenticação.$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
-
Renomeie o binário
emcnwuimonitoring,emcnwuiauthceemcnwuiserve coloque nosso certificado de servidor aqui neste caminho com o mesmo nome. Você será solicitado a substituir os arquivos originais (isso mantém a propriedade e as permissões existentes)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
Nota: Você será solicitado a substituir os arquivos originais (isso mantém a propriedade e as permissões existentes) -
nwuiEtapas de substituição de certificado do 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
Nota: Você será solicitado a substituir os arquivos originais (isso mantém a propriedade e as permissões existentes) -
Inicie o
nwuiServiçossystemctl start nwui
nwui Pós-verificações:
A saída de cada alias de "Impressão digital do certificado" coincide com a dos outros armazenamentos de chaves:
$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
Essa impressão digital é do certificado que foi instalado. Isso indica que a introdução do novo certificado nos diferentes repositórios de chaves foi feita corretamente.
openssl x509 -in $cert -fingerprint -sha256 -noout
Como alternativa, você pode verificar o assunto e o emissor do certificado usado pela porta 9090:
openssl s_client -connect localhost:9095 -showcerts 2>/dev/null </dev/null | grep -E "issuer|subject"
NetWorker Management Console:
Este tópico é abordado no artigo: NetWorker: Como importar ou substituir certificados assinados pela autoridade de certificação do NMC
NetWorker HTTP Strict Transport Security (HSTS):
NetWorker: Como habilitar a configuração do HSTS no servidor NetWorker Apache Tomcat
Mais informações
As instruções a seguir podem ser usadas para reverter para o cacerts Cópia do arquivo criada antes de seguir este artigo. O processo a seguir também redefine o NetWorker para usar os certificados autoassinados padrão para AUTHC e NWUI.
- Confirme se você tem uma cópia de backup. Se o comando Antes de iniciar foi usado, você deve ter uma cópia datada do Java
cacertsno servidor do/tmpdiretório. Por exemplo:
[root@nsr ~]# ls -l /tmp | grep cacerts
-rwxr-xr-x. 1 root root 129266 Mar 23 14:44 cacerts_2026-03-23.bkp
- Interrompa os serviços do NetWorker:
systemctl stop nwui nsr_shutdown
- Confirme se os serviços do NetWorker não estão em execução:
systemctl status networker systemctl status nwui
- Copie os arquivos cacerts de volta para seu local original:
rsync . Isso é usado para substituir os arquivos existentes e, ao mesmo tempo, garantir que a propriedade e as permissões padrão sejam mantidas.
rsync -a --no-perms --no-owner --no-group /tmp/cacerts_<date>.bkp /opt/nre/java/latest/lib/security/cacerts
- Execute novamente o
authc_configure.she especifique a opção para criar um novo keystore. Exemplo:
[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.
- Inicie os serviços do servidor do NetWorker:
systemct start networker
- Use o comando
nwui_configure.she especifique a opção para criar um novo keystore. Exemplo:
[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 pode relatar que não consegue acessar o servidor AUTHC na porta 9090. Supondo que a porta padrão (9090) seja usada, aguarde alguns minutos ou execute nwui_configure.sh Depois que a porta 9090 for exibida como escuta: netstat -apno | grep :9090.
- Inicie o serviço NWUI:
systemctl start nwui
- Confirme se os serviços foram iniciados:
systemctl status networker systemctl status nwui
O servidor deve estar funcionando com os certificados autoassinados padrão que o Networker implementa por padrão.