NetWorker : échec des commandes authc avec le message « unable to find valid certification path »
Résumé: les commandes authc_config et authc_mgmt échouent dans le rapport NetWorker « unable to find valid certification path to requested target ».
Symptômes
- Le serveur NetWorker est déployé sur un système autonome (non mis en cluster).
- Commandes d’authentification NetWorker (
authc_config,authc_mgmt) échouent avec l’erreur suivante signalée :
[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
- Ce problème se produit indépendamment de l’utilisation de l’authentification NetWorker locale ou externe (LDAP).
Cause
Il existe une incompatibilité dans la signature des certificats emcauthctomcat. Emcauthctomcat est configuré par défaut lors du déploiement de NetWorker. Ce certificat existe à trois emplacements :
Linux :
- /nsr/authc/conf/authc.keystore
- /opt/nsr/authc-server/conf/authc.truststore
- /opt/nre/java/latest/lib/security/cacerts
Windows :
- C :\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- C :\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C :\Program Files\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
Résolution
Corrigez l’incompatibilité du certificat.
-
Créez une copie des fichiers de magasin de clés existants :
Linux :- /nsr/authc/conf/authc.keystore
- /opt/nsr/authc-server/conf/authc.truststore
- /opt/nre/java/latest/lib/security/cacerts
Windows :
- C :\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\authc.keystore
- C :\Program Files\EMC NetWorker\nsr\authc-server\conf\authc.truststore
- C :\Program Files\NRE\java\jre#.#.#_##\lib\security\cacerts
Remarque : Le fichier cacerts se trouve dans l’instance JRE configurée d’authc. Les chemins indiqués ci-dessus correspondent à l’installation de NetWorker Runtime Environment (NRE). Si Oracle Java JRE est installé, le fichier cacerts se trouve dans le chemin d’installation java sous .. \lib\security\cacerts. -
Sur le serveur NetWorker, ouvrez une invite de commande admin ou root.
-
Arrêtez les services de serveur NetWorker :
Linux :nsr_shutdown
Windows :net stop nsrd -
Remplacez le répertoire par JRE \bin dir.
-
À l’aide de la syntaxe de commande suivante, supprimez les certificats emcauthctomcat des emplacements du magasin de clés où une incompatibilité est observée.
Linux :
./keytool -delete -alias emcauthctomcat -keystore /path/to/keystore -storepass passwordWindows :
keytool -delete -alias emcauthctomcat -keystore "C:\path\to\keystore" -storepass passwordRemarque : Le mot de passe du magasin de clés Java, que ce soit NRE ou Oracle jre, est modifié. Le magasin de clés authc est le mot de passe défini par l’utilisateur lors de l’utilisation de l’assistant d’installation NetWorker (Windows) ou /opt/nsr/authc-server/scripts/authc_configure.sh script (Linux).
Exemple :
[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]#
-
Le certificat emcauthctomcat par défaut doit exister à l’emplacement suivant :
Linux : /nsr/authc/conf/emcauthctomcat.cer
Windows : C :\Program Files\EMC NetWorker\nsr\authc-server\tomcat\conf\emcauthctomcat.cer -
Importez le certificat emcauthctomcat par défaut dans les emplacements du magasin de clés :
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"
Exemple :
[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
-
Appuyez sur
keytool -listpour confirmer le certificat que les signatures emcauthctomcat correspondent dans chacun des magasins de clés :
Linux :./keytool -list -keystore /path/to/keystore -storepass password | grep -A1 emcauth
Windows :keytool -list -keystore "C:\path\to\keystore" -storepass password -
Démarrez les services NetWorker :
Linux :systemctl start networker
Windows :net start nsrd -
Tentative d’utilisation d’un
authc_configouauthc_mgmtCommande:authc_config -u Administrator -e find-all-users
Exemple :
[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