NetWorker: Cómo importar o reemplazar certificados firmados por una autoridad de certificación para "Authc" y "NWUI" (Linux)
Summary: Estos son los pasos generales para reemplazar el certificado autofirmado predeterminado de NetWorker por un certificado firmado por la autoridad de certificación (CA) para los servicios "authc" y "nwui". ...
Instructions
Estas instrucciones describen cómo reemplazar el certificado autofirmado predeterminado de NetWorker por un certificado firmado por una CA para authc y nwui servicios en NetWorker Server.
Los nombres de archivo no tienen un requisito de nomenclatura, pero se debe hacer referencia a las extensiones para el tipo de archivo. Los ejemplos de comandos que se muestran son para Linux. Para obtener instrucciones para Windows, consulte:
NetWorker: Cómo importar o reemplazar certificados firmados por una autoridad de certificación para "Authc" y "NWUI" (Windows)
Archivos de certificado involucrados:
<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)
Almacenes de claves involucrados:
authc.keystore authc.truststore cacerts nwui.keystore
Genere un archivo de clave privada y de solicitud de firma de certificado (CSR) para proporcionar a la CA.
-
Utilice la utilidad de línea de comandos OpenSSL para crear el archivo de clave privada del servidor de NetWorker (
<server>.key) y archivo CSR (<server>.csr).# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
-
Enviar el archivo CSR (
<server>.csr) a la CA para generar el archivo de certificado firmado por la CA (<server>.crt). La CA debe proporcionar el archivo de certificado firmado por la CA (<server>.crt), el certificado raíz (<CA>.crt), y cualquier certificado de CA intermedio (<ICA>.crt).
Pasos previos a la verificación:
Asegúrese de contar con lo siguiente:
- server.crt, que contiene un certificado PEM cuya primera línea es -----BEGIN CERTIFICATE----- y la última línea es -----END CERTIFICATE-----
- El archivo de clave comienza con -----BEGIN RSA PRIVATE KEY----- y termina con -----END RSA PRIVATE KEY-----
- Ejecute lo siguiente para confirmar que todos los certificados sean archivos de formato PEM válidos:
openssl x509 -in <cert> -text -noout. - Verifique el resultado anterior para asegurarse de que se trate del certificado correcto.
- Compruebe el resultado de los siguientes dos comandos:
openssl rsa -pubout -in server.key
openssl x509 -pubkey -noout -in server.crt
El resultado de estos dos comandos debe coincidir.
Con el fin de facilitar los pasos y los comandos que se describen a continuación, creamos las siguientes variables:
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>
Si hay más de un certificado intermedio, cree variables para cada certificado: ICA1, ICA2, etc.
Debe conocer las contraseñas correctas del almacén de claves de NetWorker. Estas contraseñas se establecen durante la configuración de AUTHC y NWUI. Si no está seguro, consulte:
- Cómo recuperar la autenticación de NetWorker y la contraseña del almacén de claves del servicio NWUI
También puede usar las variables de paso del almacén de claves (opción 1) o almacenarlas en un archivo para mantener oculta la contraseña (opción 2):
Ejemplo para la opción 1:
authc_storepass='P4ssw0rd!' nwui_storepass='Password1!'
Ejemplo de la opción 2:
authc_storepass=$(cat authc_storepass_file.txt) nwui_storepass=$(cat nwui_storepass_file.txt)
Antes de empezar:
Haga una copia de respaldo del almacenamiento de claves y los archivos de configuración actualizados.
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
Pasos para el reemplazo del certificado de servicio de autenticación:
La variable authc No es necesario detener el servicio para que funcione el siguiente procedimiento. Sin embargo, se debe reiniciar para que se carguen los nuevos certificados.
-
Importación de los certificados
-
Importe el certificado raíz (
<CA>.crt) y cualquier certificado de CA intermedio (<ICA>.crt) en elauthc.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
-
Utilice el archivo de clave privada de NetWorker Server (
<server>.key) y el nuevo archivo de certificado firmado por la CA (<server>.crt) para crear un archivo de almacenamiento PKCS12 para elemcauthctomcatyemcauthcsamlalias.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: La contraseña del archivo pkcs12 debe coincidir con la contraseña del almacén de claves. Es por eso que, en este caso, lo creamos con el métodoauthcStorePass. -
Importe los archivos del almacén PKCS12 a
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 los archivos del almacén PKCS12 a
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
-
Elimine el certificado autofirmado de NetWorker predeterminado e importe el nuevo archivo de certificado firmado por una CA (
<server>.crt) en elauthc.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 último, importe este certificado al archivo de almacenamiento de claves cacerts de Java en
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
-
-
Edite el archivo
admin_service_default_url=localhostvalor en el atributoauthc-cli-app.propertiespara reflejar el nombre de NetWorker Server utilizado en el archivo de certificado firmado por una 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= - Se necesita un reinicio de los servicios de NetWorker para lo siguiente:
authcpara utilizar el nuevo certificado importado.
nsr_shutdown systemctl start networker
-
Restablecimiento
authcConfianza en NetWorker Server:nsrauthtrust -H <local host or Authentication_service_host> -P 9090
Verificaciones posteriores a Authc:
La salida de cada alias "Certificate fingerprint" coincide con la de los otros almacenes de claves:
$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
El resultado debe ser similar a este:
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
Esta huella digital proviene del certificado que se instaló. Esto indica que la introducción del nuevo certificado en los diferentes almacenes de claves se realizó correctamente.
openssl x509 -in $cert -fingerprint -sha256 -noout
Cuando se borra la propiedad de authc El servicio está en funcionamiento, puede comprobar que el certificado que proporciona a una conexión entrante sea el mismo que el anterior:
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
* El comando anterior se ejecutó desde el propio NetWorker Server, por lo que se conecta al host local. Conexiones de uso externo <nw server name>:9090
Interfaz de usuario de NetWorker (nwui) Pasos para reemplazar el certificado de servicio:
Asumimos que el nwui los servicios se ejecutan en NetWorker Server.
-
Detenga el
nwuiserviciosystemctl stop nwui
-
Elimine los certificados autofirmados predeterminados de NetWorker e importe el nuevo archivo de certificado firmado por una CA (
<server>.crt) en el almacén de claves cacerts. Por motivos de coherencia, reemplazamos todos losnwui-related con el certificado firmado por la CA.- Es necesario determinar si se utiliza NetWorker Runtime Environment (NRE) o Java Runtime Environment (JRE) antes de realizar los siguientes pasos.
- Si se utiliza JRE, la ruta de /cacerts se encuentra en
$java_bin/../lib/security/cacerts. - Si se utiliza NRE, la ruta de /cacerts se encuentra en
/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
-
Utilice el archivo de clave privada de NetWorker Server (
<server>.key) y el nuevo archivo de certificado firmado por la CA (<server>.crt) para crear un archivo de almacenamiento PKCS12 para elemcauthctomcatyemcauthcsamlalias para elnwuidel entorno de tiempo de ejecución de los servicios de autenticación.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: La contraseña del archivo pkcs12 debe coincidir con la contraseña del almacén de claves. Es por eso que, en este caso, lo creamos con el métodonwuiStorePass. -
Importe los archivos .p12, el certificado de CA raíz y los certificados de CA intermedios en
nwuidel entorno de tiempo de ejecución de los servicios de autenticación.$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
-
Cambie el nombre del
emcnwuimonitoring,emcnwuiauthcyemcnwuiservcertificates y coloque nuestro certificado de servidor aquí en esta ruta con el mismo nombre.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 el
nwuiserviciossystemctl start nwui
nwui Verificaciones posteriores:
La salida de cada alias "Certificate fingerprint" coincide con la de los otros almacenes de claves:
$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
Esta huella digital proviene del certificado que se instaló. Esto indica que la introducción del nuevo certificado en los diferentes almacenes de claves se realizó correctamente.
openssl x509 -in $cert -fingerprint -sha256 -noout
nwui Pasos para reemplazar certificados de 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 y <server>.key files debe ser el usuario bajo el cual se ejecuta la base de datos PostgreSQL.
- Linux: nsrnwui
Additional Information
Para obtener más información sobre la importación de un certificado firmado por una CA, consulte la Guía de configuración de seguridad de Dell NetWorker.
El proceso para reemplazar el certificado autofirmado de NetWorker Management Console (NMC) por un certificado firmado por una CA se detalla en el siguiente artículo de la base de conocimientos: