Zuletzt geändert von Jonas Mayer am 2022/05/25 00:02

Von Version 31.2
bearbeitet von David Haido
am 2022/05/02 18:14
Änderungskommentar: Update document after refactoring.
Auf Version 35.1
bearbeitet von Jens Gruber
am 2022/05/03 14:03
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.davidhaido@sbede
1 +XWiki.JensGruber@sbede
Inhalt
... ... @@ -1,19 +1,24 @@
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.
1 +(% style="color:#000000" %)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.
2 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.
3 +(% style="color:#000000" %)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.
4 4  
5 +----
6 +
7 +{{toc start="3"/}}
8 +
9 +
5 5  (% style="color:#000000" %)[[image:Grafik für LDAp.png||height="331" width="622"]]
6 6  
7 7  === ===
8 8  
9 -=== (% style="color:#000000" %)__**LDAP-Admin Benutzer**__(%%) ===
14 +== (% style="color:#000000" %)__**LDAP-Admin Benutzer**__(%%) ==
10 10  
11 11  
12 12  === (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ===
13 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.
19 +(% 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.
15 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!__**
21 +(% 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!__**
17 17  
18 18  
19 19  ==== (% style="color:#000000" %)__Benutzername & Kennwort__(%%) ====
... ... @@ -22,7 +22,7 @@
22 22  
23 23  ====== (% style="color:#000000" %)__Benutzername__(%%) ======
24 24  
25 -(% style="color:#000000" %)Der Benutzername des LDAP Admins wäre:
30 +(% style="color:#000000" %)Der Benutzername des LDAP Admins lautet:
26 26  
27 27  {{code language="bash"}}
28 28  cn=ldap-admin
... ... @@ -32,12 +32,12 @@
32 32  
33 33  ====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
34 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.
40 +(% 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.
36 36  
37 37  (% style="color:#000000" %)[[image:1651243652049-471.png]]
38 38  
39 39  
40 -(% style="color:#000000" %)In diesem Beispiel wäre der Benutzername durch die ausgelesenen Attribute nun:
45 +(% style="color:#000000" %)In diesem Beispiel ergibt sich der vollständige Benutzername (sogenannter //Distinguished Name// des Benutzerkontos) durch Anfügen der BaseDN:
41 41  
42 42  {{code language="bash"}}
43 43  cn=ldap-admin,dc=schule,dc=local
... ... @@ -52,7 +52,7 @@
52 52  root@logosrv:~ # cat /etc/ldap.secret
53 53  {{/code}}
54 54  
55 -(% style="color:#000000" %)Optional kann man das Passwort auch mit folgendem Befehl unter dem Punkt "Credentials" einsehen:
60 +(% 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:
56 56  
57 57  {{code language="bash"}}
58 58  root@logosrv:~ # ldconf -o
... ... @@ -59,7 +59,7 @@
59 59  {{/code}}
60 60  
61 61  
62 -=== (% style="color:#000000" %)**__LDAP-ReadOnly (ldap-ro) Benutzer__**(%%) ===
67 +== (% style="color:#000000" %)**__LDAP-ReadOnly (ldap-ro) Benutzer__**(%%) ==
63 63  
64 64  
65 65  ==== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ====
... ... @@ -66,7 +66,7 @@
66 66  
67 67  (% style="color:#000000" %)Der LDAP-ReadOnly Benutzer ist für die Verwendung von externen Diensten/Anbindungen gedacht.
68 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.
74 +(% 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.
70 70  
71 71  
72 72  ==== (% style="color:#000000" %)__Benutzername & Passwort:__(%%) ====
... ... @@ -80,19 +80,19 @@
80 80  cn=ldap-ro
81 81  {{/code}}
82 82  
83 -====== (% id="cke_bm_979S" style="color: rgb(0, 0, 0); display: none" %)__ __(%%) ======
88 +====== (% id="cke_bm_979S" style="color:#000000; display:none" %)__ __(%%) ======
84 84  
85 85  ====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
86 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.
92 +(% 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.
88 88  
89 89  (% style="color:#000000" %)[[image:1651243652049-471.png]]
90 90  
91 91  
92 -(% style="color:#000000" %)In diesem Beispiel re der Benutzername durch die ausgelesenen Attribute nun:
97 +(% 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//):
93 93  
94 94  {{code language="bash"}}
95 -cn=ldap-ro,dc=schule,dc=local
100 +cn=ldap-ro,ou=services,dc=schule,dc=local
96 96  {{/code}}
97 97  
98 98  
... ... @@ -105,10 +105,58 @@
105 105  {{/code}}
106 106  
107 107  
113 +(% style="color:#000000" %)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.
114 +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.
108 108  
109 -=== (% style="color:#000000" %)**__LDAP Attribute__**(%%) ===
110 110  
117 +**... [REV-PROXY LDAPS-Freischaltung mit Let's Encrypt einfügen]...**
111 111  
119 +
120 +== __**Ports über Firewall an Rev-Proxy weiterleiten**__ ==
121 +
122 +Damit die LDAP Verbindung funktioniert, muss der Port 636 an den Rev-Proxy weitergeleitet werden. Diese Weiterleitung können Sie wie folgt einrichten:
123 +
124 +
125 +Wechseln Sie in das Verzeichnis der Shorewall:
126 +
127 +{{code language="bash"}}
128 +root@ldhosts:~ # cd /etc/shorewall
129 +{{/code}}
130 +
131 +
132 +Öffnen Sie die Datei rules mit einem Editor ihrer Wahl:
133 +
134 +{{code language="bash"}}
135 +root@ldhost:/etc/shorewall # vim rules
136 +{{/code}}
137 +
138 +
139 +Ergänzen Sie die Liste innerhalb der Datei um den obersten Eintrag (DNAT ext dmz:172.28.29.3 tcp 636):
140 +
141 +{{code language="bash"}}
142 +#
143 +# Shorewall version 4.0
144 +#
145 +DNAT ext dmz:172.28.29.3 tcp 636
146 +DNAT ext dmz:172.28.29.3 tcp 80,443
147 +DNAT ext dmz:172.28.29.2 tcp 1:21
148 +DNAT ext dmz:172.28.29.2 tcp 23:2221
149 +DNAT ext dmz:172.28.29.2 tcp 2223:65535
150 +DNAT ext dmz:172.28.29.2 udp 1:65535
151 +
152 +{{/code}}
153 +
154 +
155 +Starten Sie nun die Firewall des ldhost neu:
156 +
157 +{{code language="bash"}}
158 +root@ldhosts:~ # /etc/init.d/shorewall restart
159 +{{/code}}
160 +
161 +=== ===
162 +
163 +== (% style="color:#000000" %)**__LDAP Attribute__**(%%) ==
164 +
112 112  (% style="color:#000000" %)Standardmäßig werden folgende Attribute an die externe LDAP Schnittstelle weitergegeben:
113 113  
114 114  {{code language="bash"}}
... ... @@ -146,7 +146,7 @@
146 146  {{/code}}
147 147  
148 148  
149 -(% style="color:#000000" %)Die angepassten Änderungen können nun logosrv in der slapd.puppet.conf angeschaut werden:
202 +(% style="color:#000000" %)Die angepassten ACL-Änderungen können zur Kontrolle im logosrv in der Konfigurationsdatei slapd.puppet.conf angeschaut werden:
150 150  
151 151  {{code language="bash"}}
152 152  root@logosrv:~ # cat /etc/ldap/slapd.puppet.conf