====== LDAP ======
| Verantwortung | Malte, TVLuke |
| Container | ldap |
| W. Ports | ldaps (tcp/636) |
| OS | Debian 12.5 |
| Server | [[infrastruktur:server:gallifrey]] |
| Zustand | Produktiv |
{{tag>infrasystem container magrathea ldapconnected productive malte}}
===== Services =====
^ Serviceübersicht ^ Version ^
| slapd | 2.5.13+dfsg-5 |
====LDAP ====
=== ldap.chaotikum.net =====
=== Passwort ändern ===
Es gibt komplizierte Prozesse, das über LDAP und Konsole zu tun (siehe unten). Das ist aber komplett unnötig. Wie es einfach geht, steht [[:hackspace:infrastruktur:keycloak|in diesem Artikel]].
Wer aber darauf besteht: Hier ist komplizierte Lösung: Das eigene Passwort kann von einem System mit IPv6-Internet, LDAP-Utils und CAcert-CA mit den folgenden Befehl geändert werden.
Für Mitglieder:
export LDAPTLS_CACERTDIR=/etc/ssl/certs/
ldappasswd -SWH ldaps://ldap.chaotikum.net -D uid=$USERNAME,ou=users,ou=internal,dc=chaotikum,dc=org
Für externe Benutzer (Nicht-Mitglieder):
export LDAPTLS_CACERTDIR=/etc/ssl/certs/
ldappasswd -SWH ldaps://ldap.chaotikum.net -D uid=$USERNAME,ou=users,ou=external,dc=chaotikum,dc=org
=== Zugang ===
* Domain: %%ldaps://ldap.chaotikum.net%%
* Zertifikat: CAcert
* Base-DN: dc=chaotikum,dc=org bzw. ou=internal,dc=chaotikum,dc=org
* Mitglieder: ou=users,ou=internal,dc=chaotikum,dc=org
* Nicht-Mitglieder: ou=users,ou=external,dc=chaotikum,dc=org
* Gruppen: ou=groups,ou=internal,dc=chaotikum,dc=org
Auch Gruppenzugehörigkeiten für Nicht-Mitglieder sind unter ou=groups,ou=internal zu finden, sodass entweder dc=chaotikum,dc=org oder ou=internal,dc=chaotikum,dc=org als Base-DN konfiguriert werden kann.
=== Lesender Zugriff ===
* Ohne Login aus 2a01:4f8:160:3067::/64, 2a01:4f8:172:1ba6:1::/64
* Mit Login eines der LDAP-User
=== Verwaltung ===
* Admin: cn=admin,dc=chaotikum,dc=org
* UIDs & GIDs jeweils ab 2000
* User können Passwort & loginShell selbst ändern
* Primäre Gruppe aller User ist cn=ldapusers,ou=groups,ou=internal,dc=chaotikum,dc=org (GID 2000)
* Passwort hat der Vorstand
=== Konfiguration ===
* Base-DN: cn=config
* Admin: cn=admin,cn=config
* Gleiches Passwort wie cn=admin,dc=chaotikum,dc=org
==== Systeme am LDAP ====
Bei diesen Systemen kannst du dich mit dem [[:hackspace:infrastruktur:keycloak|Chaotikum Account]] einloggen. Meist ist ein seperater login nötig, außer bei Systemen, die unten unter **Systeme mit SingleSignOn über me.chaotikum.org** aufgelistet sind.
{{topic>infrastruktur:?ldapconnected -ldapmembersonly}}
**Nur für Mitglieder des Chaotikums**
{{topic>infrastruktur:?ldapconnected +ldapmembersonly}}
==== Systeme mit SingleSignOn über me.chaotikum.org ====
{{topic>infrastruktur:?ssoenabled}}
=== Freischalten neuer Accounts ===
https://wiki.chaotikum.org/intern:ldap:freischalten
=== LDAP Konten anlegen mit ApaceDirectStudio ===
LDAP Konten können grafisch mit ApacheDirectStudio angelegt und gepflegt werden.
* https://directory.apache.org/studio/downloads.html
Mit diesem Tool kann jede Person auch ihren Namen, Display-Name, Email und Passwort pflegen.
== Einrichten ==
* Installieren, Starten
* Im Menü LDAP -> Neue verbindung
* Der Hostname ist der LDAP Server ohne das "%%ldaps://%%", Port ist 636, verschlüsselung SSL
* Weiter
* ...
== Einrichten für admins ==
* Installieren, Starten
* Im Menü LDAP -> Neue verbindung
* Der Hostname ist der LDAP Server ohne das "%%ldaps://%%", Port ist 636, verschlüsselung SSL
* Weiter
* Der Benutzer ist der gesammte String: cn=admin,dc=chaotikum,dc=org
* Passwort im Safe
* Weiter
* Basis-DNs-Abrufen
* Weiter
* Fertigstellen
== Neuen User anlegen ==
* Zuersteinmal gehe man durch alle user INTERn UND EXTERN und suche die höchste uid
* Man finde einen User, der kein Admin ist. das geht so
* Rechtsklick auf den User -> Neu -> "Neuer Eintrag..."
* Ändere alle Daten entsprechend (Name, homeverzeichniss, email...)
* Vergebe die nächst höhere uid
* Lasse den User ein Passwort eingeben
Fertig.
==== Zertifikate ====
Wir benutzen certbot, um SSL-Zertifikate bei Let's Encrypt zu erneuern.
Die Zertifikate liegen unter
/etc/letsencrypt/live/ldap.chaotikum.net
Es ist wichtig, dass slapd die Zertifikate auch lesen kann. Deswegen muss das eXecute Bit bei folgenden Ordnern gesetzt sein:
/etc/letsencrypt/live
/etc/letsencrypt/archive
Das kann man testen mit
sudo -u openldap cat /etc/letsencrypt/live/ldap.chaotikum.net/cert.pem
Damit der Certbot das LDAP neustartet, wenn ein Zertifikat erneuert wurde, steht in der Datei
/etc/letsencrypt/renewal/ldap.chaotikum.net.conf
die Zeile
renew_hook = systemctl restart slapd
certbot erneuert das Zertifikat automatisch. Man kann das aber auch manuell anstoßen:
certbot renew
===== Wartung =====
{{topic>:infrastruktur:wartung?wartungsfenster +ldap &nodate&nouser&desc&table}}