Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
fh-complete:ldap [2015/07/23 11:05] oesi |
fh-complete:ldap [2017/03/22 10:53] oesi |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | [[fh-complete:server|zurück zur Übersicht]] | ||
+ | |||
====== LDAP ====== | ====== LDAP ====== | ||
FH-Complete unterstützt die Authentifizierung gegen Openldap und Active Directory. | FH-Complete unterstützt die Authentifizierung gegen Openldap und Active Directory. | ||
Zeile 10: | Zeile 12: | ||
<code> | <code> | ||
- | TLS_CACERT /etc/ssl/certs/meincazertifikat.crt | + | BASE dc=example,dc=com |
+ | URI ldaps://ldap.example.com | ||
+ | TLS_CACERT /etc/ldap/meincazertifikat.pem | ||
TLS_REQCERT demand | TLS_REQCERT demand | ||
</code> | </code> | ||
Zeile 28: | Zeile 32: | ||
</code> | </code> | ||
+ | |||
+ | Das CA Zertifikat kann auch global installiert werden. | ||
+ | Dazu wird das Zertifikat zuerst in das Verzeichnis /usr/local/share/ca-certificates/ kopiert. (Base64 Codiert mit Endung .crt) und danach update-ca-certificates aufgerufen. | ||
+ | <code> | ||
+ | cp ca_name.pem /usr/local/share/ca-certificates/ldap-ca.crt | ||
+ | update-ca-certificates | ||
+ | </code> | ||
+ | |||
+ | Wenn dies funktioniert hat, ist das Zertifikat anschließend in der Datei /etc/ssl/certs/ca-certificates.crt enthalten. | ||
+ | Dies kann dann in der ldap.conf über folgenden Eintrag verwendet werden: | ||
+ | <code> | ||
+ | TLS_CACERT /etc/ssl/certs/ca-certificates.crt | ||
+ | </code> | ||
+ | |||
+ | Die Zertifikate können auch unter /usr/share/ca-certificates/ abgelegt werden und mittels | ||
+ | <code> | ||
+ | dpgk-reconfigure ca-certificates | ||
+ | </code> | ||
+ | können die neuen Zertifikate dann über eine Liste aktiviert werden. | ||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
==== ldap_search_ext_s() for user failed][Operations error] ==== | ==== ldap_search_ext_s() for user failed][Operations error] ==== | ||
Zeile 43: | Zeile 66: | ||
<code> | <code> | ||
- | AuthLDAPURL ldap://ad.example.com:3268/dc=academic,dc=local?sAMAccountName?sub | + | AuthLDAPURL ldap://ad.example.com:3268/dc=example,dc=com?sAMAccountName?sub |
</code> | </code> | ||
+ | === SSL Zugriff funktioniert nicht - Mögliche Gründe === | ||
+ | |||
+ | ==== Grundlegendes ==== | ||
+ | LDAP Default Port: 389 | ||
+ | LDAPS Default Port: 636 | ||
+ | LDAP Global Catalog Port: 3268 | ||
+ | LDAPS Global Catalog Port: 3269 | ||
+ | |||
+ | Der Zugriff erfolgt entweder über Port 389 mit anschließendem STARTTLS oder über Port 636. | ||
+ | Eine Kombination aus Port 636 (ldaps) und STARTTLS ist nicht sinnvoll. | ||
+ | |||
+ | ==== Prüfen ob der Server das Zertifikat korrekt liefert: ==== | ||
+ | |||
+ | Mit folgenden Befehl koennen die Zertifikate des Servers angezeigt werden. | ||
+ | <code> | ||
+ | openssl s_client -showcerts -connect ldap.example.com:636 | ||
+ | </code> | ||
+ | |||
+ | ==== Prüfen ob das Zertifikat valide ist ==== | ||
+ | <code> | ||
+ | openssl verify meincazertifikat.pem | ||
+ | </code> | ||
+ | |||
+ | Mit folgendem Befehl können die Informationen des Zertifikats angezeigt werden | ||
+ | <code> | ||
+ | openssl x509 -in meincazertifikat.crt -text -noout | ||
+ | </code> | ||
+ | |||
+ | ==== Datum des Servers prüfen ==== | ||
+ | |||
+ | Beim prüfen des Zertifikats wird das Start und Ende Datum des Zertifikats geprüft. Deshalb ist es wichtig dass da Datum und Uhrzeit korrekt sind | ||
+ | |||
+ | |||
+ | ==== Servername muss korrekt sein ==== | ||
+ | Bei der ldapsearch Abfrage muss der Servername verwendet werden der im Zertifikat angegeben ist. | ||
+ | Eine Verbindung mit IP Adresse oder einem alternativen Namen funktioniert hier nicht | ||
+ | |||
+ | ==== Zertifikat konvertieren (.cer, .crt, .der nach PEM) ==== | ||
+ | |||
+ | Für die Verwendung des Zertifikats in der ldap.conf sollte das Zertifikat im .pem Format vorliegen. | ||
+ | Mit folgendem Befehl kann das Zertifikat von .cer oder .crt nach .pem konvertiert werden | ||
+ | <code> | ||
+ | openssl x509 -inform der -in meincazertifikat.crt -out meincazertifikat.pem | ||
+ | </code> | ||
==== Testen des LDAP Zugriffs auf der Commandline ==== | ==== Testen des LDAP Zugriffs auf der Commandline ==== | ||
Zeile 76: | Zeile 143: | ||
Sollte der LDAP Server einen Bind User benötigen kann folgender Befehl verwendet werden: | Sollte der LDAP Server einen Bind User benötigen kann folgender Befehl verwendet werden: | ||
<code> | <code> | ||
- | ldapsearch -LLL -x -D "cn=administrator,dc=academic,dc=local" -W -H ldap://ldap.example.com:389 "samaccountname=testuser" | + | ldapsearch -LLL -x -D "cn=administrator,dc=example,dc=com" -W -H ldap://ldap.example.com:389 "samaccountname=testuser" |
</code> | </code> | ||
+ | Mit dem Parameter "-d 99" kann der Debug Modus gesetzt werden damit zusätzliche Informationen und ggf Fehlermeldungen angezeigt werden | ||
==== Samba 4 - Cheatsheet ==== | ==== Samba 4 - Cheatsheet ==== | ||
Zeile 107: | Zeile 175: | ||
Weitere Funktionen | Weitere Funktionen | ||
[[https://www.samba.org/samba/docs/man/manpages/samba-tool.8.html]] | [[https://www.samba.org/samba/docs/man/manpages/samba-tool.8.html]] | ||
+ | |||
+ | ===== Verwendung mehrerer LDAP-Server ===== | ||
+ | |||
+ | Es ist möglich 2 LDAP Server zu verwenden. | ||
+ | Dazu wird im Config der LDAP2_SERVER gesetzt | ||
+ | |||
+ | Im .htaccess File werden die LDAPServer mit Leerzeichen getrennt angegeben: | ||
+ | <code> | ||
+ | AuthLDAPURL "ldap://ldap.example.com ldap2.example.com/ou=People,dc=oesi,dc=org?uid?one?objectclass=posixAccount" | ||
+ | </code> | ||
+ | |||
+ | Der zweite Eintrag hat kein ldap:\/\/ | ||
+ | Die Filter werden nur beim 2. Eintrag angegeben. Unterschiedliche Filter sind nicht möglich | ||
+ | |||
+ |