2.3 KiB
SSL
Démonstration préalable:
lancer un wireshark sur le poste client, avec comme filtre port 389
faire une requète ldap authentifiée. Constater la présence du mot de passe et DN de connexion en clair
Création du certificat
Certificat autosigné
Suivre la procédure slide 97.
⚠️ Bien faire attention aux permissions sur les fichiers, l'utilisateur ldap doit pouvoir les lire.
Certificat letsencrypt
systemctl stop httpd
dnf install certbot -y
certbot certonly --standalone -d CHANGEME.formation.opendoor.fr -m formation@opendoor.fr --agree-tos --test-cert
# répondre N à la question
systemctl start httpd
⚠️ Attention, pour que le certificat (de test) soit reconnu, il faudra que le client télécharge la clé publique de la CA:
curl https://letsencrypt.org/certs/staging/letsencrypt-stg-root-x1.pem -L >> /etc/openldap/certs/ca.pem
echo TLS_CACERT /etc/openldap/certs/ca.pem >> /etc/openldap/ldap.conf
Attention également aux permissions. L'utilisateur ldap doit pouvoir lire les différents fichiers:
chgrp -R ldap chgrp ldap /etc/letsencrypt/{archive,live}
chmod -R g+rX /etc/letsencrypt/{archive,live}
Configurer le serveur
La configuration est globale au serveur (1 certificat par serveur). Elle se fait donc au niveau de la branche cn=config
Mettez au point le fichier ldif permettant de remplacer les attributs suivants par la bonne valeur (qui dépend de la méthode utilisée pour créer les certificats)
- olcTLSCipherSuite : ECDHE-RSA-AES256-SHA384:AES256-SHA256:!RC4:HIGH:!MD5:!EDH:!EXP:!SSLV2:!eNULL | idem |
- olcTLSProtocolMin : 3.4 | idem |
- olcTLSCACertificateFile : /etc/openldap/certs/ca.pem | /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
- olcTLSCertificateFile : /etc/openldap/certs/cert.pem | /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/fullchain.pem
- olcTLSCertificateKeyFile : /etc/openldap/certs/key.pem | /etc/letsencrypt/live/CHANGEME.formation.opendoor.fr/privkey.pem
Configurer le client
Dans le fichier /etc/openldap/ldap.conf modifier l'URI, TLS_REQCERT et TLS_CACERT afin de forcer l'utilisation de ssl, avec vérification du certificat
Test
On doit pouvoir se connecter de manière sécurisé au serveur
Wireshark ne doit voir passer que des paquets TLS 1.3 application_data