Version 32.1 von Jonas Mayer am 2022/05/02 18:32

Verstecke letzte Bearbeiter
Jens Gruber 11.2 1 (% style="color:#000000" %)Um externe oder interne Dienste über LDAPS einzubinden, gibt es nach wie vor den sogenannten LDAP-Admin und den seit der Umstellung auf LDAPS neu hinzugefügten ReadOnly-Benutzer.
Jens Gruber 3.1 2
Jens Gruber 14.2 3 (% style="color:#000000" %)In diesem Artikel erfahren Sie, wo Sie die Benutzernamen & Kennwörter der zwei Benutzer finden und welche Nutzer sich für welches Vorhaben am besten eignen.
Jens Gruber 3.1 4
Alexander Kruck 25.1 5 (% style="color:#000000" %)[[image:Grafik für LDAp.png||height="331" width="622"]]
Jens Gruber 3.1 6
Jens Gruber 20.2 7 === ===
8
Jens Gruber 3.2 9 === (% style="color:#000000" %)__**LDAP-Admin Benutzer**__(%%) ===
Jens Gruber 3.1 10
11
Jens Gruber 3.2 12 === (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ===
Jens Gruber 3.1 13
Jonas Mayer 32.1 14 (% style="color:#000000" %)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.
Jens Gruber 3.1 15
Jonas Mayer 32.1 16 (% style="color:#000000" %)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!__**
Jens Gruber 3.1 17
18
Jens Gruber 14.2 19 ==== (% style="color:#000000" %)__Benutzername & Kennwort__(%%) ====
Jens Gruber 3.1 20
Jens Gruber 14.2 21 ====== ======
22
Alexander Kruck 25.1 23 ====== (% style="color:#000000" %)__Benutzername__(%%) ======
Jens Gruber 14.2 24
Jonas Mayer 32.1 25 (% style="color:#000000" %)Der Benutzername des LDAP Admins lautet:
Jens Gruber 3.1 26
Jens Gruber 3.2 27 {{code language="bash"}}
Jens Gruber 14.2 28 cn=ldap-admin
Jens Gruber 3.2 29 {{/code}}
Jens Gruber 3.1 30
Jens Gruber 14.2 31 ====== ======
Jens Gruber 3.1 32
Alexander Kruck 25.1 33 ====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
Jens Gruber 14.2 34
Jonas Mayer 32.1 35 (% style="color:#000000" %)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 {{code language="bash"}}dc=schule,dc=local{{/code}}. 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.
Jens Gruber 14.2 36
David Haido 30.1 37 (% style="color:#000000" %)[[image:1651243652049-471.png]]
Jens Gruber 14.2 38
39
Jonas Mayer 32.1 40 (% style="color:#000000" %)In diesem Beispiel ergibt sich der vollständige Benutzername (sogenannter //Distinguished Name// des Benutzerkontos) durch Anfügen der BaseDN:
Jens Gruber 27.1 41
42 {{code language="bash"}}
43 cn=ldap-admin,dc=schule,dc=local
44 {{/code}}
45
46
Alexander Kruck 25.1 47 ====== (% style="color:#000000" %)__Kennwort__(%%) ======
Jens Gruber 14.2 48
Jens Gruber 3.2 49 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
Jens Gruber 3.1 50
Jens Gruber 3.2 51 {{code language="bash"}}
52 root@logosrv:~ # cat /etc/ldap.secret
53 {{/code}}
Jens Gruber 3.1 54
Jonas Mayer 32.1 55 (% style="color:#000000" %)Optional kann man das Passwort (sowie die gültige BaseDN als Suffix des Benutzernamens) auch mit folgendem Befehl unter dem Punkt "Credentials" einsehen:
Jens Gruber 3.1 56
Jens Gruber 4.1 57 {{code language="bash"}}
58 root@logosrv:~ # ldconf -o
59 {{/code}}
60
61
Jens Gruber 3.2 62 === (% style="color:#000000" %)**__LDAP-ReadOnly (ldap-ro) Benutzer__**(%%) ===
Jens Gruber 3.1 63
64
Jens Gruber 3.2 65 ==== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ====
Jens Gruber 3.1 66
Jens Gruber 14.2 67 (% style="color:#000000" %)Der LDAP-ReadOnly Benutzer ist für die Verwendung von externen Diensten/Anbindungen gedacht.
Jens Gruber 3.1 68
Jonas Mayer 32.1 69 (% style="color:#000000" %)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.
Jens Gruber 14.2 70
71
72 ==== (% style="color:#000000" %)__Benutzername & Passwort:__(%%) ====
Jens Gruber 3.2 73
Jens Gruber 8.1 74
Alexander Kruck 25.1 75 ====== (% style="color:#000000" %)__Benutzername__(%%) ======
David Haido 11.1 76
Jens Gruber 3.2 77 (% style="color:#000000" %)Relevant für den Zugriff von Außen wäre folgender Benutzername:
78
Jens Gruber 3.1 79 {{code language="bash"}}
Jens Gruber 14.2 80 cn=ldap-ro
Jens Gruber 3.1 81 {{/code}}
82
Jonas Mayer 32.1 83 ====== (% id="cke_bm_979S" style="color:#000000; display:none" %)__ __(%%) ======
Jens Gruber 3.1 84
Alexander Kruck 25.1 85 ====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
Jens Gruber 14.2 86
Jonas Mayer 32.1 87 (% style="color:#000000" %)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 {{code language="bash"}}dc=schule,dc=local{{/code}}. 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.
Jens Gruber 19.1 88
David Haido 30.1 89 (% style="color:#000000" %)[[image:1651243652049-471.png]]
Jens Gruber 14.2 90
91
Jonas Mayer 32.1 92 (% style="color:#000000" %)Im Unterschied zum vorherigen Benutzer steckt das Konto verschachtelt in der OU //services//. Dadurch ergibt sich nachfolgender, vollständiger Benutzername (sogenannter //Distinguished Name//):
Jens Gruber 27.1 93
94 {{code language="bash"}}
Jonas Mayer 32.1 95 cn=ldap-ro,ou=services,dc=schule,dc=local
Jens Gruber 27.1 96 {{/code}}
97
98
Alexander Kruck 25.1 99 ====== (% style="color:#000000" %)__Kennwort__(%%) ======
Jens Gruber 14.2 100
Jens Gruber 3.2 101 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
102
Jens Gruber 3.1 103 {{code language="bash"}}
104 root@logosrv:~ # cat /etc/ldap.ro.secret
105 {{/code}}
Jens Gruber 19.2 106
107
108
Alexander Kruck 25.1 109 === (% style="color:#000000" %)**__LDAP Attribute__**(%%) ===
Jens Gruber 19.2 110
111
Jens Gruber 21.2 112 (% style="color:#000000" %)Standardmäßig werden folgende Attribute an die externe LDAP Schnittstelle weitergegeben:
Jens Gruber 19.2 113
114 {{code language="bash"}}
115 entry, cn, displayName, gidnumber, givenName, mail, member, memberOf, memberUid, o, objectClass, ou, sn, title, uid, uidnumber, uniqueMember, ldObjectType, ldRole
116 {{/code}}
Jens Gruber 21.2 117
118
Alexander Kruck 25.1 119 (% style="color:#000000" %)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:
Jens Gruber 21.2 120
121 {{code language="bash"}}
122 root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/ldhost.yaml
123
124 #Ist die Datei nicht vorhanden bitte wie folgt anpassen (Im Beispiel werden die Attribute ldBirthday & ldGender hinzugefügt):
125
126 ---
127 ld_legacy::ldap::ldap_ro_atts:
128 - ldBirtday
129 - ldGender
130 {{/code}}
131
132
Alexander Kruck 25.1 133 (% style="color:#000000" %)Danach müssen Sie die Änderungen ins Git übernehmen:
Jens Gruber 21.2 134
135 {{code language="bash"}}
136 root@puppeteer:~ # cd /etc/logodidact/
137 root@puppeteer:/etc/logodidact # git add .
138 root@puppeteer:/etc/logodidact # git coomit -am "LDAP Attribute in der ldhost.yaml hinzugefügt"
139 {{/code}}
140
Jens Gruber 24.1 141
Alexander Kruck 25.1 142 (% style="color:#000000" %)Um den Prozess zu beschleunigen bietet sich ein prun im ldhost an. Damit werden die Änderungen sofort an den logosrv weitergeleitet:
Jens Gruber 24.1 143
Jens Gruber 21.2 144 {{code language="bash"}}
145 root@ldhost:~ # prun
146 {{/code}}
147
148
Jonas Mayer 32.1 149 (% style="color:#000000" %)Die angepassten ACL-Änderungen können zur Kontrolle im logosrv in der Konfigurationsdatei slapd.puppet.conf angeschaut werden:
Jens Gruber 21.2 150
151 {{code language="bash"}}
152 root@logosrv:~ # cat /etc/ldap/slapd.puppet.conf
153 {{/code}}