NetWorker: Como importar ou substituir certificados assinados pela Autoridade de Certificação para "Authc" e "NWUI" (Linux)
Summary: 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 "nwui". ...
Instructions
Estas instruções descrevem como substituir o certificado autoassinado padrão do NetWorker por um certificado assinado por uma CA para o authc e nwui no servidor do 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 sobre o Windows, consulte:.
NetWorker: Como importar ou substituir certificados assinados pela 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 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 CA intermediários (<ICA>.crt).
Etapas de pré-verificação:
Certifique-se de ter 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 a saída 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 dos arquivos de keystore e de configuração atualizados.
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
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 oemcauthctomcateemcauthcsamlcognome.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
emcauthctomcatcognome:$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
-
-
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
Authc 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 $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
*O comando acima foi executado a partir do próprio servidor do NetWorker, portanto, ele se conecta ao localhost. Conexões de uso externo <nw server name>:9090
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
-
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.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
-
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
nwui Etapas de substituição de certificado do 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 e <server>.key devem ser o usuário sob o qual o banco de dados PostgreSQL está sendo executado.
- Linux: nsrnwui
Additional Information
Para obter mais informações sobre como importar um certificado assinado pela CA, consulte o Guia de configuração de segurança do Dell NetWorker.
O processo para substituir o certificado autoassinado do NetWorker Management Console (NMC) por um certificado assinado pela CA é detalhado no seguinte artigo da KB:
NetWorker: Como importar ou substituir certificados assinados pela autoridade de certificação do NMC