NetWorker : comment importer ou remplacer les certificats signés par l’autorité de certification pour « Authc » et « NWUI » (Linux)
Summary: Voici les étapes générales à suivre pour remplacer le certificat auto-signé NetWorker par défaut par un certificat signé par une autorité de certification (AC) pour les services « authc » et « nwui ». ...
Instructions
Ces instructions expliquent comment remplacer le certificat auto-signé NetWorker par défaut par un certificat signé par une autorité de certification pour le authc et nwui sur le serveur NetWorker.
Les noms de fichiers n’ont pas d’exigence de nommage, mais les extensions doivent être référencées pour le type de fichier. Les exemples de commandes présentés concernent Linux. Pour obtenir des instructions Windows, reportez-vous à la section :.
NetWorker : comment importer ou remplacer les certificats signés par l’autorité de certification pour « Authc » et « NWUI » (Windows)
Fichiers de certificat concernés :
<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)
Magasins de clés concernés :
authc.keystore authc.truststore cacerts nwui.keystore
Générez un fichier de clé privée et de demande de signature de certificat (CSR) à fournir à votre autorité de certification.
-
Utilisez l’utilitaire de ligne de commande OpenSSL pour créer le fichier de clé privée du NetWorker Server (
<server>.key) et fichier CSR (<server>.csr).# openssl req -new -newkey rsa:4096 -nodes -out /tmp/<server>.csr -keyout /tmp/<server>.key
-
Envoyez le fichier CSR (
<server>.csr) à l’autorité de certification pour générer le fichier de certificat signé par une autorité de certification (<server>.crt). L’autorité de certification doit fournir le fichier de certificat signé par l’autorité de certification (<server>.crt), le certificat racine (<CA>.crt) et tous les certificats d’autorité de certification intermédiaires (<ICA>.crt).
Étapes de prévérification :
Assurez-vous de disposer des éléments suivants :
- server.crt, qui contient un certificat PEM dont la première ligne est -----BEGIN CERTIFICATE----- et la dernière ligne est -----END CERTIFICATE-----
- Le fichier de clés commence par ----- BEGIN RSA PRIVATE KEY ----- et se termine par ----- END RSA PRIVATE KEY -----
- Vérifiez que tous les certificats sont des fichiers au format PEM valides en exécutant
openssl x509 -in <cert> -text -noout. - Vérifiez la sortie ci-dessus pour vous assurer qu’il s’agit du bon certificat.
- Vérifiez la sortie des deux commandes suivantes :
openssl rsa -pubout -in server.key
openssl x509 -pubkey -noout -in server.crt
La sortie de ces deux commandes doit correspondre.
Afin de faciliter les étapes et les commandes décrites ci-dessous, nous créons les variables suivantes :
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>
S’il existe plusieurs certificats intermédiaires, créez des variables pour chaque certificat : ICA1, ICA2, etc
. Vous devez connaître les mots de passe corrects du magasin de clés NetWorker. Ces mots de passe sont définis lors de la configuration AUTHC et NWUI. Si vous n’êtes pas sûr, reportez-vous à la section :
Vous pouvez également utiliser les variables pass de votre magasin de clés (option 1) ou les stocker dans un fichier pour garder le mot de passe caché (option 2) :
Exemple pour l’option 1 :
authc_storepass='P4ssw0rd!' nwui_storepass='Password1!'
Exemple pour l’option 2 :
authc_storepass=$(cat authc_storepass_file.txt) nwui_storepass=$(cat nwui_storepass_file.txt)
Avant de commencer :
Effectuez une copie de sauvegarde du magasin de clés et des fichiers de configuration qui sont mis à jour.
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
Étapes de remplacement du certificat de service d’authentification :
La commande authc Il n’est pas nécessaire d’arrêter le service pour que la procédure ci-dessous fonctionne. Toutefois, il doit être redémarré pour que les nouveaux certificats soient chargés.
-
Importation des certificats
-
Importez le certificat racine (
<CA>.crt) et tous les certificats d’autorité de certification intermédiaires (<ICA>.crt) dans leauthc.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
-
Utilisez le fichier de clé privée du NetWorker Server (
<server>.key) et le nouveau fichier de certificat signé par une autorité de certification (<server>.crt) pour créer un fichier de stockage PKCS12 pour leemcauthctomcatetemcauthcsamlalias.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
Remarque : le mot de passe du fichier pkcs12 doit correspondre au mot de passe du magasin de clés. C’est pourquoi, dans ce cas, nous le créons avec la commandeauthcStorePass. -
Importez les fichiers de la banque PKCS12 dans
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
-
Importez les fichiers de la banque PKCS12 dans
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
-
Supprimez le certificat auto-signé NetWorker par défaut et importez le nouveau fichier de certificat signé par une autorité de certification (
<server>.crt) dans leauthc.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
-
Enfin, importez ce certificat dans le fichier de magasin de clés Java cacerts sous
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
-
-
Modifiez le
admin_service_default_url=localhostvaleur dans l’attributauthc-cli-app.propertiespour refléter le nom du NetWorker Server utilisé dans le fichier de certificat signé par une autorité de certification :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= - Un redémarrage des services NetWorker est nécessaire pour
authcpour utiliser le nouveau certificat importé.
nsr_shutdown systemctl start networker
-
Rétablir
authcConfiance sur le serveur NetWorker :nsrauthtrust -H <local host or Authentication_service_host> -P 9090
Post-vérifications Authc :
La sortie de chaque alias « Certificate fingerprint » coïncide avec celles des autres magasins de clés :
$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
La sortie doit être similaire à ceci :
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
Cette empreinte provient du certificat qui a été installé. Cela indique que l’introduction du nouveau certificat dans les différents magasins de clés a été effectuée correctement.
openssl x509 -in $cert -fingerprint -sha256 -noout
lorsque la propriété authc Le service est opérationnel, vous pouvez vérifier que le certificat qu’il fournit à une connexion entrante est le même que celui indiqué ci-dessus :
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
*La commande ci-dessus a été exécutée à partir du NetWorker Server lui-même. Il se connecte donc à localhost. Connexions provenant d’une utilisation externe <nw server name>:9090
Interface utilisateur NetWorker (nwui) Étapes de remplacement du certificat de service :
Nous supposons que l’attribut nwui Les services sont en cours d’exécution sur le serveur NetWorker.
-
Arrêtez le
nwuiservicesystemctl stop nwui
-
Supprimez les certificats auto-signés NetWorker par défaut et importez le nouveau fichier de certificat signé par une autorité de certification (
<server>.crt) dans le magasin de clés cacerts. Pour plus de cohérence, nous remplaçons tous lesnwuiavec le certificat signé par une autorité de certification.- Il est nécessaire de déterminer si NetWorker Runtime Environment (NRE) ou Java Runtime Environment (JRE) est utilisé avant d’effectuer les étapes suivantes.
- Si JRE est utilisé, le chemin d’accès de /cacerts se trouve à l’adresse
$java_bin/../lib/security/cacerts. - Si NRE est utilisé, le chemin d’accès de /cacerts se trouve à l’adresse
/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
-
Utilisez le fichier de clé privée du NetWorker Server (
<server>.key) et le nouveau fichier de certificat signé par une autorité de certification (<server>.crt) pour créer un fichier de stockage PKCS12 pour leemcauthctomcatetemcauthcsamlalias pour l’attributnwui.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
Remarque : le mot de passe du fichier pkcs12 doit correspondre au mot de passe du magasin de clés. C’est pourquoi, dans ce cas, nous le créons avec la commandenwuiStorePass. -
Importez les fichiers .p12, le certificat d’autorité de certification racine et les certificats d’autorité de certification intermédiaires dans
nwui.$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
-
Renommez le fichier binaire
emcnwuimonitoring,emcnwuiauthcetemcnwuiservcertificats, et placez notre certificat de serveur ici dans ce chemin avec le même nom.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
-
Démarrez le
nwuiservicessystemctl start nwui
nwui Vérifications a posteriori :
La sortie de chaque alias « Certificate fingerprint » coïncide avec celles des autres magasins de clés :
$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
Cette empreinte provient du certificat qui a été installé. Cela indique que l’introduction du nouveau certificat dans les différents magasins de clés a été effectuée correctement.
openssl x509 -in $cert -fingerprint -sha256 -noout
nwui Étapes de remplacement du certificat 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 et <server>.key Les fichiers doivent être l’utilisateur sous lequel la base de données PostgreSQL s’exécute.
- Linux : nsrnwui
Additional Information
Pour plus d’informations sur l’importation d’un certificat signé par une autorité de certification, reportez-vous au Guide de configuration de la sécurité de Dell NetWorker.
Le processus de remplacement du certificat auto-signé NetWorker Management Console (NMC) par un certificat signé par une autorité de certification est décrit dans l’article suivant de la base de connaissances :