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/06/24 12:47]
krondraf [Samba 4 - Cheatsheet]
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 20: Zeile 24:
 </​code>​ </​code>​
 Dies betrifft jedoch nur die PHP ldap Funktionen und die Commandline Funktionen (zB ldap_search) Dies betrifft jedoch nur die PHP ldap Funktionen und die Commandline Funktionen (zB ldap_search)
 +Die Änderungen in der ldap.conf sind für die Commandline Tools sofort wirksam. Damit diese Konfiuration von Apache auch übernommen wird, muss der Apache neu gestartet werden.
 +
 Die Authentifizierung über .htaccess prüft das Zertifikat weiterhin. Um diese Prüfung zu deaktivieren wird in der Datei /​etc/​apache2/​mods-enabled/​ldap.conf foglendes gesetzt: Die Authentifizierung über .htaccess prüft das Zertifikat weiterhin. Um diese Prüfung zu deaktivieren wird in der Datei /​etc/​apache2/​mods-enabled/​ldap.conf foglendes gesetzt:
  
Zeile 26: 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 41: 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 74: 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 105: 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
 +
 +