Slapd

De DokuWikiExperience.

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



Liens Externes

Wikipédia

Outils personnels