Procédure pour mettre à jour le certificat SSL du LDAP SI sur HYGIE

 

 

Etape 1 : Connexion et chemin

Se connecter en root sur hygie.gorgu.net

Se rendre dans le répertoire /mnt/ldapsi-master/config



Etape 2 : Génération du certificat de l'autorité

Génération de la nouvelle clé privée pour le nouveau certificat de l'autorité de certification (autosigné).

Options : gen privkey of 4096 bits in SHA-2
openssl genrsa 4096 -sah256 > ca2016.pem

 

Ensuite, à partir de cette clé privée, nous allons générer un certificat d'autorité de certification (valide 100 ans) qui nous permettra de signer les certificats serveurs créés.

Options : cert in x509 format for 100 years
openssl req -new -x509 -days 36500 -key ca2016.pem > cacert2016.pem

 

Remplir le formulaire selon les champs suivants :

Form
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:GADZ
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:cacert
Email Address []:

 


Etape 3 : Certificat serveur : Génération clé privée, requête de demande, puis certificat

Générer la nouvelle clé privée :

New private key
openssl genrsa 4096 -sha256 > ldap.gadz.org_slapd_key2016.pem 

 

Générer la demande CSR :

CSR request
openssl req -new -key ldap.gadz.org_slapd_key2016.pem > ldap.gadz.org_slapd_cert2016.csr

 

Remplir le fomulaire avec les champs demandés. Celui principal est le common name : il doit se nommer comme la config de l'instance : ldap.gadz.org

Form request
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:Paris
Locality Name (eg, city) []:Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Arts et Metiers Allumni
Organizational Unit Name (eg, section) []:Gadz.org
Common Name (e.g. server FQDN or YOUR name) []:ldap.gadz.org
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

 

Générer le certificat (valide 10 ans) selon la demande CSR et la clé privée :

Generate certificat with ca
openssl x509 -req -days 3650 -in ldap.gadz.org_slapd_cert2016.csr -out ldap.gadz.org_slapd_cert2016.pem -CA cacert2016.pem -CAkey ca2016.pem -CAcreateserial -CAserial ca2016.srl

 

 

Etape 4 : Archiver et remplacer les anciennes clés

Déplacer et remplacer les anciennes clés :

mv ldap.gadz.org_slapd_key.pem certificats_old/
mv ldap.gadz.org_slapd_cert.pem certificats_old/
mv cacert.pem certificat_old/
mv ldap.gadz.org_slapd_key2016.pem ldap.gadz.org_slapd_key.pem 
mv ldap.gadz.org_slapd_cert2016.pem ldap.gadz.org_slapd_cert.pem
mv cacert2016.pem cacert.pem
cp cacert.pem /etc/ldap/
 
mv ldap.gadz.org_slapd_cert2016.csr certificats_2016/
cp ldap.gadz.org_slapd* certificats_2016/
mv ca2016* certificats_2016/

 

 

Etape 5 :

Il faut remplacer le fichier ci-dessous sur chaque serveur : /etc/ldap/cacert.pem par le nouveau fichier généré (celui valide durant 100 ans)

Commencer par remplacer le certificat sur le serveur Puppet Master : toutatis . Les serveurs étant sur Puppet et ayant l'agent lancé seront automatiquement mis à jour.

Le fichier a remplacer sur la config Puppet est :

/etc/puppet/environment/production/modules/ldapclient/file/cacert.pem

Ne pas oublier de le pusher sur Git.

 

Ensuite, faire manuellement la modification (pour les serveurs non orchestrés via Puppet) ;

Conseil : copier le fichier cacert.pem sur votre /home/

Pour les serveurs étant liés au LDAP SI (cat /etc/ldap/ldap.conf et vérifier qu'ils sont linké à ldap.gadz.org) et ayant le point de montage NFS /home monté depuis Toutatis :

Copy from NFS /home
cp /home/arcadio/cacert.pem /etc/ldap/

Pour les serveurs étant liés au LDAP SI mais n'ayant pas le point de montage NFS /home monté depuis Toutatis :

Copy via scp
scp arcadio@toutatis:/home/arcadio/cacert.pem /etc/ldap/

Remplacer toutatis par le fqdn toutatis.gorgu.net ou l'ip 172.16.1.2 si problèmes DNS ou key ssh

 

On peut vérifier la validité du certificat via :

Verif certificat end date
openssl x509 -enddate -noout -in /etc/ldap/cacert.pem

Le résultat apparaît de la forme :

notAfter=Sep 8 20:24:48 2016 GMT

 

 

Etape 6 :

Relancer l'instance LDAP SI sur Hygie :

/mnt/ldapsi-master/shell/exploit.sh stop

Puis :

/mnt/ldapsi-master/shell/exploit.sh start

 

Vérification prise en compte des nouveaux certificats :

echo | openssl s_client -connect ldap.gadz.org:636 2>/dev/null | openssl x509 -noout -dates

Le résultat apparaît de la forme :

notBefore=Sep 6 10:13:45 2016 GMT
notAfter=Sep 4 10:13:45 2026 GMT

 

Il faut également penser à relancer les services nscd et nslcd sur Hygie, Hestia et Toutatis pour éviter les mauvaises surprises :

service nscd restart
service nslcd restart

 

 

  • Aucune étiquette