Änderungen von Dokument LDAP Admin-Benutzer und ReadOnly-Benutzer im logosrv
Zuletzt geändert von Jonas Mayer am 2022/05/25 00:02
Von Version 54.1
bearbeitet von Jonas Mayer
am 2022/05/04 14:52
am 2022/05/04 14:52
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 35.1
bearbeitet von Jens Gruber
am 2022/05/03 14:03
am 2022/05/03 14:03
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (3 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 -Geändert: LDAP Admin-Benutzer und ReadOnly-Benutzer im logosrv1 +Geändert: LDAP Admin-Benutzer und ReadOnly-Benutzer - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. jonasmayer@sbede1 +XWiki.JensGruber@sbede - Inhalt
-
... ... @@ -4,28 +4,29 @@ 4 4 5 5 ---- 6 6 7 -{{toc start=" 2"/}}7 +{{toc start="3"/}} 8 8 9 9 10 10 (% style="color:#000000" %)[[image:Grafik für LDAp.png||height="331" width="622"]] 11 11 12 +=== === 12 12 13 -== (% style="color:#000000" %)__** ÜbersichtderBenutzer**__(%%) ==14 +== (% style="color:#000000" %)__**LDAP-Admin Benutzer**__(%%) == 14 14 15 15 16 -=== (% style="color:#000000" %) **LDAP-Admin Benutzer**(%%) ===17 +=== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) === 17 17 18 -(% style="color:#000000; font-size:20px" %)__Nutzungsgebiet:__ 19 - 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 22 (% 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!__** 23 23 24 24 25 -(% class="wikigeneratedid" id="HZugangsdaten:" %) 26 -(% style="color:#000000; font-size:20px" %)__Zugangsdaten:__ 24 +==== (% style="color:#000000" %)__Benutzername & Kennwort__(%%) ==== 27 27 28 -(% class="wikigeneratedid" id="HBenutzername" %) 26 +====== ====== 27 + 28 +====== (% style="color:#000000" %)__Benutzername__(%%) ====== 29 + 29 29 (% style="color:#000000" %)Der Benutzername des LDAP Admins lautet: 30 30 31 31 {{code language="bash"}} ... ... @@ -32,9 +32,9 @@ 32 32 cn=ldap-admin 33 33 {{/code}} 34 34 36 +====== ====== 35 35 36 -(% class="wikigeneratedid" id="HAttributedesBenutzernamens" %) 37 -(% style="color:#000000; font-size:16px" %)__Vollständiger Benutzername__ 38 +====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ====== 38 38 39 39 (% 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. 40 40 ... ... @@ -48,8 +48,7 @@ 48 48 {{/code}} 49 49 50 50 51 -(% class="wikigeneratedid" id="HKennwort" %) 52 -(% style="color:#000000; font-size:16px" %)__Kennwort__ 52 +====== (% style="color:#000000" %)__Kennwort__(%%) ====== 53 53 54 54 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar: 55 55 ... ... @@ -57,7 +57,7 @@ 57 57 root@logosrv:~ # cat /etc/ldap.secret 58 58 {{/code}} 59 59 60 -(% style="color:#000000" %)Optional kann man das Passwort (sowie die gültige BaseDN des ServersalsTeildes Benutzernamens) auch mit folgendem BefehlausdemAbschnitt"Credentials" entnehmen: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: 61 61 62 62 {{code language="bash"}} 63 63 root@logosrv:~ # ldconf -o ... ... @@ -64,22 +64,23 @@ 64 64 {{/code}} 65 65 66 66 67 -== =(% style="color:#000000" %)**LDAP-ReadOnly (ldap-ro) Benutzer**(%%) ===67 +== (% style="color:#000000" %)**__LDAP-ReadOnly (ldap-ro) Benutzer__**(%%) == 68 68 69 -(% class="wikigeneratedid" id="HNutzungsgebiet:" %) 70 -(% style="color:#000000; font-size:20px" %)__Nutzungsgebiet:__ 71 71 70 +==== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ==== 71 + 72 72 (% style="color:#000000" %)Der LDAP-ReadOnly Benutzer ist für die Verwendung von externen Diensten/Anbindungen gedacht. 73 73 74 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. 75 75 76 76 77 -(% class="wikigeneratedid" id="HBenutzername26Passwort:" %) 78 -(% style="color:#000000; font-size:20px" %)__Zugangsdaten:__ 77 +==== (% style="color:#000000" %)__Benutzername & Passwort:__(%%) ==== 79 79 80 -(% class="wikigeneratedid" id="HBenutzername" %) 81 -(% style="color:#000000" %)Der Benutzername des LDAP ReadOnly Benutzers lautet: 82 82 80 +====== (% style="color:#000000" %)__Benutzername__(%%) ====== 81 + 82 +(% style="color:#000000" %)Relevant für den Zugriff von Außen wäre folgender Benutzername: 83 + 83 83 {{code language="bash"}} 84 84 cn=ldap-ro 85 85 {{/code}} ... ... @@ -86,9 +86,8 @@ 86 86 87 87 ====== (% id="cke_bm_979S" style="color:#000000; display:none" %)__ __(%%) ====== 88 88 90 +====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%) ====== 89 89 90 -(% style="color:#000000; font-size:16px" %)__Vollständiger Benutzername__ 91 - 92 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. 93 93 94 94 (% style="color:#000000" %)[[image:1651243652049-471.png]] ... ... @@ -101,8 +101,7 @@ 101 101 {{/code}} 102 102 103 103 104 -(% class="wikigeneratedid" id="HKennwort" %) 105 -(% style="color:#000000; font-size:16px" %)__Kennwort__ 104 +====== (% style="color:#000000" %)__Kennwort__(%%) ====== 106 106 107 107 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar: 108 108 ... ... @@ -111,15 +111,19 @@ 111 111 {{/code}} 112 112 113 113 114 -(% 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. 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. 115 115 116 116 117 +**... [REV-PROXY LDAPS-Freischaltung mit Let's Encrypt einfügen]...** 118 + 119 + 117 117 == __**Ports über Firewall an Rev-Proxy weiterleiten**__ == 118 118 119 -Damit e xterneLDAPS-Verbindungenzum Server möglich werden, muss derTCP-Port 636vom vorgeschaltetenRouter aufdieexterneIP-Adresse des LogoDIDACTServersweitergeleitet werden.Vom ldhost wird dieVerbindung dann entgegengenommen und abermalsan denRev-Proxy LXC-Container weitergeleitet. Die EinrichtungderzugehörigePoerweiterleitungs-Regelwird nachfolgendbeschrieben.122 +Damit die LDAP Verbindung funktioniert, muss der Port 636 an den Rev-Proxy weitergeleitet werden. Diese Weiterleitung können Sie wie folgt einrichten: 120 120 121 121 122 -Wechseln Sie vom ldhost ausin das Verzeichnis der Shorewall:125 +Wechseln Sie in das Verzeichnis der Shorewall: 123 123 124 124 {{code language="bash"}} 125 125 root@ldhosts:~ # cd /etc/shorewall ... ... @@ -133,22 +133,22 @@ 133 133 {{/code}} 134 134 135 135 136 -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-Containerweitergeleitet, so wie im SchaubildamAnfang des Artikels abgebildet.Falls diese Regel bereits vorhanden ist, können Sie den Schritt überspringen.139 +Ergänzen Sie die Liste innerhalb der Datei um den obersten Eintrag (DNAT ext dmz:172.28.29.3 tcp 636): 137 137 138 -(% class="box" %) 139 -((( 140 -(% style="color:#16a085" %)### 141 -# Shorewall version 4.0##(%%) 142 -(% style="color:#16a085" %)#(%%) 143 -(% style="color:#8e44ad" %)##**DNAT ext dmz:172.28.29.3 tcp 636**##(%%)## 141 +{{code language="bash"}} 142 +# 143 +# Shorewall version 4.0 144 +# 145 +DNAT ext dmz:172.28.29.3 tcp 636 144 144 DNAT ext dmz:172.28.29.3 tcp 80,443 145 145 DNAT ext dmz:172.28.29.2 tcp 1:21 146 146 DNAT ext dmz:172.28.29.2 tcp 23:2221 147 147 DNAT ext dmz:172.28.29.2 tcp 2223:65535 148 -DNAT ext dmz:172.28.29.2 udp 1:65535## 149 -))) 150 +DNAT ext dmz:172.28.29.2 udp 1:65535 150 150 152 +{{/code}} 151 151 154 + 152 152 Starten Sie nun die Firewall des ldhost neu: 153 153 154 154 {{code language="bash"}} ... ... @@ -155,59 +155,10 @@ 155 155 root@ldhosts:~ # /etc/init.d/shorewall restart 156 156 {{/code}} 157 157 161 +=== === 158 158 159 -== __**Zertifikatfür Rev-Proxy erstellenundprüfen**__ ==163 +== (% style="color:#000000" %)**__LDAP Attribute__**(%%) == 160 160 161 -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. 162 - 163 -=== __acmetool__ === 164 - 165 -Wechseln Sie in den puppeteer Container: 166 - 167 -{{code language="bash"}} 168 -root@ldhost:~ # lxc-ssh -n puppeteer 169 -{{/code}} 170 - 171 -Fordern Sie das Zertifikat mit folgendem Befehl an (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 172 - 173 -{{code language="bash"}} 174 -root@puppeteer:~ # acmetool want kopano.SCHULKUERZEL.logoip.de 175 -{{/code}} 176 - 177 -=== __acme.sh__ === 178 - 179 -Wechseln Sie in den puppeteer Container: 180 - 181 -{{code language="bash"}} 182 -root@ldhost:~ # lxc-ssh -n puppeteer 183 -{{/code}} 184 - 185 - 186 -Wechseln Sie im puppeteer Container in die Umgebung für das Verwalten der Zertifikate: 187 - 188 -{{code language="bash"}} 189 -root@puppeteer:~ # sle 190 -{{/code}} 191 - 192 - 193 -Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 194 - 195 -{{code language="bash"}} 196 -le-acme@puppeteer:~ $ issue kopano.SCHULKUERZEL.logoip.de 197 -{{/code}} 198 - 199 - 200 -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: 201 - 202 -{{code language="bash"}} 203 -root@puppeteer:~ # prun 204 - 205 -root@rev-proxy:~ # prun 206 -{{/code}} 207 - 208 - 209 -== (% style="color:#000000" %)**__Weitere LDAP Attribute für ReadOnly-Benutzer freischalten__**(%%) == 210 - 211 211 (% style="color:#000000" %)Standardmäßig werden folgende Attribute an die externe LDAP Schnittstelle weitergegeben: 212 212 213 213 {{code language="bash"}}