Ä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 49.1
bearbeitet von Jonas Mayer
am 2022/05/04 14:31
am 2022/05/04 14:31
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 20.3
bearbeitet von Jens Gruber
am 2022/04/28 14:01
am 2022/04/28 14:01
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (3 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 0 hinzugefügt, 1 gelöscht)
Details
- Seiteneigenschaften
-
- Titel
-
... ... @@ -1,1 +1,1 @@ 1 - Geändert:LDAP Admin-Benutzer und ReadOnly-Benutzerim logosrv1 +LDAP Admin-Benutzer und ReadOnly-Benutzer - Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. jonasmayer@sbede1 +XWiki.JensGruber@sbede - Inhalt
-
... ... @@ -1,56 +1,46 @@ 1 -(% style="color:#000000" %)Um externe oder interne Dienste über dasLDAPS-Protokolleinzubinden, gibt esseitPuppet-Version1.3.22 nebendemsogenannten LDAP-AdminKontoeinen neu hinzugefügten ReadOnly-Benutzerzur Anmeldung am integrierten OpenLDAP-Verzeichnisdienst.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 2 3 -(% style="color:#000000" %)In diesem Artikel erfahren Sie, wo Sie die Benutzernamen & Kennwörter der zwei Benutzer finden und welche sKontosich 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 welche Nutzer sich für welches Vorhaben am besten eignen. 4 4 5 - ----5 +[[image:Grafik für LDAp.png||height="331" width="622"]] 6 6 7 -{{toc start="2"/}} 7 +(% class="wikigeneratedid" %) 8 +=== === 8 8 10 +=== (% style="color:#000000" %)__**LDAP-Admin Benutzer**__(%%) === 9 9 10 -(% style="color:#000000" %)[[image:Grafik für LDAp.png||height="331" width="622"]] 11 11 13 +=== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) === 12 12 13 - ==(% style="color:#000000" %)__**Übersicht der Benutzer**__(%%)==15 +(% 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. 14 14 17 +(% 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 abgeraten!__** 15 15 16 -=== (% style="color:#000000" %)**LDAP-Admin Benutzer:**(%%) === 17 17 18 -(% style="color:#000000 ; font-size:20px" %)__Nutzungsgebiet:__20 +==== (% style="color:#000000" %)__Benutzername & Kennwort__(%%) ==== 19 19 20 - (% style="color:#000000"%)DerLDAP-AdminBenutzer 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.22 +====== ====== 21 21 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 desBenutzerkontos ist daher strengstens abzuraten!__**24 +====== __Benutzername__ ====== 23 23 26 +(% style="color:#000000" %)Der Benutzername mit den jeweiligen Attributen: 24 24 25 -(% class="wikigeneratedid" id="HZugangsdaten:" %) 26 -(% style="color:#000000; font-size:20px" %)__Zugangsdaten:__ 27 - 28 -(% class="wikigeneratedid" id="HBenutzername" %) 29 -(% style="color:#000000" %)Der Benutzername des LDAP Admins lautet: 30 - 31 31 {{code language="bash"}} 32 32 cn=ldap-admin 33 33 {{/code}} 34 34 32 +====== ====== 35 35 36 -(% class="wikigeneratedid" id="HAttributedesBenutzernamens" %) 37 -(% style="color:#000000; font-size:16px" %)__Vollständiger Benutzername__ 34 +====== __Attribute des Benutzernamens__ ====== 38 38 39 - (% style="color:#000000" %)DieBaseDN als EinstiegspunktzumLDAP-Verzeichnisdienstkannüber ein zusätzliches Programm ausgelesenrden,z.B.überdasfreieToolLDAP Admin. In diesem BeispiellautetdieBaseDN{{code language="bash"}}dc=schule,dc=local{{/code}}. Dies kann von Installation zu Installation abweichen und wird durch dieintern verwendete DNS Domain bestimmt, hier im Beispiel handelt es sich um den Standardwert.36 +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 40 41 - (% style="color:#000000" %)[[image:1651243652049-471.png]]38 +[[image:1651127320035-296.png]] 42 42 40 +====== ====== 43 43 44 - (% style="color:#000000"%)In diesem Beispiel ergibt sich der vollständige Benutzername (sogenannter//DistinguishedName// des Benutzerkontos) durch Anfügen der BaseDN:42 +====== __Kennwort__ ====== 45 45 46 -{{code language="bash"}} 47 -cn=ldap-admin,dc=schule,dc=local 48 -{{/code}} 49 - 50 - 51 -(% class="wikigeneratedid" id="HKennwort" %) 52 -(% style="color:#000000; font-size:16px" %)__Kennwort__ 53 - 54 54 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar: 55 55 56 56 {{code language="bash"}} ... ... @@ -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 als Suffix des Benutzernamens) auch mit folgendem Befehl unter dem Punkt "Credentials" einsehen:50 +Optional kann man das Passwort auch mit folgendem Befehl unter dem Punkt "Credentials" einsehen: 61 61 62 62 {{code language="bash"}} 63 63 root@logosrv:~ # ldconf -o ... ... @@ -64,18 +64,21 @@ 64 64 {{/code}} 65 65 66 66 67 -== (% style="color:#000000" %) __**LDAP-ReadOnly (ldap-ro) Benutzer**__(%%) ==57 +=== (% style="color:#000000" %)**__LDAP-ReadOnly (ldap-ro) Benutzer__**(%%) === 68 68 69 -=== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) === 70 70 60 +==== (% style="color:#000000" %)__Nutzungsgebiet:__(%%) ==== 61 + 71 71 (% style="color:#000000" %)Der LDAP-ReadOnly Benutzer ist für die Verwendung von externen Diensten/Anbindungen gedacht. 72 72 73 -(% style="color:#000000" %)Mögliche Nutzungs szenarien wären unterAnbindung von extern gehostetenWebdiensten (z.B. Moodle, WebUntis oderNextcloud) an die LogoDIDACT-integrierteBenutzerdatenbank über das LDAP-Protokoll.64 +(% style="color:#000000" %)Mögliche Nutzungsmöglichkeiten wären unteranderem die Nutzung und Einbindung von einem extern gehosteten moodle, WebUntis oder einer Nextcloud. 74 74 66 + 75 75 ==== (% style="color:#000000" %)__Benutzername & Passwort:__(%%) ==== 76 76 77 -====== (% style="color:#000000" %)__Benutzername__(%%) ====== 78 78 70 +====== __Benutzername__ ====== 71 + 79 79 (% style="color:#000000" %)Relevant für den Zugriff von Außen wäre folgender Benutzername: 80 80 81 81 {{code language="bash"}} ... ... @@ -82,24 +82,17 @@ 82 82 cn=ldap-ro 83 83 {{/code}} 84 84 85 -====== (% id="cke_bm_979S" style=" color:#000000;display:none" %)__ __(%%) ======78 +====== (% id="cke_bm_979S" style="display:none" %)__ __(%%) ====== 86 86 87 -====== (% style="color:#000000" %)__Attribute des Benutzernamens__(%%)======80 +====== __Attribute des Benutzernamens__ ====== 88 88 89 - (% style="color:#000000" %)DieBaseDN als EinstiegspunktzumLDAP-Verzeichnisdienstkannüber ein zusätzliches Programm ausgelesenrden,z.B.überdasfreieToolLDAP Admin. In diesem BeispiellautetdieBaseDN{{code language="bash"}}dc=schule,dc=local{{/code}}. Dies kann von Installation zu Installation abweichen und wird durch dieintern verwendete DNS Domain bestimmt, hier im Beispiel handelt es sich um den Standardwert.82 +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. 90 90 91 - (% style="color:#000000" %)[[image:1651243652049-471.png]]84 +[[image:1651127322559-640.png]] 92 92 93 93 94 - (% style="color:#000000"%)Im Unterschied zum vorherigen Benutzer steckt dasKonto verschachtelt inder OU //services//. Dadurch ergibt sichnachfolgender, vollständigerBenutzername (sogenannter //Distinguished Name//):87 +====== __Kennwort__ ====== 95 95 96 -{{code language="bash"}} 97 -cn=ldap-ro,ou=services,dc=schule,dc=local 98 -{{/code}} 99 - 100 - 101 -====== (% style="color:#000000" %)__Kennwort__(%%) ====== 102 - 103 103 (% style="color:#000000" %)Das Kennwort ist im logosrv unter folgendem Pfad einsehbar: 104 104 105 105 {{code language="bash"}} ... ... @@ -107,142 +107,12 @@ 107 107 {{/code}} 108 108 109 109 110 -(% 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. 111 -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 112 97 +=== **__LDAP Attribute__** === 113 113 114 -== __**Ports über Firewall an Rev-Proxy weiterleiten**__ == 115 115 116 - Damitdie LDAP Verbindung funktioniert, muss der Port636anen Rev-Proxy weitergeleitetwerden.Diese WeiterleitungkönnenSiewie folgteinrichten:100 +(% style="color:#000000" %)Standardmäßig werden folgende Attribute an den 117 117 118 - 119 -Wechseln Sie in das Verzeichnis der Shorewall: 120 - 121 121 {{code language="bash"}} 122 -root@ldhosts:~ # cd /etc/shorewall 123 -{{/code}} 124 - 125 - 126 -Öffnen Sie die Datei rules mit einem Editor ihrer Wahl: 127 - 128 -{{code language="bash"}} 129 -root@ldhost:/etc/shorewall # vim rules 130 -{{/code}} 131 - 132 - 133 -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 - 135 -(% class="box" %) 136 -((( 137 -(% style="color:#16a085" %)### 138 -# Shorewall version 4.0##(%%) 139 -(% style="color:#16a085" %)#(%%)## 140 -(% style="color:#8e44ad" %)**DNAT ext dmz:172.28.29.3 tcp 636**(%%) 141 -DNAT ext dmz:172.28.29.3 tcp 80,443 142 -DNAT ext dmz:172.28.29.2 tcp 1:21 143 -DNAT ext dmz:172.28.29.2 tcp 23:2221 144 -DNAT ext dmz:172.28.29.2 tcp 2223:65535 145 -DNAT ext dmz:172.28.29.2 udp 1:65535## 146 -))) 147 - 148 - 149 -Starten Sie nun die Firewall des ldhost neu: 150 - 151 -{{code language="bash"}} 152 -root@ldhosts:~ # /etc/init.d/shorewall restart 153 -{{/code}} 154 - 155 - 156 -== __**Zertifikat für Rev-Proxy erstellen und prüfen**__ == 157 - 158 -Damit die Verbindung gesichert werden kann, wird ein Let's Encrypt Zertifikat benötigt. Dieses können Sie nach folgender Anleitung erstellen: 159 - 160 -====== __acmetool__ ====== 161 - 162 -Wechseln Sie in den puppeteer Container: 163 - 164 -{{code language="bash"}} 165 -root@ldhost:~ # lxc-ssh -n puppeteer 166 -{{/code}} 167 - 168 -Fordern Sie das Zertifikat mit folgendem Befehl an (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 169 - 170 -{{code language="bash"}} 171 -root@puppeteer:~ # acmetool want kopano.SCHULKUERZEL.logoip.de 172 -{{/code}} 173 - 174 -====== __acme.sh__ ====== 175 - 176 -Wechseln Sie in den puppeteer Container: 177 - 178 -{{code language="bash"}} 179 -root@ldhost:~ # lxc-ssh -n puppeteer 180 -{{/code}} 181 - 182 - 183 -Wechseln Sie im puppeteer Container in die Umgebung für das Verwalten der Zertifikate: 184 - 185 -{{code language="bash"}} 186 -root@puppeteer:~ # sle 187 -{{/code}} 188 - 189 - 190 -Beantragen Sie ein neues Zertifikat mit folgendem Befehl (Ersetzen Sie "SCHULKUERZEL" mit dem jeweiligen Shortname): 191 - 192 -{{code language="bash"}} 193 -le-acme@puppeteer:~ $ issue kopano.SCHULKUERZEL.logoip.de 194 -{{/code}} 195 - 196 - 197 -Um das verteilen der Zertifikate zu beschleunigen können Sie ggf. einen prun im puppeteer und rev-proxy Container durchführen: 198 - 199 -{{code language="bash"}} 200 -root@puppeteer:~ # prun 201 -root@rev-proxy:~ # prun 202 -{{/code}} 203 - 204 - 205 -== (% style="color:#000000" %)**__LDAP Attribute__**(%%) == 206 - 207 -(% style="color:#000000" %)Standardmäßig werden folgende Attribute an die externe LDAP Schnittstelle weitergegeben: 208 - 209 -{{code language="bash"}} 210 210 entry, cn, displayName, gidnumber, givenName, mail, member, memberOf, memberUid, o, objectClass, ou, sn, title, uid, uidnumber, uniqueMember, ldObjectType, ldRole 211 211 {{/code}} 212 - 213 - 214 -(% 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: 215 - 216 -{{code language="bash"}} 217 -root@puppeteer:~ # vim /etc/logodidact/hiera/custom.d/ldhost.yaml 218 - 219 -#Ist die Datei nicht vorhanden bitte wie folgt anpassen (Im Beispiel werden die Attribute ldBirthday & ldGender hinzugefügt): 220 - 221 ---- 222 -ld_legacy::ldap::ldap_ro_atts: 223 - - ldBirtday 224 - - ldGender 225 -{{/code}} 226 - 227 - 228 -(% style="color:#000000" %)Danach müssen Sie die Änderungen ins Git übernehmen: 229 - 230 -{{code language="bash"}} 231 -root@puppeteer:~ # cd /etc/logodidact/ 232 -root@puppeteer:/etc/logodidact # git add . 233 -root@puppeteer:/etc/logodidact # git coomit -am "LDAP Attribute in der ldhost.yaml hinzugefügt" 234 -{{/code}} 235 - 236 - 237 -(% style="color:#000000" %)Um den Prozess zu beschleunigen bietet sich ein prun im ldhost an. Damit werden die Änderungen sofort an den logosrv weitergeleitet: 238 - 239 -{{code language="bash"}} 240 -root@ldhost:~ # prun 241 -{{/code}} 242 - 243 - 244 -(% style="color:#000000" %)Die angepassten ACL-Änderungen können zur Kontrolle im logosrv in der Konfigurationsdatei slapd.puppet.conf angeschaut werden: 245 - 246 -{{code language="bash"}} 247 -root@logosrv:~ # cat /etc/ldap/slapd.puppet.conf 248 -{{/code}}
- 1651243652049-471.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.JensGruber@sbede - Größe
-
... ... @@ -1,1 +1,0 @@ 1 -16.3 KB - Inhalt