NetWorker: los comandos de authc fallan con el mensaje "unable to find valid certification path"
Resumen: los comandos de authc_config y authc_mgmt fallan en networker que informan "unable to find valid certification path to requested target".
Síntomas
- El servidor de NetWorker se implementa en un sistema independiente (no agrupado en clústeres).
- Comandos de autenticación de NetWorker (
authc_config,authc_mgmt) falla con el siguiente error informado:
[root@networker-mc bin]# authc_mgmt -u administrator -e find-all-users Enter password: ERROR [main] (DefaultLogger.java:190) - Error executing command. Failure: I/O error on POST request for https://localhost:9090/auth-server/api/v1/sec/authenticate [localhost]: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- Este problema ocurre independientemente de si se utiliza la autenticación local de NetWorker o la autenticación externa (LDAP).
Causa
Hay una incompatibilidad en la firma de los certificados emcauthctomcat. Emcauthctomcat se configura de manera predeterminada durante la implementación de NetWorker. Este certificado existe en tres lugares:
Linux:
- /nsr/authc/conf/authc.keystore
- /opt/nsr/authc-server/conf/authc.truststore
- /opt/nre/java/latest/lib/security/cacerts
Windows:
- C:\Archivos de programa\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- C:\Archivos de programa\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C:\Archivos de programa\NRE\java\jre#.#.#_##\lib\security\cacerts
[root@networker-mc bin]# ./keytool -list -keystore /opt/nre/java/latest/lib/security/cacerts -storepass changeit | grep -A1 emcauth emcauthctomcat, Oct 7, 2022, trustedCertEntry, Certificate fingerprint (SHA-256): 3B:18:1E:DF:39:ED:5B:4B:CF:9F:92:22:E8:D9:96:54:E0:21:A4:EB:06:D6:36:32:03:76:5E:CC:BA:B1:15:6B [root@networker-mc bin]# ./keytool -list -keystore /opt/nsr/authc-server/conf/authc.truststore | grep -A1 emcauthctom Enter keystore password: emcauthctomcat, Oct 7, 2022, trustedCertEntry, Certificate fingerprint (SHA-256): 3B:18:1E:DF:39:ED:5B:4B:CF:9F:92:22:E8:D9:96:54:E0:21:A4:EB:06:D6:36:32:03:76:5E:CC:BA:B1:15:6B [root@networker-mc bin]# ./keytool -list -keystore /nsr/authc/conf/authc.keystore | grep -A1 emcauthctomcat Enter keystore password: emcauthctomcat, Jun 29, 2022, PrivateKeyEntry, Certificate fingerprint (SHA-256): 93:97:0D:ED:DF:B1:73:62:D0:E1:95:C9:EB:67:3E:EE:4D:2E:55:9F:D7:9D:5E:FD:CE:81:E3:88:23:8E:0C:C9
Resolución
Corrija la incompatibilidad del certificado.
-
Cree una copia de los archivos de almacenamiento de claves existentes:
Linux:- /nsr/authc/conf/authc.keystore
- /opt/nsr/authc-server/conf/authc.truststore
- /opt/nre/java/latest/lib/security/cacerts
Windows:
- C:\Archivos de programa\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- C:\Archivos de programa\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C:\Archivos de programa\NRE\java\jre#.#.#_##\lib\security\cacerts
NOTA: El archivo cacerts se encuentra en la instancia de JRE configurada de authc. Las rutas que se muestran anteriormente son cuando se instala NetWorker Runtime Environment (NRE). Si JRE java de Oracle está instalado, el archivo cacerts se encuentra en la ruta de instalación de Java en.. \lib\security\cacerts. -
En el servidor de NetWorker, abra un símbolo del sistema de administrador o raíz.
-
Detenga los servicios del servidor de NetWorker:
Linux:nsr_shutdown
Windows:net stop nsrd -
Cambie el directorio a JRE \bin dir.
-
Mediante la siguiente sintaxis de comandos, elimine los certificados emcauthctomcat de las ubicaciones del almacenamiento de claves donde se observa una discrepancia.
Linux:
./keytool -delete -alias emcauthctomcat -keystore /path/to/keystore -storepass passwordWindows:
keytool -delete -alias emcauthctomcat -keystore "C:\path\to\keystore" -storepass passwordNOTA: La contraseña del almacenamiento de claves de Java, independientemente de si NRE u Oracle jre, es changeit. El almacenamiento de claves de authc es la contraseña del almacenamiento de claves definida por el usuario configurada mientras se utiliza el asistente de instalación de NetWorker (Windows) o /opt/nsr/authc-server/scripts/authc_configure.sh script (Linux).
Ejemplo:
[root@networker-mc bin]# ./keytool -delete -alias emcauthctomcat -keystore /opt/nre/java/latest/lib/security/cacerts -storepass changeit [root@networker-mc bin]# ./keytool -delete -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore Enter keystore password: [root@networker-mc bin]#
-
El certificado emcauthctomcat predeterminado debe existir en la siguiente ubicación:
Linux: /nsr/authc/conf/emcauthctomcat.cer
Windows: C:\Archivos de programa\EMC NetWorker\nsr\authc-server\tomcat\conf\emcauthctomcat.cer -
Importe el certificado emcauthctomcat predeterminado a las ubicaciones del almacenamiento de claves:
Linux:./keytool -import -alias emcauthctomcat -keystore /path/to/keystore -storepass password -file /nsr/authc/conf/emcauthctomcat.cerWindows:
keytool -import -alias emcauthctomcat -keystore "C:\path\to\keystore" -storepass password -file "C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\emcauthctomcat.cer"
Ejemplo:
[root@networker-mc bin]# ./keytool -import -alias emcauthctomcat -keystore /opt/nsr/authc-server/conf/authc.truststore -file /nsr/authc/conf/emcauthctomcat.cer
Enter keystore password:
Owner: CN=networker-mc.emclab.local, OU=NetWorker, O=DELL, L=Round Rock, ST=TX, C=US
Issuer: CN=networker-mc.emclab.local, OU=NetWorker, O=DELL, L=Round Rock, ST=TX, C=US
Serial number: bd1993a1
Valid from: Wed Jun 29 12:16:53 EDT 2022 until: Sun Jun 23 12:16:53 EDT 2047
Certificate fingerprints:
SHA1: E8:7B:C8:DF:4D:24:57:C4:63:34:1F:E8:6D:AA:1F:84:79:61:92:26
SHA256: 93:97:0D:ED:DF:B1:73:62:D0:E1:95:C9:EB:67:3E:EE:4D:2E:55:9F:D7:9D:5E:FD:CE:81:E3:88:23:8E:0C:C9
Signature algorithm name: SHA512withRSA
Subject Public Key Algorithm: 3072-bit RSA key
Version: 3
Extensions:
#1: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
DNSName: localhost
IPAddress: 127.0.0.1
DNSName: networker-mc.emclab.local
]
Trust this certificate? [no]: y
Certificate was added to keystore
[root@networker-mc bin]# ./keytool -import -alias emcauthctomcat -keystore /opt/nre/java/latest/lib/security/cacerts -file /nsr/authc/conf/emcauthctomcat.cer
Enter keystore password:
Certificate already exists in keystore under alias <emcnwuiserv>
Do you still want to add it? [no]: y
Certificate was added to keystore
-
Presione la tecla
keytool -listcomando para confirmar el certificado que coinciden las firmas emcauthctomcat en cada uno de los almacenes de claves:
Linux:./keytool -list -keystore /path/to/keystore -storepass password | grep -A1 emcauth
Windows:keytool -list -keystore "C:\path\to\keystore" -storepass password -
Inicie los servicios de NetWorker:
Linux:systemctl start networker
Windows:net start nsrd -
Intentar usar un
authc_configoauthc_mgmtComando:authc_config -u Administrator -e find-all-users
Ejemplo:
[root@networker-mc bin]# authc_mgmt -u administrator -e find-all-users Enter password: The query returns 2 records. User Id User Name 1000 administrator 1001 svc_nmc_networker-mc