Geändert: LDAP Admin-Benutzer und ReadOnly-Benutzer
Um externe oder interne Dienste über das LDAPS-Protokoll einzubinden, gibt es seit Puppet-Version 1.3.22 neben dem sogenannten LDAP-Admin Konto einen neu hinzugefügten ReadOnly-Benutzer zur Anmeldung am integrierten OpenLDAP-Verzeichnisdienst.
In diesem Artikel erfahren Sie, wo Sie die Benutzernamen & Kennwörter der zwei Benutzer finden und welches Konto sich für welches Vorhaben am besten eignen.
LDAP-Admin Benutzer
Nutzungsgebiet:
Der LDAP-Admin Benutzer ist mit äußerster Vorsicht einzusetzen, da dieser einen beinahe uneingeschränkten (Schreib-)Zugriff auf den Inhalt des OpenLDAP-Verzeichnisdienst sowie die Nutzerattribute besitzt. Daher sollte der Benutzer möglichst nur intern durch LogoDIDACT-integrierte Dienste zum Einsatz kommen.
Sollten die Daten des LDAP-Admins in unbefugte Hände gelangen, stellt dies ein massives datenschutz- und sicherheitstechnisches Problem dar. Von einem externen Gebrauch des Benutzerkontos ist daher strengstens abzuraten!
Benutzername & Kennwort
Benutzername
Der Benutzername des LDAP Admins lautet:
Attribute des Benutzernamens
Die BaseDN als Einstiegspunkt zum LDAP-Verzeichnisdienst kann über ein zusätzliches Programm ausgelesen werden, z.B. über das freie Tool LDAP Admin. In diesem Beispiel lautet die BaseDN dc=schule,dc=local. Dies kann von Installation zu Installation abweichen und wird durch die intern verwendete DNS Domain bestimmt, hier im Beispiel handelt es sich um den Standardwert.
In diesem Beispiel ergibt sich der vollständige Benutzername (sogenannter Distinguished Name des Benutzerkontos) durch Anfügen der BaseDN:
Kennwort
Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
Optional kann man das Passwort (sowie die gültige BaseDN als Suffix des Benutzernamens) auch mit folgendem Befehl unter dem Punkt "Credentials" einsehen:
LDAP-ReadOnly (ldap-ro) Benutzer
Nutzungsgebiet:
Der LDAP-ReadOnly Benutzer ist für die Verwendung von externen Diensten/Anbindungen gedacht.
Mögliche Nutzungsszenarien wären unter anderem die Anbindung von extern gehosteten Webdiensten (z.B. Moodle, WebUntis oder Nextcloud) an die LogoDIDACT-integrierte Benutzerdatenbank über das LDAP-Protokoll.
Benutzername & Passwort:
Benutzername
Relevant für den Zugriff von Außen wäre folgender Benutzername:
Attribute des Benutzernamens
Die BaseDN als Einstiegspunkt zum LDAP-Verzeichnisdienst kann über ein zusätzliches Programm ausgelesen werden, z.B. über das freie Tool LDAP Admin. In diesem Beispiel lautet die BaseDN dc=schule,dc=local. Dies kann von Installation zu Installation abweichen und wird durch die intern verwendete DNS Domain bestimmt, hier im Beispiel handelt es sich um den Standardwert.
Im Unterschied zum vorherigen Benutzer steckt das Konto verschachtelt in der OU services. Dadurch ergibt sich nachfolgender, vollständiger Benutzername (sogenannter Distinguished Name):
Kennwort
Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
Im Zuge der Anbindung externer Dienste sollte stets darauf geachtet werden, die verschlüsselte Form des LDAP-Protokolls (d.h. LDAPS auf TCP-Port 636) zu verwenden, damit sensible Information wie Benutzer-Zugangsdaten prinzipiell per SSL-Transportverschlüsselung versendet werden.
Zur Nutzung der SSL-Transportverschlüsselung ist es wiederum wichtig, ein gültiges Let's Encrypt Zertifikat zu beantragen, damit die Verbindungssicherheit zwischen zwei Servern gewährleistet werden kann.
... [REV-PROXY LDAPS-Freischaltung mit Let's Encrypt einfügen]...
Ports über Firewall an Rev-Proxy weiterleiten
Damit die LDAP Verbindung funktioniert, muss der Port 636 an den Rev-Proxy weitergeleitet werden. Diese Weiterleitung können Sie wie folgt einrichten:
Wechseln Sie in das Verzeichnis der Shorewall:
Öffnen Sie die Datei rules mit einem Editor ihrer Wahl:
Ergänzen Sie die Liste innerhalb der Datei um den obersten Eintrag (DNAT ext dmz:172.28.29.3 tcp 636):
# Shorewall version 4.0
#
DNAT ext dmz:172.28.29.3 tcp 636
DNAT ext dmz:172.28.29.3 tcp 80,443
DNAT ext dmz:172.28.29.2 tcp 1:21
DNAT ext dmz:172.28.29.2 tcp 23:2221
DNAT ext dmz:172.28.29.2 tcp 2223:65535
DNAT ext dmz:172.28.29.2 udp 1:65535
Starten Sie nun die Firewall des ldhost neu:
LDAP Attribute
Standardmäßig werden folgende Attribute an die externe LDAP Schnittstelle weitergegeben:
Sollen zusätzliche Attribute an die externe Schnittstelle weitergegeben werden, so müssen Sie diese in folgender Datei im Puppeteer Container wie folgt abändern/erstellen:
#Ist die Datei nicht vorhanden bitte wie folgt anpassen (Im Beispiel werden die Attribute ldBirthday & ldGender hinzugefügt):
---
ld_legacy::ldap::ldap_ro_atts:
- ldBirtday
- ldGender
Danach müssen Sie die Änderungen ins Git übernehmen:
root@puppeteer:/etc/logodidact # git add .
root@puppeteer:/etc/logodidact # git coomit -am "LDAP Attribute in der ldhost.yaml hinzugefügt"
Um den Prozess zu beschleunigen bietet sich ein prun im ldhost an. Damit werden die Änderungen sofort an den logosrv weitergeleitet:
Die angepassten ACL-Änderungen können zur Kontrolle im logosrv in der Konfigurationsdatei slapd.puppet.conf angeschaut werden: