NetWorker: Cómo importar o reemplazar certificados firmados por una autoridad de certificación para "AUTHC" y "NWUI" (Linux)
Resumen: Estos son los pasos generales para reemplazar el certificado autofirmado predeterminado de NetWorker por un certificado firmado por una autoridad de certificación (CA) para los servicios "AUTHC" y la interfaz de usuario web de NetWorker (NWUI). ...
Instrucciones
Estas instrucciones describen cómo reemplazar el certificado autofirmado de NetWorker predeterminado por un certificado firmado por una CA para los servicios de autenticación de NetWorker (AUTHC) y de la interfaz de usuario web de NetWorker (NWUI) en el servidor de NetWorker.
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 el archivo CSR (<server>.csr).# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
-
Envíe 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 sea el 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 archivo cacerts de Java.
cp -p /opt/nre/java/latest/lib/security/cacerts /tmp/cacerts_$(date -I).bkp
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
NOTA: Si utiliza NetWorker 19.13 (o superior),keytoolLos comandos pueden devolver una advertencia durante la importacióncacertscertificados. Los estados de advertencia que se deben usar-cacertsen lugar de-keystore. Esto se puede ignorar con seguridad, a pesar de la advertencia, la sintaxis que se muestra en este artículo importa los certificados de todos modos. La alternativa es reemplazar "-keystore $java_bin/../lib/security/cacerts" con "-cacerts" en los comandos; Esto elimina la advertencia.
-
-
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
-
Restablecer
authcConfianza en NetWorker Server:nsrauthtrust -H <local host or Authentication_service_host> -P 9090
Verificaciones posteriores de 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
Como alternativa, puede verificar el asunto y el emisor del certificado que utiliza el puerto 9090:
openssl s_client -connect localhost:9090 -showcerts 2>/dev/null </dev/null | grep -E "issuer|subject"
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
NOTA: Si utiliza NetWorker 19.13 (o superior),keytoolLos comandos pueden devolver una advertencia durante la importacióncacertscertificados. Los estados de advertencia que se deben usar-cacertsen lugar de-keystore. Esto se puede ignorar con seguridad, a pesar de la advertencia, la sintaxis que se muestra en este artículo importa los certificados de todos modos. La alternativa es reemplazar "-keystore $java_bin/../lib/security/cacerts" con "-cacerts" en los comandos; Esto elimina la advertencia.
-
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. Se le solicitará que sobrescriba los archivos originales (esto mantiene la propiedad y los permisos 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: Se le solicitará que sobrescriba los archivos originales (esto mantiene la propiedad y los permisos existentes) -
nwuiPasos para reemplazar certificados de 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: Se le solicitará que sobrescriba los archivos originales (esto mantiene la propiedad y los permisos existentes) -
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
Como alternativa, puede verificar el asunto y el emisor del certificado que utiliza el puerto 9090:
openssl s_client -connect localhost:9095 -showcerts 2>/dev/null </dev/null | grep -E "issuer|subject"
Consola de administración de NetWorker:
Este tema se aborda en el artículo: NetWorker: Cómo importar o reemplazar certificados firmados por una autoridad de certificación para NMC
Seguridad de transporte estricta HTTP (HSTS) de NetWorker:
NetWorker: Cómo habilitar la configuración de HSTS en el servidor Apache Tomcat de NetWorker
Información adicional
Las siguientes instrucciones se pueden utilizar para volver a la función cacerts Copia de archivo creada antes de seguir este artículo. El siguiente proceso también restablece NetWorker para que utilice los certificados autofirmados predeterminados para AUTHC y NWUI.
- Confirme que tiene una copia de respaldo. Si se utilizó el comando Antes de comenzar , debe tener una copia fechada del comando
cacertsen el archivo del servidor/tmpdirectorio. Por ejemplo:
[root@nsr ~]# ls -l /tmp | grep cacerts
-rwxr-xr-x. 1 root root 129266 Mar 23 14:44 cacerts_2026-03-23.bkp
- Detenga los servicios de NetWorker:
systemctl stop nwui nsr_shutdown
- Valide que los servicios de NetWorker no estén en ejecución:
systemctl status networker systemctl status nwui
- Copie los archivos cacerts a su ubicación original:
rsync uso. Esto se utiliza para sobrescribir los archivos existentes y, al mismo tiempo, garantizar que se mantengan la propiedad y los permisos predeterminados.
rsync -a --no-perms --no-owner --no-group /tmp/cacerts_<date>.bkp /opt/nre/java/latest/lib/security/cacerts
- Vuelva a ejecutar el
authc_configure.shscript y especifique la opción para crear un nuevo almacén de claves. Ejemplo:
[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 los servicios de NetWorker Server:
systemct start networker
- Use el comando
nwui_configure.shscript y especifique la opción para crear un nuevo almacén de claves. Ejemplo:
[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 El script puede informar que no puede comunicarse con el servidor AUTHC en el puerto 9090. Suponiendo que se utiliza el puerto predeterminado (9090), espere un par de minutos o ejecútelo nwui_configure.sh Después de que el puerto 9090 se muestra como En escucha: netstat -apno | grep :9090.
- Inicie el servicio NWUI:
systemctl start nwui
- Valide que los servicios se hayan iniciado:
systemctl status networker systemctl status nwui
El servidor debe funcionar con los certificados autofirmados predeterminados que NetWorker implementa de manera predeterminada.