Benutzer-Werkzeuge

Webseiten-Werkzeuge


fh-complete:ldap

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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
 +
 +