Chapitre 14. Remplacement des certificats du serveur web et du serveur LDAP s'ils ont expiré dans l'ensemble du déploiement IdM
La gestion de l'identité (IdM) utilise les certificats de service suivants :
-
Le certificat du serveur LDAP (ou
Directory
) -
Le certificat du serveur web (ou
httpd
) - Le certificat PKINIT
Dans un déploiement IdM sans autorité de certification, certmonger
n'assure pas par défaut le suivi des certificats de service IdM et ne notifie pas leur expiration. Si l'administrateur du système IdM ne met pas en place manuellement des notifications pour ces certificats ou ne configure pas certmonger
pour qu'il les suive, les certificats expireront sans préavis.
Cette section décrit comment remplacer manuellement les certificats expirés pour les services httpd
et LDAP fonctionnant sur le serveur IdM server.idm.example.com.
Les certificats des services HTTP et LDAP ont des paires de clés et des noms de sujets différents sur les différents serveurs IdM. Par conséquent, vous devez renouveler les certificats sur chaque serveur IdM individuellement.
Conditions préalables
- Les certificats HTTP et LDAP ont expiré sur all IdM replicas dans la topologie. Si ce n'est pas le cas, voir Remplacement des certificats du serveur Web et du serveur LDAP s'ils n'ont pas encore expiré sur une réplique IdM.
-
Vous avez un accès
root
au serveur IdM et aux répliques. -
Vous connaissez le mot de passe de
Directory Manager
. Vous avez créé des sauvegardes des répertoires et fichiers suivants :
-
/etc/dirsrv/slapd-IDM-EXAMPLE-COM/
-
/etc/httpd/alias
-
/var/lib/certmonger
-
/var/lib/ipa/certs/
-
Procédure
Si vous n'utilisez pas la même autorité de certification pour signer les nouveaux certificats ou si le certificat d'autorité de certification déjà installé n'est plus valide, mettez à jour les informations relatives à l'autorité de certification externe dans votre base de données locale à l'aide d'un fichier contenant une chaîne de certificats d'autorité de certification valide de l'autorité de certification externe. Le fichier est accepté dans les formats suivants : certificat PEM et DER, chaîne de certificats PKCS#7, PKCS#8, clé privée brute et PKCS#12.
Installer les certificats disponibles sur ca_certificate_chain_file.crt en tant que certificats d'autorité de certification supplémentaires dans IdM :
# ipa-cacert-manage install ca_certificate_chain_file.crt
Mettre à jour les bases de données de certificats IdM locales avec les certificats provenant de ca_certicate_chain_file.crt:
# ipa-certupdate
Demander les certificats pour
httpd
et LDAP :Créez une demande de signature de certificat (CSR) pour le serveur web Apache fonctionnant sur vos instances IdM auprès de votre autorité de certification tierce à l'aide de l'utilitaire
OpenSSL
:$ openssl req -new -newkey rsa:2048 -nodes -keyout /var/lib/ipa/private/httpd.key -out /tmp/http.csr -addext 'subjectAltName = DNS:server.idm.example.com, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:HTTP/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'
La création d'une nouvelle clé privée est facultative. Si vous disposez toujours de la clé privée originale, vous pouvez utiliser l'option
-in
avec la commandeopenssl req
pour spécifier le nom du fichier d'entrée à partir duquel la demande doit être lue.Créez une demande de signature de certificat (CSR) pour le serveur LDAP fonctionnant sur vos instances IdM auprès de votre autorité de certification tierce à l'aide de l'utilitaire
OpenSSL
:$ openssl req -new -newkey rsa:2048 -nodes -keyout ~/ldap.key -out /tmp/ldap.csr -addext 'subjectAltName = DNS:server.idm.example.com, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:ldap/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'
La création d'une nouvelle clé privée est facultative. Si vous disposez toujours de la clé privée originale, vous pouvez utiliser l'option
-in
avec la commandeopenssl req
pour spécifier le nom du fichier d'entrée à partir duquel la demande doit être lue.-
Soumettez les CSR, /tmp/http.csr et tmp/ldap.csr, à l'autorité de certification externe et obtenez un certificat pour
httpd
et un certificat pour LDAP. La procédure diffère selon le service utilisé comme autorité de certification externe.
Installer le certificat pour
httpd
:# cp /path/to/httpd.crt /var/lib/ipa/certs/
Installer le certificat LDAP dans une base de données NSS :
[Facultatif] Dresser la liste des certificats disponibles :
# certutil -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -L Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI Server-Cert u,u,u
Le surnom du certificat par défaut est Server-Cert, mais il est possible qu'un nom différent ait été appliqué.
Supprimez l'ancien certificat non valide de la base de données NSS (
NSSDB
) en utilisant le pseudonyme du certificat de l'étape précédente :# certutil -D -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -n 'Server-Cert' -f /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt
Créer un fichier PKCS12 pour faciliter le processus d'importation dans
NSSDB
:# openssl pkcs12 -export -in ldap.crt -inkey ldap.key -out ldap.p12 -name Server-Cert
Installer le fichier PKCS#12 créé dans le site
NSSDB
:# pk12util -i ldap.p12 -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -k /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt
Vérifiez que le nouveau certificat a été importé avec succès :
# certutil -L -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/
Redémarrez le service
httpd
:# systemctl restart httpd.service
Redémarrez le service
Directory
:# systemctl restart dirsrv@IDM-EXAMPLE-COM.service
-
Effectuez toutes les étapes précédentes sur toutes vos répliques IdM. Il s'agit d'une condition préalable à l'établissement de connexions
TLS
entre les répliques. Enrôler les nouveaux certificats dans le stockage LDAP :
Remplacez l'ancienne clé privée et l'ancien certificat du serveur web Apache par la nouvelle clé et le nouveau certificat signé :
# ipa-server-certinstall -w --pin=password /var/lib/ipa/private/httpd.key /var/lib/ipa/certs/httpd.crt
Dans la commande ci-dessus :
-
L'option
-w
indique que vous installez un certificat dans le serveur web. -
L'option
--pin
spécifie le mot de passe protégeant la clé privée.
-
L'option
-
Lorsque vous y êtes invité, saisissez le mot de passe
Directory Manager
. Remplacez l'ancienne clé privée et l'ancien certificat du serveur LDAP par la nouvelle clé et le nouveau certificat signé :
# ipa-server-certinstall -d --pin=password /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ldap.key /path/to/ldap.crt
Dans la commande ci-dessus :
-
L'option
-d
indique que vous installez un certificat dans le serveur LDAP. -
L'option
--pin
spécifie le mot de passe protégeant la clé privée.
-
L'option
-
Lorsque vous y êtes invité, saisissez le mot de passe
Directory Manager
. Redémarrez le service
httpd
:# systemctl restart httpd.service
Redémarrez le service
Directory
:# systemctl restart dirsrv@IDM-EXAMPLE-COM.service
- Exécutez les commandes de l'étape précédente sur toutes les autres répliques concernées.
Ressources supplémentaires