rhel:ldap-ssl
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
rhel:ldap-ssl [2017/05/02 10:50] – [neu openldap-2.4] jenad | rhel:ldap-ssl [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== php, python und ldap-clients mit tls zum ldapserver ===== | ||
- | |||
- | ==== neu openldap-2.4 ==== | ||
- | |||
- | es gibt einige änderungen bei den tools, u.a. die zert-verwaltung, | ||
- | |||
- | < | ||
- | |||
- | === hinzufügen einer ca zu den vertrauenswürdigen ca's === | ||
- | |||
- | wie gehabt gibt es eine / | ||
- | |||
- | TLS_CACERTDIR / | ||
- | |||
- | dort liegen einige db's, den Inhalt des keystores kann man sich anzeigen lassen: | ||
- | |||
- | < | ||
- | certutil -d / | ||
- | |||
- | Certificate Nickname | ||
- | | ||
- | |||
- | </ | ||
- | |||
- | hinzufügen einer neuen CA4 zu den CA's: | ||
- | |||
- | < | ||
- | certutil -A -d / | ||
- | </ | ||
- | |||
- | gucken ob das neue ca installiert wurde: | ||
- | |||
- | < | ||
- | certutil -d / | ||
- | |||
- | Certificate Nickname | ||
- | | ||
- | |||
- | CA4 CT,, | ||
- | </ | ||
- | |||
- | jetzt klappt die Verbindung mit ldapsearch und TLS: | ||
- | |||
- | ldapsearch -D " | ||
- | |||
- | |||
- | ==== konfiguration redhat linux ==== | ||
- | |||
- | ohne Zertprüfung: | ||
- | |||
- | folgende option zum configfile / | ||
- | |||
- | < | ||
- | |||
- | debug probleme bei php: | ||
- | |||
- | php-option für ldap, die ich vor das erste ldap-connect eingefügt habe: | ||
- | |||
- | < | ||
- | |||
- | in der logdatei vom webserver findet sich dann folgendes (wenn TLS_REQCERT noch nicht auf ' | ||
- | |||
- | < | ||
- | TLS trace: SSL_connect: | ||
- | TLS trace: SSL_connect: | ||
- | TLS trace: SSL_connect: | ||
- | TLS certificate verification: | ||
- | subject: / | ||
- | Zentrum/ | ||
- | issuer: / | ||
- | Schmalkalden/ | ||
- | schmalkalden.de | ||
- | TLS certificate verification: | ||
- | certificate | ||
- | </ | ||
- | |||
- | |||
- | Schalter Z für TLS! | ||
- | |||
- | ==== Installation Wurzelzertifikat ==== | ||
- | |||
- | Prüfe die folgenden Einstellungen in / | ||
- | < | ||
- | # Legt das Verzeichnis fest, indenen nach CA Zertifikaten gesucht wird | ||
- | TLS_CACERTDIR / | ||
- | # Legt fest, das ohne ein Zertifikat, oder bei falschem Zertifkat die Verbindung abgebrochen wird | ||
- | TLS_REQCERT | ||
- | |||
- | Das iuk2ca.crt-Zertifikat muss nach / | ||
- | kopiert werden. | ||
- | Mit | ||
- | |||
- | <note warning> | ||
- | |||
- | < | ||
- | openssl x509 -subject_hash -noout -in iukca2.crt</ | ||
- | |||
- | wenn -subject_hash nicht unterstützt wird dann mit | ||
- | |||
- | < | ||
- | | ||
- | |||
- | wird der Subject-Hash angezeigt, z.B. 3e4202dc, mit | ||
- | |||
- | < | ||
- | ln -s iukca2.crt 3e4202dc.0</ | ||
- | |||
- | wird ein entsprechender Symlink angelegt. | ||
- | |||
- | ACHTUNG: punkt-null nicht vergessen, der symlink lautet also < | ||
- | |||
- | Nun kann man mit | ||
- | |||
- | < | ||
- | openssl s_client -connect ldap.fh-schmalkalden.de: | ||
- | |||
- | prüfen, ob eine SSL-Verbindung hergestellt werden kann. | ||
- | Dann kann mit | ||
- | |||
- | < | ||
- | | ||
- | |||
- | eine Abfrage erfolgen (natuerlich eine sinnvolle uid einsetzen). | ||
- | |||
- | erfolgeich, nachdem ich das " | ||
- | 15:07, 25. Okt 2007 (CEST) | ||
- | |||
- | aber python: | ||
- | |||
- | < | ||
- | | ||
- | |||
- | d.h. wir müssen mit dem namen connecten der im zert drinsteht, also in diesem fall mit postfix.fh-schmalkalden.de | ||
- | > | ||
- | |||
- | < | ||
- | >>> | ||
- | >>> | ||
- | | ||
- | |||
- | Bingo!! | ||
- | |||
- | ==== quellcode php ==== | ||
- | |||
- | Bei php muß der apache neu gestartet werden. Die Paramater in / | ||
- | |||
- | |||
- | <code php> | ||
- | <?php | ||
- | # zur fehlersuche: | ||
- | # ldap_set_option(NULL, | ||
- | |||
- | $ds=ldap_connect($ldaphost); | ||
- | # da ist so im ldap-connect, | ||
- | # host nicht erreichbar ist, deshalb noch ein anonymer bind hinterher: | ||
- | $rr=ldap_bind($ds); | ||
- | # echo ldap_error($ds); | ||
- | |||
- | # nur wenn bind oben erfolgreich (server ist erreichbar): | ||
- | if ($rr) { | ||
- | ## tls einschalten: | ||
- | if (!ldap_set_option($ds, | ||
- | | ||
- | supported.", | ||
- | } | ||
- | if (!ldap_start_tls($ds)) { | ||
- | error_log (" | ||
- | } | ||
- | #echo ldap_error($ds); | ||
- | # mache irgendwas ...... | ||
- | # programmcode .... | ||
- | # bool ldap_unbind ( resource link_identifier ) | ||
- | if (!ldap_unbind($ds)) { | ||
- | echo " | ||
- | } | ||
- | |||
- | } | ||
- | else { | ||
- | |||
- | echo " | ||
- | } | ||
- | ?> | ||
- | </ | ||
- | |||
- | ==== LDAP-Clients unter Ubuntu 16.04.2 LTS ==== | ||
- | |||
- | Hier ist alles ein bißchen anders, sicher ähnlich auch bei entsprechenden Debian-Versionen. Ich beschreibe den Fall des verschlüsselten ldapsearch zum SunDirectoryServer 6 auf der zefi. Das Paket ldap-utils und seine Voraussetzungen sind zwar auch Ver. 2.4, benötigen aber keine Certutil-Datenbanken. Hier sind die relevanten LDAP-Pakete und die Abhängigkeiten: | ||
- | |||
- | < | ||
- | $ dpkg -l | grep ldap | ||
- | ii ldap-auth-client | ||
- | ii ldap-auth-config | ||
- | ii ldap-utils | ||
- | ii libaprutil1-ldap: | ||
- | ii libldap-2.4-2: | ||
- | ii libldap2-dev: | ||
- | ii libnss-ldap: | ||
- | ii libpam-ldap: | ||
- | |||
- | $ apt-cache depends ldap-utils | ||
- | ldap-utils | ||
- | Depends: libc6 | ||
- | Depends: libldap-2.4-2 | ||
- | Depends: libsasl2-2 | ||
- | Conflicts: < | ||
- | Conflicts: < | ||
- | Conflicts: < | ||
- | Recommends: libsasl2-modules | ||
- | | ||
- | Suggests: libsasl2-modules-gssapi-heimdal | ||
- | Replaces: < | ||
- | ldap-utils | ||
- | Replaces: < | ||
- | Replaces: slapd | ||
- | </ | ||
- | |||
- | Die globale Konfigurationsdatei ist **/ | ||
- | |||
- | < | ||
- | tls_cacert / | ||
- | </ | ||
- | |||
- | Verschlüsseltes ldapsearch mit Anmeldung: | ||
- | |||
- | < | ||
- | $ ldapsearch -H ldaps:// | ||
- | </ | ||
- | |||
- | Hier der access-Log bei Verschlüsselung: | ||
- | < | ||
- | CONN=5876 | ||
- | [28/ | ||
- | [28/ | ||
- | [28/ | ||
- | [28/ | ||
- | [28/ | ||
- | [28/ | ||
- | [28/ | ||
- | [28/ | ||
- | [28/ | ||
- | </ | ||
- | |||
- | |||
- | Unverschlüsseltes ldapsearch mit Anmeldung ohne das **s**: | ||
- | |||
- | < | ||
- | $ ldapsearch -H ldap:// | ||
- | </ | ||
- | |||
- | ==== Name Service Switch unter Ubuntu 16.04.2 LTS ==== | ||
- | |||
- | Zuerst muss der client wissen, wofür welche Services genutzt werden sollen, hier werden speziell die Nutzer- und Gruppendaten in der Datei **/ | ||
- | |||
- | < | ||
- | ... | ||
- | passwd: | ||
- | group: | ||
- | ... | ||
- | </ | ||
- | |||
- | Beschreibung der LDAP-Servers in **/ | ||
- | |||
- | < | ||
- | base ou=in, | ||
- | uri ldaps:// | ||
- | ldap_version 3 | ||
- | binddn | ||
- | bindpw PASSWORD | ||
- | rootbinddn cn=ivlbild, | ||
- | pam_password md5 | ||
- | tls_cacertfile / | ||
- | </ | ||
- | |||
- | In **/ | ||
- | ou=in, | ||
- | |||
- | < | ||
- | root@ivlbild: | ||
- | ivlbild login: i_gast00 | ||
- | Password: | ||
- | Last login: Thu Apr 27 16:13:37 CEST 2017 on pts/0 | ||
- | Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-75-generic x86_64) | ||
- | .... | ||
- | No directory, logging in with HOME=/ | ||
- | i_gast00@ivlbild:/ | ||
- | Abgemeldet | ||
- | root@ivlbild: | ||
- | </ | ||
- | |||
- | |||
- | |||
rhel/ldap-ssl.1493715006.txt.gz · Zuletzt geändert: 2024/08/07 13:35 (Externe Bearbeitung)