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
fh-complete:ldap [2015/07/23 11:05]
oesi
fh-complete:ldap [2018/06/13 17:16]
pollmann gelöscht
Zeile 1: Zeile 1:
 +[[fhc:​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.
 +Bei angabe von mehreren LDAP Servern müssen diese unter doppelten Hochkomma geschrieben werden
 +
 +