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 [2016/08/03 15:00]
oesi
— (aktuell)
Zeile 1: Zeile 1:
-====== LDAP ====== 
-FH-Complete unterstützt die Authentifizierung gegen Openldap und Active Directory. 
  
-Um eine Verbindung mit dem LDAP Server herstellen zu können muss das [[https://​github.com/​FH-Complete/​FHC-AddOn-LDAP|LDAP Addon]] installiert sein. 
- 
- 
-===== Einstellungen ===== 
-Falls eine Verschlüsselte Verbindung zum LDAP Server möglich ist, muss in der Datei 
-/​etc/​ldap/​ldap.conf das entsprechende Zertifikat eingetragen werden wenn dieses selbst signiert ist oder nicht öffentlich bekannt. 
- 
-<​code>​ 
-BASE dc=example,​dc=com 
-URI ldaps://​ldap.example.com 
-TLS_CACERT /​etc/​ldap/​meincazertifikat.pem 
-TLS_REQCERT demand 
-</​code>​ 
- 
-Zu Testzwecken und zur Fehlersuche kann es sinnvoll sein, die Zertifikatsprüfung zu deaktivieren:​ 
- 
-<​code>​ 
-TLS_REQCERT never 
-</​code>​ 
-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: 
- 
-<​code>​ 
-LDAPVerifyServerCert off 
-</​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 ===== 
-==== ldap_search_ext_s() for user failed][Operations error] ==== 
- 
-<​code>​ 
-auth_ldap authenticate:​ user foo authentication failed; URI /secret [ldap_search_ext_s() for user failed][Operations error] 
-</​code>​ 
- 
-Falls dieser Fehler Auftritt muss folgender Eintrag in der Datei /​etc/​ldap/​ldap.conf hinzugefügt werden: 
-<​code>​ 
-REFERRALS off 
-</​code>​ 
- 
-Wird auf einen Active Directory zugegriffen muss in diesem Fall in der .htaccess Datei in der AuthLDAPURL der Port 3268 angegeben werden: 
- 
-<​code>​ 
-AuthLDAPURL ldap://​ad.example.com:​3268/​dc=example,​dc=com?​sAMAccountName?​sub 
-</​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 ==== 
- 
-Sollte der Login im FH-Complete nicht funktionieren,​ kann der Zugriff auf den LDAP Server von der Commandline geprüft werden. 
- 
-Dazu werden die LDAP-Utils benötigt: 
-<​code>​ 
-apt-get install ldap-utils 
-</​code>​ 
- 
-Danach kann der Zugriff auf den LDAP Server und der Login geprüft werden: 
- 
-Zugriff ohne Verschlüsselung:​ 
-<​code>​ 
-ldapsearch -LLL -x -H ldap://​ldap.example.com:​389 "​samaccountname=testuser"​ 
-</​code>​ 
- 
-Zugriff mit STARTTLS Verschlüsselung 
-<​code>​ 
-ldapsearch -LLL -x -ZZ -H ldap://​ldap.example.com:​389 "​samaccountname=testuser"​ 
-</​code>​ 
- 
-Zugriff mit SSL Verschlüsselung 
-<​code>​ 
-ldapsearch -LLL -x -H ldaps://​ldap.example.com:​636 "​samaccountname=testuser"​ 
-</​code>​ 
- 
- 
-Sollte der LDAP Server einen Bind User benötigen kann folgender Befehl verwendet werden: 
-<​code>​ 
-ldapsearch -LLL -x -D "​cn=administrator,​dc=example,​dc=com"​ -W -H ldap://​ldap.example.com:​389 "​samaccountname=testuser"​ 
-</​code>​ 
- 
-Mit dem Parameter "-d 99" kann der Debug Modus gesetzt werden damit zusätzliche Informationen und ggf Fehlermeldungen angezeigt werden 
- 
-==== Samba 4 - Cheatsheet ==== 
-Gruppen anlegen auf der Commandline 
-<​code>​ 
-samba-tool group add teacher 
-</​code>​ 
-User anlegen auf der Commandline 
-<​code>​ 
-samba-tool user add fhcomplete 
-</​code>​ 
-User zu Gruppen hinzufügen 
-<​code>​ 
-samba-tool group addmembers teacher fhcomplete 
-</​code>​ 
-Passworteinstellungen prüfen 
-<​code>​ 
-samba-tool domain passwordsettings show 
-</​code>​ 
-Standardmäßig darf das Passwort nur alle 24 Stunden geändert werden. Diese Einschränkung lässt sich deaktivieren:​ 
-<​code>​ 
-samba-tool domain passwordsettings set --min-pwd-age=0 
-</​code>​ 
-Passworthistorie deaktivieren 
-<​code>​ 
-samba-tool domain passwordsettings set --history-length=0 
-</​code>​ 
-Weitere Funktionen 
-[[https://​www.samba.org/​samba/​docs/​man/​manpages/​samba-tool.8.html]] 
/var/www/wiki/data/attic/fh-complete/ldap.1470229208.txt.gz · Zuletzt geändert: 2019/08/13 13:49 (Externe Bearbeitung)