Todo: DH-Parameter einbinden ====== SSL / TLS für OpenLDAP ====== ===== Vorraussetzungen ===== * [[ldap|OpenLDAP]] installiert * [[ssl| SSL Zertifikat]] erstellt * Korrektes [[bind|DNS]] * Korrekte [[zeitserver|Uhrzeiten]] auf allen Rechnern ===== Als root Zertifikate, Anträge und Schlüssel an die passenden Stellen kopieren ===== ==== Debian (ab 8) ==== Paket: ssl-cert (( legt die gruppe ''ssl-cert'' an und setzt passende Berechtigungen für ''/etc/ssl/private'' )) adduser openldap ssl-cert sudo -u openldap -g openldap openssl rsa -in /etc/ssl/private/ssl-cert-snakeoil.key -noout -check -> ''RSA key ok'' sudo -u openldap -g openldap openssl x509 -in /etc/ssl/certs/ssl-cert-snakeoil.pem -noout -subject -> ''subject=CN=vm1.z45.internal'' service slapd restart ===== slapd konfigurieren ===== dn: cn=config changetype: modify add: olcTlsCaCertificateFile olcTlsCaCertificateFile: /etc/ssl/certs/ssl-cert-snakeoil.pem - add: olcTlsCertificateFile olcTlsCertificateFile: /etc/ssl/certs/ssl-cert-snakeoil.pem - add: olcTlsCertificateKeyFile olcTlsCertificateKeyFile: /etc/ssl/private/ssl-cert-snakeoil.key (( ''/etc/ldap/slapd.conf'' : ( Debian 4.0 ) TLSCACertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem TLSCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem TLSCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key )) ldapmodify -Y EXTERNAL -H ldapi:/// -f ./olcTls.ldif -> ''modifying entry "cn=config"'' ldapsearch -QY EXTERNAL -LLL cn=config olcTLSCACertificateFile olcTLSCertificateFile olcTLSCertificateKeyFile ''/etc/default/slapd'' : SLAPD_SERVICES="ldap:/// ldaps:/// ldapi:///" Konfiguration prüfen: slaptest Dienst neu starten: service slapd restart ==== testen ==== 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 ===== scp nutzer@192.168.245.101:/etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/certs/vm1.z45.intern.cert.pem ''$HOME/.ldaprc'' : BASE dc=villa,dc=local BINDDN cn=admin,dc=villa,dc=local URI ldap://ldap1.villa.local TLS_CACERT /etc/ssl/certs/ca.linuxhotel.de.cert.pem ==== Testen ==== ldapsearch -x -W -ZZ ===== Dokumentation ===== * [[ http://www.openldap.org/doc/admin23/tls.html | OpenLDAP und SSL/TLS ]]