<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.irenala.edu.mg/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki.irenala.edu.mg/index.php?action=history&amp;feed=atom&amp;title=OpenLDAP</id>
		<title>OpenLDAP - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.irenala.edu.mg/index.php?action=history&amp;feed=atom&amp;title=OpenLDAP"/>
		<link rel="alternate" type="text/html" href="https://wiki.irenala.edu.mg/index.php?title=OpenLDAP&amp;action=history"/>
		<updated>2026-06-01T22:06:50Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>//wiki.irenala.edu.mg/index.php?title=OpenLDAP&amp;diff=4329&amp;oldid=prev</id>
		<title>Santatra : Page créée avec « == Description du serveur == * OS: CentOS 7 x86_64 * Outils principaux: OpenLDAP et OpenSSL == Installatio et configuration ==  yum install openldap-servers openldap-clien... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.irenala.edu.mg/index.php?title=OpenLDAP&amp;diff=4329&amp;oldid=prev"/>
				<updated>2015-12-21T06:14:33Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « == Description du serveur == * OS: CentOS 7 x86_64 * Outils principaux: OpenLDAP et OpenSSL == Installatio et configuration ==  yum install openldap-servers openldap-clien... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Description du serveur ==&lt;br /&gt;
* OS: CentOS 7 x86_64&lt;br /&gt;
* Outils principaux: OpenLDAP et OpenSSL&lt;br /&gt;
== Installatio et configuration ==&lt;br /&gt;
 yum install openldap-servers openldap-clients rsyslog&lt;br /&gt;
vim /etc/sysconfig/slapd&lt;br /&gt;
 SLAPD_URLS=&amp;quot;ldapi:/// ldap:///&amp;quot;&lt;br /&gt;
 SLAPD_OPTIONS=&amp;quot;-4&amp;quot;&lt;br /&gt;
* Configuration de rsyslog:&lt;br /&gt;
vim /etc/rsyslog.conf&lt;br /&gt;
 # Send slapd(8c) logs to /var/log/slapd.log&lt;br /&gt;
 if $programname == 'slapd' then /var/log/slapd.log&lt;br /&gt;
  &amp;amp; ~&lt;br /&gt;
 systemctl restart rsyslog.service&lt;br /&gt;
* Définition du mot de passe '''root''' pour la configuration:&lt;br /&gt;
vim /root/LDAP/olcRootPW.ldif&lt;br /&gt;
 dn: olcDatabase={0}config,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 replace: olcRootPW&lt;br /&gt;
 olcRootPW: {SSHA}69iaXumzEio/JQTg1DOni/tnzsZ0FYCf&lt;br /&gt;
* Application de la configuration et vérification:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/olcRootPW.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b cn=config &amp;quot;(objectclass=olcGlobal)&amp;quot;&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b olcDatabase={0}config,cn=config&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b olcDatabase={-1}frontend,cn=config&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b olcDatabase={1}monitor,cn=config&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b olcDatabase={2}hdb,cn=config&lt;br /&gt;
* Déficnition des bases de données:&lt;br /&gt;
vim /root/LDAP/BASE.ldif&lt;br /&gt;
 dn: olcDatabase={1}monitor,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 replace: olcAccess&lt;br /&gt;
 olcAccess: {0}to * by dn.base=&amp;quot;gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth&amp;quot; read by dn.base=&amp;quot;cn=admin,dc=mg&amp;quot; read by * none&lt;br /&gt;
 -&lt;br /&gt;
 dn: olcDatabase={2}hdb,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 replace: olcSuffix&lt;br /&gt;
 olcSuffix: dc=mg&lt;br /&gt;
 -&lt;br /&gt;
 dn: olcDatabase={2}hdb,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 replace: olcRootDN&lt;br /&gt;
 olcRootDN: cn=admin,dc=mg&lt;br /&gt;
* Application:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/BASE.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b cn=config | grep -b1 cn=admin&lt;br /&gt;
* Définition du mot de pass '''administrateur''':&lt;br /&gt;
vim /root/LDAP/admin_olcRootPW.ldif&lt;br /&gt;
 dn: olcDatabase={2}hdb,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: olcRootPW&lt;br /&gt;
 olcRootPW: {SSHA}moVXokSVz9/pcZpdyJ0EYlzutrnt4iK1&lt;br /&gt;
* Application:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/admin_olcRootPW.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b olcDatabase={2}hdb,cn=config&lt;br /&gt;
* Paramétrage supplémentaire:&lt;br /&gt;
vim /root/LDAP/GLOBAL_olcIdleTimeout.ldif&lt;br /&gt;
 dn: cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: olcIdleTimeout&lt;br /&gt;
 olcIdleTimeout: 15&lt;br /&gt;
* Application:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/GLOBAL_olcIdleTimeout.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b cn=config &amp;quot;(objectclass=olcGlobal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Configuration de TLS ==&lt;br /&gt;
* Modification de l'expiration du CA:&lt;br /&gt;
vim /etc/pki/tls/misc/CA&lt;br /&gt;
 #CADAYS=&amp;quot;-days 1095&amp;quot;    # 3 years&lt;br /&gt;
 CADAYS=&amp;quot;-days 30660&amp;quot;    # 2015 - 2099&lt;br /&gt;
* Création d'un nouveau CA:&lt;br /&gt;
 /etc/pki/tls/misc/CA -newca&lt;br /&gt;
 ls -la /etc/pki/CA/*&lt;br /&gt;
* Modification de l'expiration du certificat:&lt;br /&gt;
vim /etc/pki/tls/openssl.cnf&lt;br /&gt;
 # default_days = 365                   # how long to certify for&lt;br /&gt;
 default_days   = 7300                  # 2015 - 2025&lt;br /&gt;
* Génération des différentes clés:&lt;br /&gt;
 cd /root/LDAP&lt;br /&gt;
 /etc/pki/tls/misc/CA -newreq&lt;br /&gt;
 ls -la ./new*.pem&lt;br /&gt;
 /etc/pki/tls/misc/CA -sign&lt;br /&gt;
 ls -la ./new*.pem&lt;br /&gt;
 openssl rsa &amp;lt; ./newkey.pem &amp;gt; /etc/pki/CA/key.pem&lt;br /&gt;
 ls -la /etc/pki/CA/*key*&lt;br /&gt;
 mkdir /etc/pki/openldap&lt;br /&gt;
 mkdir /etc/pki/openldap/certs&lt;br /&gt;
 mkdir /etc/pki/openldap/private&lt;br /&gt;
* Installation des certificats:&lt;br /&gt;
 cp -a /etc/pki/CA/key.pem /etc/pki/openldap/private/key.pem&lt;br /&gt;
 cp -a ./newcert.pem /etc/pki/openldap/certs/cert.pem&lt;br /&gt;
 cp -a /etc/pki/CA/cacert.pem /etc/pki/openldap/certs/CAcert.pem&lt;br /&gt;
* Application des droits nécessaires:&lt;br /&gt;
 chown root.ldap /etc/pki/openldap/private/key.pem&lt;br /&gt;
 chown root.ldap /etc/pki/openldap/certs/cert.pem&lt;br /&gt;
 chown root.ldap /etc/pki/openldap/certs/CAcert.pem&lt;br /&gt;
 chmod 640 /etc/pki/openldap/private/key.pem&lt;br /&gt;
 chmod 640 /etc/pki/openldap/certs/cert.pem&lt;br /&gt;
 chmod 640 /etc/pki/openldap/certs/CAcert.pem&lt;br /&gt;
 ls -la /etc/pki/openldap/*&lt;br /&gt;
 rm /etc/pki/CA/key.pem ./new*.pem&lt;br /&gt;
* Configuration de la partie client:&lt;br /&gt;
vim /etc/openldap/ldap.conf&lt;br /&gt;
 BASE    dc=irenala,dc=edu,dc=mg&lt;br /&gt;
 URI     ldap://ldap.irenala.edu.mg &lt;br /&gt;
 TLS_CACERTDIR   /etc/openldap/certs&lt;br /&gt;
 TLS_REQCERT     allow&lt;br /&gt;
 # Turning this off breaks GSSAPI used with krb5 when rdns = false&lt;br /&gt;
 SASL_NOCANON    on&lt;br /&gt;
* Paramétrage du serveur pour le support TLS:&lt;br /&gt;
vim /root/LDAP/tls-config.ldif&lt;br /&gt;
 dn: cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: olcTLSCipherSuite&lt;br /&gt;
 olcTLSCipherSuite: HIGH&lt;br /&gt;
 -&lt;br /&gt;
 replace: olcTLSCertificateFile&lt;br /&gt;
 olcTLSCertificateFile: /etc/pki/openldap/certs/cert.pem&lt;br /&gt;
 -&lt;br /&gt;
 replace: olcTLSCertificateKeyFile&lt;br /&gt;
 olcTLSCertificateKeyFile: /etc/pki/openldap/private/key.pem&lt;br /&gt;
 -&lt;br /&gt;
 add: olcTLSCACertificateFile&lt;br /&gt;
 olcTLSCACertificateFile: /etc/pki/openldap/certs/CAcert.pem&lt;br /&gt;
 -&lt;br /&gt;
 replace: olcTLSProtocolMin&lt;br /&gt;
 olcTLSProtocolMin: 3.1&lt;br /&gt;
* Appication de la configuration:&lt;br /&gt;
 ldapmodify -W -x -D cn=config -f ./tls-config.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b cn=config &amp;quot;(objectclass=olcGlobal)&amp;quot;&lt;br /&gt;
vim /etc/sysconfig/slapd&lt;br /&gt;
 SLAPD_URLS=&amp;quot;ldapi:///   ldap:///   ldaps:///&amp;quot;&lt;br /&gt;
* Test de la configuration:&lt;br /&gt;
 slaptest -u&lt;br /&gt;
* Prise en compte des certificats par le système:&lt;br /&gt;
 tail -n 23 /etc/pki/openldap/certs/CAcert.pem &amp;gt; /etc/pki/ca-trust/source/anchors/CAcert.pem&lt;br /&gt;
 cat /etc/pki/ca-trust/source/anchors/CAcert.pem&lt;br /&gt;
 update-ca-trust&lt;br /&gt;
 head -n 23 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem&lt;br /&gt;
 systemctl restart slapd&lt;br /&gt;
* Vérification:&lt;br /&gt;
 netstat -tulpen | egrep &amp;quot;389|636&amp;quot;&lt;br /&gt;
 openssl s_client -connect ldap.irenala.edu.mg:636 -showcerts -state&lt;br /&gt;
 chown ldap:ldap /etc/openldap/certs/server.key&lt;br /&gt;
 chmod 400 /etc/openldap/certs/server.key&lt;br /&gt;
* Désactivation des accès anonymes:&lt;br /&gt;
vim /root/LDAP/anonymous_bind.ldif&lt;br /&gt;
 dn: cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: olcDisallows&lt;br /&gt;
 olcDisallows: bind_anon&lt;br /&gt;
 -&lt;br /&gt;
 add: olcRequires&lt;br /&gt;
 olcRequires: authc&lt;br /&gt;
* Application de la configuration:&lt;br /&gt;
 ldapmodify -W -x -D cn=config -f /root/LDAP/anonymous_bind.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b cn=config &amp;quot;(objectclass=olcGlobal)&amp;quot;&lt;br /&gt;
* Activation des indexations pour améliorer la performance:&lt;br /&gt;
vim /root/LDAP/DbIndex.ldif&lt;br /&gt;
 dn: olcDatabase={2}bdb,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: olcDbIndex&lt;br /&gt;
 olcDbIndex: objectClass eq,pres&lt;br /&gt;
 olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub&lt;br /&gt;
 olcDbIndex: uidNumber,gidNumber,loginShell eq,pres&lt;br /&gt;
 olcDbIndex: uid,memberUid eq,pres,sub&lt;br /&gt;
* Application des configurations:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/DbIndex.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b olcDatabase={2}bdb,cn=config&lt;br /&gt;
* Mise en place des ACLs pour sécuriser les accès:&lt;br /&gt;
vim /root/LDAP/acl.ldif&lt;br /&gt;
 dn: olcDatabase={2}hdb,cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 replace: olcAccess&lt;br /&gt;
 olcAccess: {0}to attrs=userPassword,shadowLastChange,shadowMax,shadowWarning by self write by dn=&amp;quot;cn=admin,dc=mg&amp;quot; write by dn=&amp;quot;cn=ldapquerier,dc=mg&amp;quot; read by anonymous auth by * none&lt;br /&gt;
 olcAccess: {1}to dn=&amp;quot;cn=admin,dc=mg&amp;quot; by self write by * none&lt;br /&gt;
 olcAccess: {2}to dn=&amp;quot;cn=ldapquerier,dc=mg&amp;quot; by self write by dn=&amp;quot;cn=admin,dc=mg&amp;quot; write by * none&lt;br /&gt;
 olcAccess: {3}to dn.regex=&amp;quot;cn=([^,]+),ou=Group,dc=mg&amp;quot; by self write by dn=&amp;quot;cn=admin,dc=mg&amp;quot; write by dn=&amp;quot;cn=ldapquerier,dc=mg&amp;quot; read by dn.exact,expand=&amp;quot;uid=$1,ou=People,dc=mg&amp;quot; read by * none&lt;br /&gt;
 olcAccess: {4}to dn.regex=&amp;quot;uid=([^,]+),ou=People,dc=mg&amp;quot; by self write by dn=&amp;quot;cn=admin,dc=mg&amp;quot; write by dn=&amp;quot;cn=ldapquerier,dc=mg&amp;quot; read by dn.exact,expand=&amp;quot;uid=$1,ou=People,dc=mg&amp;quot; read by * none&lt;br /&gt;
 olcAccess: {5}to * by self write by dn.base=&amp;quot;cn=admin,dc=mg&amp;quot; write by * read&lt;br /&gt;
* Application et vérification:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/acl.ldif&lt;br /&gt;
 ldapsearch -W -x -D cn=config -b olcDatabase={2}hdb,cn=config&lt;br /&gt;
* Configuration de la génération des traces:&lt;br /&gt;
vim /root/LDAP/olcLogLevel.ldif&lt;br /&gt;
 dn: cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: olcLogLevel&lt;br /&gt;
 olcLogLevel: stats&lt;br /&gt;
* Application de la configuration:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/olcLogLevel.ldif&lt;br /&gt;
* Modification du niveau:&lt;br /&gt;
vim /root/LDAP/olcLogLevel_off.ldif&lt;br /&gt;
 dn: cn=config&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 delete: olcLogLevel&lt;br /&gt;
 olcLogLevel: stats&lt;br /&gt;
 -&lt;br /&gt;
 add: olcLogLevel&lt;br /&gt;
 olcLogLevel: none&lt;br /&gt;
* Application:&lt;br /&gt;
 ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/LDAP/olcLogLevel_off.ldif&lt;/div&gt;</summary>
		<author><name>Santatra</name></author>	</entry>

	</feed>