Slapd
LDAP pour Lightweight Directory Access Protocol
Sommaire |
Installations
apt-get install slapd ldap-utils
Ajout du SSL ldaps://
Pour ajouter le SSL à LDAP il faut tout d'abord créer un certificat comme pour un serveur Web.
Génération du certificat
On commence par créer un fichier dans /etc/ssl/openldap/openssl-ldap.cnf avec ceci dedans :
[ req ] default_bits = 2048 # Taille de la clef default_keyfile = server_key.pem default_md = sha1 distinguished_name = req_distinguished_name x509_extensions = server_cert string_mask = nombstr [ req_distinguished_name ] countryName = (C) Pays (code à 2 lettres) countryName_default = FR countryName_min = 2 countryName_max = 2 stateOrProvinceName = (ST) Etat, region ou departement stateOrProvinceName_default = Val-de-Marne localityName = (L) Ville localityName_default = Vincennes 0.organizationName = (O) Organisation 0.organizationName_default = LDAP organizationalUnitName = (OU) Unite organisationnelle #organizationalUnitName_default = commonName = (CN) FQDN du serveur commonName_max = 64 emailAddress = (E) Adresse mail emailAddress_max = 64 [ server_cert ] basicConstraints = critical, CA:FALSE subjectKeyIdentifier = hash keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth nsCertType = server nsComment = "Certificat du serveur OpenLDAP" # Si votre serveur Openldap possède plusieurs noms DNS : #subjectAltName = DNS:serveur2.mondomaine.com
Une fois ce fichiers créer :
$ cd /etc/ssl/openldap # openssl req -x509 -new -config openssl-ldap.cnf -out ldap_cert.pem -keyout ldap_key.pem -days 730 -nodes
On note ici la durée du certificat en jours (-days), le -new indique la création et -config notre fichier précédemment créé
Generating a 2048 bit RSA private key ......................................+++ .....................+++ writing new private key to 'ldap_key.pem'
Ensuite modifier ce qui ne conviens pas. Ce qui importe le plus est le FQDN sois le nom DNS qui correspond à notre serveur LDAP
On peut vérifier que tout c'est bien passé par cette commande :é
openssl x509 -in ldap_cert.pem -text -noout
Modification des fichiers slapd
Ouvrir le fichier /etc/ldap/slapd.conf (debian) et ajouter ces deux lignes :
TLSCertificateFile /etc/ssl/openldap/ldap_cert.pem TLSCertificateKeyFile /etc/ssl/openldap/ldap_key.pem
Une fois cette opération terminé, vous pouvez normalement relancer votre serveur
/etc/init.d/slapd restart
Configuration Serveur
Toujours dans le fichier /etc/ldap/slapd.conf (debian) il faut générer un mot de passe administrateur de la base. Pour cela exécuter la commande "slappaswd" Ensuite ajouter sous le rootdn rootpw.
rootpw {SSHA}daYiRpzMMvzwPhwHrC8/eCzhp3iJBano
Replication
Votre serveur ldap est bien seul et en cas d'interuption de service ceci peux devenir critique car tout se "plug" dessus. Pour cela la solution consiste à faire de la réplication sur un autre serveur. Cette méthode s'applique avec les version >= openldap 2.3 (avant c'était slurpd mais il est devenu obsolète).
Master
sur le master c'est le plus facile. Dans /etc/ldap/slapd.conf ajouter en fin de fichier de conf :
# replication moduleload syncprov overlay syncprov syncprov-checkpoint 50 5 syncprov-sessionlog 50
Redémarrer slapd
/etc/init.d/slapd restart
Slave
Je conseille d'utiliser un user spécifique pour la réplication pour cela créer un user ayant le droit de lecture dans la globalité du ldap.
rootdn "cn=replication,dc=ismaya,dc=fr" syncrepl rid=123 provider=ldap://<ip ou hostname du master>:389 type=refreshAndPersist retry="10 +" searchbase="dc=ismaya,dc=fr" schemachecking=on bindmethod=simple binddn="cn=replication,dc=ismaya,dc=fr" credentials=<votremdp>
rédemarrer slapd et c'est bon !
LDIF
LDIF basic :
Création LDIF du top object :
dn: dc=yanntech,dc=net dc: yanntech objectClass: top objectClass: domain description: Annuaire YannTech
Ajout dans la base LDAP grâce à un fichiers LDIF :
ldapadd -x -v -W -D "cn=admin,dc=yanntech,dc=net" -f mon.ldif
Intégration de Thunderbird en client
Il faut tout d'abord récupérer le schéma mozilla-thunderbird.schema
copier ce fichier dans /etc/ldap/schema Il faut ensuite l'inclure dans le fichier de conf
dans /etc/ldap/slapd.conf :
include /etc/ldap/schema/mozilla-thunderbird.schema