Dies ist eine alte Version des Dokuments!


Authentifikation mit technischem User beim OpenLDAP Servers unter CentOS 7.x

OpenLDAP Logo

Als wesentliche Erweiterung unseres Open-LDAP-Servers werden wir nun unseren Daemon so konfigurieren, dass keine anonymen LDAP Abfragen mehr zugelassen werden, sondern hierzu einen speziellen technischen User verwenden.

In abgesicherten Umgebungen wird der Zugriff auf den LDAP-Server nicht von jedermann ohne Passwort, auch anonymous bind genannt unterbunden. Stattdessen muss ich der Klient bei den Anfragen eines technischen Users bedienen, der auch ein Passwort benutzt, welches dem LDAP-Server bekannt ist.

Bei diesem Anwendungs- und Konfigurationsbeispiel gehen wir von einem bereits installiertem und konfiguriertem OpenLDAP-Server aus, wie in den Kapiteln I - III der Beschreibung zum OpenLDAP Server unter CentOS 7.x beschrieben.

Im ersten Schritt werden wir uns nun einen eigenen speziellen technischen User anlegen, mit dem später die Anfragen an unseren OpenLDAp-Server gerichtet werden sollen.

Für die Befüllung mit Nutzdaten, die aus Distinguished Names (DN) und einem eindeutigen Objektnamen bestehen, müssen hierzu in den Directory Information Tree (DIT), einer hierarchischen Baumstruktur eingefügt werden.

Wie jedes andere Objekt in unserem Open-LDAP-Verzeichnis werden wir für den technischen User, der für die Anmeldung am Server (bind) benötigt und verwendet werden wird, ein Objekt mit dem Common Name (CN) Technischer_User und den Domain Components(DC) nausch und org für die Domäne nausch.org im DIT hinterlegen.

Wie auch schon beim Erstellen des Master-Passwortes werden wir nun für den Bind-User ein separates Passwort vergeben und so den Zugriff absichern.

Zur Generierung dieses Passwortes mit der Verschlüsselungsmethode SSHA - entsprechend einem SHA-1 Algorithmus (FIPS 160-1), verwenden wir wieder das Programm /usr/sbin/slappasswd mit folgendem Befehl aufgerufen:

 # /usr/sbin/slappasswd -h {SSHA}
 New password: 
 Re-enter new password: 
 {SSHA}YpKKoS1lV1AdAX1StGe1lTembvZW4XagnkLdWZ2Y4Xkw

Dieses gekryptete Passwort hinterlegen wir nun in einer passenden ldif-Datei.

 # vim /etc/openldap/ldif/cn\=config_bindUSER.ldif
/etc/openldap/ldif/cn=config_bindUSER.ldif
# Django : 2015-07-17
# Anlegen eines technischen Users für die Anmeldung am Server (bind) 
# https://dokuwiki.nausch.org/doku.php/centos:ldap_c7:tecbind#konfiguration
 
dn: cn=Technischeruser,dc=nausch,dc=org
cn: Technischeruser
objectClass: organizationalRole
objectClass: simpleSecurityObject
objectClass: top
userPassword: {SSHA}YpKKoS1lV1AdAX1StGe1lTembvZW4XagnkLdWZ2Y4Xkw

Zum Importieren unseres DITs verwenden wir nun folgenden Aufruf. Das Passwort nach dem wir hier gefragt werden, haben wir im Kapitel Manager-Passwort bei der Installation unseres OpenLDAP Server unter CentOS 7.x angelegt.

 # ldapadd -W -x -D cn=Manager,dc=nausch,dc=org -f /etc/openldap/ldif/cn\=config_bindUSER.ldif
Enter LDAP Password:
adding new entry "cn=Technischeruser,dc=nausch,dc=org"

Anschließend überprüfen wir, ob die Daten unseres unser Technischeruser im DIT richtig angelegt wurde.

 # ldapsearch -W -x -b "dc=nausch,dc=org" "cn=Technischeruser" -D \
              "cn=Technischeruser,dc=nausch,dc=org" -LLL \
              -H ldaps://openldap.dmz.nausch.org
Enter LDAP Password:
dn: cn=Technischeruser,dc=nausch,dc=org
cn: Technischeruser
objectClass: organizationalRole
objectClass: simpleSecurityObject
objectClass: top
userPassword:: YpKKoS1lV1AdAX1StGe1lTembvZW4XagnkLdWZ2Y4Xkw

Im Logfile des slapd-Daemon wird unsere erfolgreiche Abfrage entsprechend protokolliert.

 # less /var/log/ldap.log
Jul 17 09:43:05 vml000037 slapd[14264]: conn=1041 fd=13 ACCEPT from IP=10.0.0.37:38446 (IP=0.0.0.0:636)
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 fd=13 TLS established tls_ssf=128 ssf=128
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 op=0 BIND dn="cn=Technischeruser,dc=nausch,dc=org" method=128
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 op=0 BIND dn="cn=technischeruser,dc=nausch,dc=org" mech=SIMPLE ssf=0
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 op=0 RESULT tag=97 err=0 text=
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 op=1 SRCH base="dc=nausch,dc=org" scope=2 deref=0 filter="(cn=technischer_user)"
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 op=2 UNBIND
Jul 17 09:43:06 vml000037 slapd[14264]: conn=1041 fd=13 closed

In unserer abgesicherten Umgebung sollen ausschließlich authentifizierte Abfragen und Zugriffe auf unseren OpenLADP-Server gestattet sein. Hierzu haben wir uns im vorherigem Abschnitt eigens einen technischen Useraccount angelegt.

Damit unser Open-LDAP Daemon keine anonymen Anfragen, oder genauer gesagt keinen zur Verfügung stellen wird, sind nachfolgende Ergänzungen an unserer Konfiguration notwendig. Hierzu werden wir die Directive olcDisallows auf bind_anon und die Directive olcRequires auf authc setzen.

FIXME

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • centos/ldap_c7/tecbind.1437122833.txt.gz
  • Zuletzt geändert: 17.07.2015 08:47.
  • von django