Version 27.1 von Jens Gruber am 2022/04/29 16:53

Zeige letzte Bearbeiter
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.
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.
4
5 (% style="color:#000000" %)[[image:Grafik für LDAp.png||height="331" width="622"]]
6
7 === ===
8
9 === (% style="color:#000000" %)__**LDAP-Admin Benutzer**__(%%) ===
10
11
12 === (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ===
13
14 (% style="color:#000000" %)Der LDAP-Admin Benutzer ist mit äußerster Vorsicht einzusetzen, da dieser einen beinahe uneingeschränkten Zugriff auf das Abrufen und Bearbeiten der Nutzerattribute des Servers besitzt. Daher sollte der Benutzer nur möglichst Intern eingesetzt werden.
15
16 (% style="color:#000000" %)Sollten die Daten des Admins in unbefugte Hände gelangen, stellt dies ein massives datenschutz- und sicherheitstechnisches Problem dar. **__Von einem externen Gebrauch ist daher strengstens abzuraten!__**
17
18
19 ==== (% style="color:#000000" %)__Benutzername & Kennwort__(%%) ====
20
21 ====== ======
22
23 ====== (% style="color:#000000" %)__Benutzername__(%%) ======
24
25 (% style="color:#000000" %)Der Benutzername des LDAP Admins wäre:
26
27 {{code language="bash"}}
28 cn=ldap-admin
29 {{/code}}
30
31 ====== ======
32
33 ====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
34
35 (% style="color:#000000" %)Die Attribute des LDAP Namens sind über ein zusätzliches Programm auszulesen wie z.B. die Software LDAP Admin auszulesen. In diesem Beispiel wären die Attribute {{code language="bash"}}dc=schule,dc=local{{/code}}. Dies kann von Installation zu Installation abweichen und wird durch die Intern verwendete DNS Domain bestimmt.
36
37 [[image:1651243652049-471.png]]
38
39
40 In diesem Beispiel wäre der Benutzername durch die ausgelesenen Attribute nun:
41
42 {{code language="bash"}}
43 cn=ldap-admin,dc=schule,dc=local
44 {{/code}}
45
46
47 ====== (% style="color:#000000" %)__Kennwort__(%%) ======
48
49 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
50
51 {{code language="bash"}}
52 root@logosrv:~ # cat /etc/ldap.secret
53 {{/code}}
54
55 (% style="color:#000000" %)Optional kann man das Passwort auch mit folgendem Befehl unter dem Punkt "Credentials" einsehen:
56
57 {{code language="bash"}}
58 root@logosrv:~ # ldconf -o
59 {{/code}}
60
61
62 === (% style="color:#000000" %)**__LDAP-ReadOnly (ldap-ro) Benutzer__**(%%) ===
63
64
65 ==== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ====
66
67 (% style="color:#000000" %)Der LDAP-ReadOnly Benutzer ist für die Verwendung von externen Diensten/Anbindungen gedacht.
68
69 (% style="color:#000000" %)Mögliche Nutzungsmöglichkeiten wären unteranderem die Nutzung und Einbindung  von einem extern gehosteten moodle, WebUntis oder einer Nextcloud.
70
71
72 ==== (% style="color:#000000" %)__Benutzername & Passwort:__(%%) ====
73
74
75 ====== (% style="color:#000000" %)__Benutzername__(%%) ======
76
77 (% style="color:#000000" %)Relevant für den Zugriff von Außen wäre folgender Benutzername:
78
79 {{code language="bash"}}
80 cn=ldap-ro
81 {{/code}}
82
83 ====== (% id="cke_bm_979S" style="color:#000000; display:none" %)__ __(%%) ======
84
85 ====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
86
87 (% style="color:#000000" %)Die Attribute des LDAP Namens sind über ein zusätzliches Programm auszulesen wie z.B. die Software LDAP Admin auszulesen. In diesem Beispiel wären die Attribute {{code language="bash"}}dc=schule,dc=local{{/code}}. Dies kann von Installation zu Installation abweichen und wird durch die Intern verwendete DNS Domain bestimmt.
88
89 [[image:1651243652049-471.png]]
90
91
92 In diesem Beispiel wäre der Benutzername durch die ausgelesenen Attribute nun:
93
94 {{code language="bash"}}
95 cn=ldap-admin,dc=schule,dc=local
96 {{/code}}
97
98
99 ====== (% style="color:#000000" %)__Kennwort__(%%) ======
100
101 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
102
103 {{code language="bash"}}
104 root@logosrv:~ # cat /etc/ldap.ro.secret
105 {{/code}}
106
107
108
109 === (% style="color:#000000" %)**__LDAP Attribute__**(%%) ===
110
111
112 (% style="color:#000000" %)Standardmäßig werden folgende Attribute an die externe LDAP Schnittstelle weitergegeben:
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}}
117
118
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:
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
133 (% style="color:#000000" %)Danach müssen Sie die Änderungen ins Git übernehmen:
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
141
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:
143
144 {{code language="bash"}}
145 root@ldhost:~ # prun
146 {{/code}}
147
148
149 (% style="color:#000000" %)Die angepassten Änderungen können nun logosrv in der slapd.puppet.conf angeschaut werden:
150
151 {{code language="bash"}}
152 root@logosrv:~ # cat /etc/ldap/slapd.puppet.conf
153 {{/code}}