Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
fortgeschrittene:ldap-ssl [2012/03/22 23:08] ingo_wichmann |
fortgeschrittene:ldap-ssl [2018/10/31 00:33] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | Todo: DH-Parameter einbinden | ||
+ | |||
====== SSL / TLS für OpenLDAP ====== | ====== SSL / TLS für OpenLDAP ====== | ||
===== Vorraussetzungen ===== | ===== Vorraussetzungen ===== | ||
Zeile 7: | Zeile 9: | ||
===== Als root Zertifikate, Anträge und Schlüssel an die passenden Stellen kopieren ===== | ===== Als root Zertifikate, Anträge und Schlüssel an die passenden Stellen kopieren ===== | ||
- | ==== Debian ==== | + | ==== Debian (ab 8) ==== |
+ | Paket: ssl-cert (( legt die gruppe ''ssl-cert'' an und setzt passende Berechtigungen für ''/etc/ssl/private'' )) | ||
cd /etc/ssl | cd /etc/ssl | ||
cp /root/server-ssl/servercert.pem certs/ | cp /root/server-ssl/servercert.pem certs/ | ||
cp /root/server-ssl/serverkey.pem private/ | cp /root/server-ssl/serverkey.pem private/ | ||
- | cp /home/ca/ca.*/ca.linuxhotel.de.cert.pem certs/ | + | cp /home/ca/ca.*/cacert.pem certs/ |
chgrp ssl-cert private/serverkey.pem | chgrp ssl-cert private/serverkey.pem | ||
chmod 440 private/serverkey.pem | chmod 440 private/serverkey.pem | ||
- | chmod 444 certs/{server,ca}*cert.pem | + | chmod 444 certs/{server,ca}cert.pem |
- | (( Todo: ist das Paket ''ssl-cert'' hier interessant? )) | + | |
+ | adduser openldap ssl-cert | ||
+ | |||
+ | service slapd restart | ||
===== slapd konfigurieren ===== | ===== slapd konfigurieren ===== | ||
+ | <file ldif olcTls.ldif> | ||
+ | dn: cn=config | ||
+ | changetype: modify | ||
+ | add: olcTlsCaCertificateFile | ||
+ | olcTlsCaCertificateFile: /etc/ssl/certs/cacert.pem | ||
+ | - | ||
+ | add: olcTlsCertificateFile | ||
+ | olcTlsCertificateFile: /etc/ssl/certs/servercert.pem | ||
+ | - | ||
+ | add: olcTlsCertificateKeyFile | ||
+ | olcTlsCertificateKeyFile: /etc/ssl/private/serverkey.pem | ||
+ | </file> | ||
+ | |||
+ | (( | ||
''/etc/ldap/slapd.conf'' : ( Debian 4.0 ) | ''/etc/ldap/slapd.conf'' : ( Debian 4.0 ) | ||
<file> | <file> | ||
- | TLSCACertificateFile /etc/ssl/certs/ca.linuxhotel.de.cert.pem | + | TLSCACertificateFile /etc/ssl/certs/cacert.pem |
TLSCertificateFile /etc/ssl/certs/servercert.pem | TLSCertificateFile /etc/ssl/certs/servercert.pem | ||
TLSCertificateKeyFile /etc/ssl/private/serverkey.pem | TLSCertificateKeyFile /etc/ssl/private/serverkey.pem | ||
</file> | </file> | ||
+ | )) | ||
- | adduser openldap ssl-cert | + | ldapmodify -Y EXTERNAL -H ldapi:/// -f ./olcTls.ldif |
+ | ldapsearch -Y EXTERNAL cn=config | grep -i olcTls | ||
''/etc/default/slapd'' : | ''/etc/default/slapd'' : | ||
Zeile 37: | Zeile 60: | ||
Dienst neu starten: | Dienst neu starten: | ||
- | /etc/init.d/slapd restart | + | service slapd restart |
==== testen ==== | ==== testen ==== | ||
- | openssl s_client -connect YOUR_LDAP_SERVER:636 -showcerts | ||
- | oder | ||
- | openssl s_client -connect YOUR_LDAP_SERVER:389 -showcerts | ||
+ | openssl s_client -connect YOUR_LDAP_SERVER:636 -showcerts -CAfile /home/ca/ca.example.com/cacert.pem | ||
+ | oder | ||
+ | openssl s_client -connect YOUR_LDAP_SERVER:389 -showcerts -starttls ldap -CAfile /home/ca/ca.example.com/cacert.pem | ||
+ | (( erst mit https://github.com/openssl/openssl/pull/2293 verfügbar )) | ||
+ | (sollte u.a. "Verification: OK" ausgeben) | ||
===== Client einrichten ===== | ===== Client einrichten ===== | ||
''$HOME/.ldaprc'' : | ''$HOME/.ldaprc'' : | ||
Zeile 55: | Zeile 80: | ||
</file> | </file> | ||
- | ===== Testen ===== | + | ==== Testen ==== |
ldapsearch -x -W -ZZ | ldapsearch -x -W -ZZ | ||