<Précédent | Table des matières | Suivant>
1.8. TLS
Lors de l'authentification sur un serveur OpenLDAP, il est préférable de le faire en utilisant une session cryptée. Cela peut être accompli en utilisant Transport Layer Security (TLS).
Ici, nous serons les nôtres Autorité de certification puis créez et signez notre certificat de serveur LDAP en tant que CA. Étant donné que slapd est compilé à l'aide de la bibliothèque gnutls, nous utiliserons l'utilitaire certtool pour effectuer ces tâches.
1. Installez les packages gnutls-bin et ssl-cert :
sudo apt installer gnutls-bin ssl-cert
2. Créez une clé privée pour l'autorité de certification :
sudo sh -c "certtool --generate-privkey > /etc/ssl/private/cakey.pem"
3. Créez le modèle/fichier /etc/ssl/ca.info pour définir l'AC :
cn = Exemple d'entreprise ca
cert_signing_key
4. Créez le certificat CA auto-signé :
sudo certtool --generate-auto-signé \
--load-privkey /etc/ssl/private/cakey.pem \
--template /etc/ssl/ca.info \
--outfile /etc/ssl/certs/cacert.pem
5. Créez une clé privée pour le serveur :
4 http://manpages.ubuntu.com/manpages/en/man5/slapd.access.5.html
sudo certtool --generate-privkey \
--bits 1024 \
--outfile /etc/ssl/private/ldap01_slapd_key.pem
remplacer ldap01 dans le nom de fichier avec le nom d'hôte de votre serveur. Nommer le certificat et la clé de l'hôte et du service qui les utiliseront aidera à garder les choses claires.
6. Créez le /etc/ssl/ldap01.info fichier d'informations contenant :
organisation = Exemple Société cn = ldap01.example.com tls_www_server
cryptage_key signature_clé expiration_days = 3650
Le certificat ci-dessus est valable 10 ans. Ajuste en accord.
7. Créez le certificat du serveur :
sudo certtool --generate-certificate \
--load-privkey /etc/ssl/private/ldap01_slapd_key.pem \
--load-ca-certificate /etc/ssl/certs/cacert.pem\
--load-ca-privkey /etc/ssl/private/cakey.pem \
--template /etc/ssl/ldap01.info \
--outfile /etc/ssl/certs/ldap01_slapd_cert.pem
8. Ajustez les autorisations et la propriété :
sudo chgrp openldap /etc/ssl/private/ldap01_slapd_key.pem sudo chmod 0640 /etc/ssl/private/ldap01_slapd_key.pem sudo gpasswd -a openldap ssl-cert
9. Redémarrez maintenant slapd, puisque nous avons ajouté l'utilisateur 'openldap' au groupe 'ssl-cert' :
sudo systemctl redémarrer slapd.service
Votre serveur est maintenant prêt à accepter la nouvelle configuration TLS.
Créer le fichier certinfo.ldif avec le contenu suivant (ajustez en conséquence, notre exemple suppose que nous avons créé des certificats en utilisant https://www.cacert.org) :
dn : cn=config
ajouter : olcTLSCACertificateFile olcTLSCACertificateFile : /etc/ssl/certs/cacert.pem
-
ajouter : olcTLSCertificateFile
olcTLSCertificateFile : /etc/ssl/certs/ldap01_slapd_cert.pem
-
ajouter : olcTLSCertificateKeyFile
olcTLSCertificateKeyFile : /etc/ssl/private/ldap01_slapd_key.pem
Utilisez la commande ldapmodify pour informer slapd de notre travail TLS via la base de données slapd-config :
sudo ldapmodify -Y EXTERNE -H ldapi:/// -f certinfo.ldif
Contrairement à la croyance populaire, vous n'avez pas besoin ldaps:// in / etc / default / slapd pour utiliser le cryptage. Vous devriez avoir juste :
SLAPD_SERVICES="ldap:/// ldapi:///"
LDAP sur TLS/SSL (ldaps://) est déconseillé au profit de DémarrerTLS. Ce dernier fait référence à une session LDAP existante (écoute sur le port TCP 389) devenant protégée par TLS/SSL alors que LDAPS, comme HTTPS, est un protocole distinct crypté dès le départ qui fonctionne sur le port TCP 636.