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

Von Version 47.1
bearbeitet von Jonas Mayer
am 2022/05/04 09:38
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 55.1
bearbeitet von Jonas Mayer
am 2022/05/05 07:43
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -10,20 +10,22 @@
10 10  (% style="color:#000000" %)[[image:Grafik für LDAp.png||height="331" width="622"]]
11 11  
12 12  
13 -== (% style="color:#000000" %)__**LDAP-Admin Benutzer**__(%%) ==
13 +== (% style="color:#000000" %)__**Übersicht der Benutzer**__(%%) ==
14 14  
15 -=== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ===
16 16  
17 -(% 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.
16 +=== (% style="color:#000000" %)**LDAP-Admin Benutzer**(%%) ===
18 18  
19 -(% 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!__**
18 +(% style="color:#000000; font-size:20px" %)__Nutzungsgebiet:__
20 20  
20 +(% 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.
21 21  
22 -==== (% style="color:#000000" %)__Benutzername & Kennwort__(%%) ====
22 +(% style="color:#000000" %)Sollten die Daten des LDAP-Admins in unbefugte Hände gelangen, stellt dies ein massives datenschutz- und sicherheitsrelevantes Problem dar. **__Von einem externen Gebrauch des Benutzerkontos ist daher strikt abzuraten!__**
23 23  
24 24  
25 -====== (% style="color:#000000" %)__Benutzername__(%%) ======
25 +(% class="wikigeneratedid" id="HZugangsdaten:" %)
26 +(% style="color:#000000; font-size:20px" %)__Zugangsdaten:__
26 26  
28 +(% class="wikigeneratedid" id="HBenutzername" %)
27 27  (% style="color:#000000" %)Der Benutzername des LDAP Admins lautet:
28 28  
29 29  {{code language="bash"}}
... ... @@ -31,7 +31,8 @@
31 31  {{/code}}
32 32  
33 33  
34 -====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
36 +(% class="wikigeneratedid" id="HAttributedesBenutzernamens" %)
37 +(% style="color:#000000; font-size:16px" %)__Vollständiger Benutzername__
35 35  
36 36  (% 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.
37 37  
... ... @@ -45,7 +45,8 @@
45 45  {{/code}}
46 46  
47 47  
48 -====== (% style="color:#000000" %)__Kennwort__(%%) ======
51 +(% class="wikigeneratedid" id="HKennwort" %)
52 +(% style="color:#000000; font-size:16px" %)__Kennwort__
49 49  
50 50  (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
51 51  
... ... @@ -53,7 +53,7 @@
53 53  root@logosrv:~ # cat /etc/ldap.secret
54 54  {{/code}}
55 55  
56 -(% 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:
60 +(% style="color:#000000" %)Optional kann man das Passwort (sowie die gültige BaseDN des Servers als Teil des Benutzernamens) auch mit folgendem Befehl aus dem Abschnitt "Credentials" entnehmen:
57 57  
58 58  {{code language="bash"}}
59 59  root@logosrv:~ # ldconf -o
... ... @@ -60,27 +60,28 @@
60 60  {{/code}}
61 61  
62 62  
63 -== (% style="color:#000000" %)__**LDAP-ReadOnly (ldap-ro) Benutzer**__(%%) ==
67 +=== (% style="color:#000000" %)**LDAP-ReadOnly (ldap-ro) Benutzer**(%%) ===
64 64  
65 -=== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ===
69 +(% class="wikigeneratedid" id="HNutzungsgebiet:" %)
70 +(% style="color:#000000; font-size:20px" %)__Nutzungsgebiet:__
66 66  
67 -(% style="color:#000000" %)Der LDAP-ReadOnly Benutzer ist für die Verwendung von externen Diensten/Anbindungen gedacht.
72 +(% style="color:#000000" %)Der LDAP-ReadOnly Benutzer ist für die Verwendung in externen Diensten vorgesehen.
68 68  
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.
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 Benutzerdatenbank des LogoDIDACT Serverper LDAP-Protokoll.
70 70  
71 -==== (% style="color:#000000" %)__Benutzername & Passwort:__(%%) ====
72 72  
73 -====== (% style="color:#000000" %)__Benutzername__(%%) ======
77 +(% class="wikigeneratedid" id="HBenutzername26Passwort:" %)
78 +(% style="color:#000000; font-size:20px" %)__Zugangsdaten:__
74 74  
75 -(% style="color:#000000" %)Relevant für den Zugriff von Außen wäre folgender Benutzername:
80 +(% class="wikigeneratedid" id="HBenutzername" %)
81 +(% style="color:#000000" %)Der Benutzername des LDAP ReadOnly Benutzers lautet:
76 76  
77 77  {{code language="bash"}}
78 78  cn=ldap-ro
79 79  {{/code}}
80 80  
81 -====== (% id="cke_bm_979S" style="color:#000000; display:none" %)__ __(%%) ======
82 82  
83 -====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ======
88 +(% style="color:#000000; font-size:16px" %)__Vollständiger Benutzername__
84 84  
85 85  (% 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.
86 86  
... ... @@ -87,7 +87,7 @@
87 87  (% style="color:#000000" %)[[image:1651243652049-471.png]]
88 88  
89 89  
90 -(% 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//):
95 +(% style="color:#000000" %)Im Unterschied zum vorherigen Benutzer steckt das Konto verschachtelt in dem Unterobjekt //OU=services//. Dadurch ergibt sich nachfolgender, vollständiger Benutzername (sogenannter //Distinguished Name//):
91 91  
92 92  {{code language="bash"}}
93 93  cn=ldap-ro,ou=services,dc=schule,dc=local
... ... @@ -94,7 +94,8 @@
94 94  {{/code}}
95 95  
96 96  
97 -====== (% style="color:#000000" %)__Kennwort__(%%) ======
102 +(% class="wikigeneratedid" id="HKennwort" %)
103 +(% style="color:#000000; font-size:16px" %)__Kennwort__
98 98  
99 99  (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar:
100 100  
... ... @@ -103,16 +103,15 @@
103 103  {{/code}}
104 104  
105 105  
106 -(% 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.
107 -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.
112 +(% 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. 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 109  
110 110  == __**Ports über Firewall an Rev-Proxy weiterleiten**__ ==
111 111  
112 -Damit die LDAP Verbindung funktioniert, muss der Port 636 an den Rev-Proxy weitergeleitet werden. Diese Weiterleitung können Sie wie folgt einrichten:
117 +Damit externe LDAPS-Verbindungen zum Server möglich werden, muss der TCP-Port 636 vom vorgeschalteten Router auf die externe IP-Adresse des LogoDIDACT Servers weitergeleitet werden. Vom ldhost wird die Verbindung dann entgegengenommen und abermals an den Rev-Proxy LXC-Container weitergeleitet. Die Einrichtung der zugehörige Poerweiterleitungs-Regel wird nachfolgend beschrieben.
113 113  
114 114  
115 -Wechseln Sie in das Verzeichnis der Shorewall:
120 +Wechseln Sie vom ldhost aus in das Verzeichnis der Shorewall:
116 116  
117 117  {{code language="bash"}}
118 118  root@ldhosts:~ # cd /etc/shorewall
... ... @@ -126,15 +126,15 @@
126 126  {{/code}}
127 127  
128 128  
129 -Ergänzen Sie die Liste innerhalb der Datei um den obersten Eintrag (lila eingefärbte Zeile). Dadurch werden externe Verbindungsanfragen auf Port 636 (LDAPS) vom ldhost zum rev-proxy LXC-Container weitergeleitet, so wie im Schaubild am Anfang des Artikels abgebildet.
134 +Ergänzen Sie die Liste innerhalb der Datei um den obersten DNAT-Eintrag (lila eingefärbte Zeile). Dadurch werden externe Verbindungsanfragen auf Port 636 (LDAPS) vom ldhost zum rev-proxy LXC-Container weitergeleitet, so wie im Schaubild am Anfang des Artikels abgebildet. Falls diese Regel bereits vorhanden ist, können Sie den Schritt überspringen.
130 130  
131 131  (% class="box" %)
132 132  (((
133 133  (% style="color:#16a085" %)###
134 134  # Shorewall version 4.0##(%%)
135 -(% style="color:#16a085" %)#(%%)##
136 -(% style="color:#8e44ad" %)**DNAT ext dmz:172.28.29.3 tcp 636**(%%)
137 -DNAT ext dmz:172.28.29.3 tcp 80,443
140 +(% style="color:#16a085" %)#(%%)
141 +(% style="color:#8e44ad" %)##**DNAT ext dmz:172.28.29.3 tcp 636**##(%%)
142 +##DNAT ext dmz:172.28.29.3 tcp 80,443
138 138  DNAT ext dmz:172.28.29.2 tcp 1:21
139 139  DNAT ext dmz:172.28.29.2 tcp 23:2221
140 140  DNAT ext dmz:172.28.29.2 tcp 2223:65535
... ... @@ -151,9 +151,9 @@
151 151  
152 152  == __**Zertifikat für Rev-Proxy erstellen und prüfen**__ ==
153 153  
154 -Damit die Verbindung gesichert werden kann, wird ein Let's Encrypt Zertifikat benötigt. Dieses können Sie nach folgender Anleitung erstellen:
159 +Damit die Verbindung gesichert werden kann, wird ein Let's Encrypt Zertifikat benötigt. Dieses können Sie - abhängig vom zu Grunde liegenden Tool - mit den folgenden Kommandos im Puppeteer-Container erstellen.
155 155  
156 -====== __acmetool__ ======
161 +=== __acmetool__ ===
157 157  
158 158  Wechseln Sie in den puppeteer Container:
159 159  
... ... @@ -167,7 +167,7 @@
167 167  root@puppeteer:~ # acmetool want kopano.SCHULKUERZEL.logoip.de
168 168  {{/code}}
169 169  
170 -====== __acme.sh__ ======
175 +=== __acme.sh__ ===
171 171  
172 172  Wechseln Sie in den puppeteer Container:
173 173  
... ... @@ -190,15 +190,16 @@
190 190  {{/code}}
191 191  
192 192  
193 -Um das verteilen der Zertifikate zu beschleunigen können Sie ggf. einen prun im puppeteer und rev-proxy Container durchführen:
198 +Um das Verteilen der Zertifikate zu beschleunigen, können Sie einen gezielten 'prun' im puppeteer Container gefolgt von einen weiteren 'prun' im rev-proxy Container durchführen:
194 194  
195 195  {{code language="bash"}}
196 196  root@puppeteer:~ # prun
202 +
197 197  root@rev-proxy:~ # prun
198 198  {{/code}}
199 199  
200 200  
201 -== (% style="color:#000000" %)**__LDAP Attribute__**(%%) ==
207 +== (% style="color:#000000" %)**__Weitere LDAP Attribute für ReadOnly-Benutzer freischalten__**(%%) ==
202 202  
203 203  (% style="color:#000000" %)Standardmäßig werden folgende Attribute an die externe LDAP Schnittstelle weitergegeben:
204 204