So installierst du OpenLDAP Server und LDAP Account Manager unter Debian 12
OpenLDAP ist eine Softwareimplementierung des Lightweight Directory Access Protocol (LDAP). OpenLDAP ist eine freie und quelloffene Software mit einer BSD-ähnlichen Lizenz namens OpenLDAP Public License. Die kommandozeilengesteuerte LDAP-Software ist auf den meisten Linux-Distributionen wie CentOS, Ubuntu, Debian, SUSE und vielen anderen verfügbar.
OpenLDAP ist eine komplette Software-Suite für LDAP-Server, die SLAPD (eigenständiger LDAP-Daemon), SLURPD (eigenständiger LDAP-Update-Replikations-Daemon) sowie einige Dienstprogramme und Tools für die Verwaltung von LDAP-Servern umfasst. OpenLDAP ist ein sehr anpassungsfähiger LDAP-Server und unterstützt alle wichtigen Computerplattformen.
Dieser Artikel führt dich Schritt für Schritt durch die Installation des OpenLDAP-Servers unter Debian 12. Außerdem installierst du den LDAP Account Manager oder LAM, eine PHP-Webanwendung, die zur Verwaltung des OpenLDAP-Servers verwendet werden kann.
Voraussetzungen
Um mit diesem Leitfaden zu beginnen, musst du Folgendes haben:
Einen Debian 12-Server – Diese Demo verwendet einen Rechner mit dem Hostnamen ldap und der IP-Adresse 192.168.10.15.
Einen Nicht-Root-Benutzer mit Administratorrechten.
Einrichten des FQDN
Im ersten Schritt musst du den richtigen fqdn (Fully Qualified Domain Name) deines Debian-Servers konfigurieren. Dies kannst du mit dem Dienstprogramm hostnamectl und durch Ändern der Datei /etc/hosts erreichen.
Führe den folgenden Befehl hostnamectl aus, um den fqdn für deinen Debian-Server einzurichten. In diesem Fall ist der fqdn, der für den OpenLDAP-Server verwendet wird, ldap.mydomain.local.
sudo hostnamectl set-hostname ldap.mydomain.local
Öffne die Datei /etc/hosts mit dem Befehl nano editor.
sudo nano /etc/hosts
Füge die IP-Adresse deines OpenLDAP-Servers, den Hostnamen und den fqdn wie folgt ein:
192.168.10.15 ldap.mydomain.local ldap
Wenn du fertig bist, speichere die Datei und beende den Editor.
Zum Schluss führst du den folgenden Befehl aus, um sicherzustellen, dass du den richtigen fqdn hast. Stelle dann sicher, dass der fqdn auf die richtige IP-Adresse zeigt.
sudo hostname -f sudo ping -c3 ldap.mydomain.local
In der folgenden Ausgabe siehst du, dass der fqdn des Debian-Servers ldap.mydomain.local ist, der auf die lokale IP-Adresse 192.168.10.15 zeigt.
Installation und OpenLDAP Server
Nachdem du den fqdn konfiguriert hast, kannst du das OpenLDAP-Serverpaket über APT aus dem offiziellen Debian-Repository installieren. Anschließend musst du einige grundlegende Informationen über deinen OpenLDAP-Server konfigurieren, z. B. einen Domänennamen und das Admin-Passwort.
Bevor du OpenLDAP installierst, führe den Befehl apt update aus, um deinen Debian-Paketindex zu aktualisieren.
sudo apt update
Führe nun den Befehl apt install aus, um das OpenLDAP-Serverpaket zu installieren. Wenn du dazu aufgefordert wirst, bestätige mit y und fahre mit der Installation fort.
sudo apt install slapd ldap-utils
Während der Installation wirst du aufgefordert, das Admin-Passwort für den OpenLDAP-Server festzulegen. Gib dein Passwort ein und wiederhole es.
Nachdem der OpenLDAP-Server installiert ist, führe den folgenden Befehl aus, um deine OpenLDAP-Installation zu konfigurieren.
sudo dpkg-reconfigure slapd
Wähle NEIN, wenn du gefragt wirst, ob du die Standardkonfiguration von OpenLDAP auslassen willst.
Gib den Domänennamen für deinen OpenLDAP-Server ein und wähle OK.
Gib nun den Namen der Organisation ein und wähle OK.
Gib als Nächstes dein Admin-Passwort für den OpenLDAP-Server ein und wiederhole das Passwort.
Wenn du gefragt wirst, ob du die alte Datenbank des OpenLDAP-Servers löschen willst, wähle NEIN.
Um die Konfiguration des OpenLDAP-Servers abzuschließen, wähle JA, wenn du gefragt wirst, ob die alte OpenLDAP-Datenbank an einen neuen Ort verschoben werden soll.
Wenn du fertig bist, solltest du eine Ausgabe wie diese erhalten:
Nachdem der OpenLDAP-Server konfiguriert ist, führe den folgenden systemctl-Befehl aus, um den OpenLDAP-Dienst slapd neu zu starten und die Änderungen zu übernehmen. Überprüfe dann den slapd-Dienst, um sicherzustellen, dass der Dienst läuft.
sudo systemctl restart slapd sudo systemctl status slapd
Wenn er läuft, solltest du eine Ausgabe wie “ active (running)“ erhalten.
Führe abschließend den folgenden Befehl aus, um den Domänennamen deines OpenLDAP-Servers zu überprüfen.
sudo slapcat
Wenn alles gut läuft, solltest du sehen, dass der OpenLDAP-Server mit der benutzerdefinierten Domäne konfiguriert ist. In diesem Fall lautet der Domänenname ldap.mydomain.local.
Absicherung von OpenLDAP mit UFW
In diesem Fall wirst du deinen OpenLDAP-Server mit UFW sichern. Du installierst also UFW über APT, konfigurierst UFW und öffnest die Protokolle LDAP, LDAPS, HTTP und HTTPS.
Zuerst installierst du UFW mit dem Befehl apt install (siehe unten). Gib y ein, um die Installation zu bestätigen.
sudo apt install ufw
Sobald UFW installiert ist, führe den folgenden Befehl aus, um das OpenSSH-Profil hinzuzufügen und UFW zu aktivieren. Gib y ein und drücke ENTER zur Bestätigung.
sudo ufw allow OpenSSH sudo ufw enable
Die Ausgabe„Firewall is active and enabled on system startup“ sollte anzeigen, dass die UFW jetzt läuft und aktiviert ist.
Als Nächstes führst du die unten stehenden ufw-Befehle aus, um die Profile LDAP, LDAPS und WWW Full für die UFW zu aktivieren.
sudo ufw allow LDAP sudo ufw allow LDAPS sudo ufw allow "WWW Full"
Zum Schluss führst du den unten stehenden Befehl aus, um die UFW neu zu laden und die Änderungen zu übernehmen. Überprüfe dann den UFW-Status, um sicherzustellen, dass sowohl LDAP als auch LDAPS auf der UFW verfügbar sind.
sudo ufw reload sudo ufw status
Hinzufügen der Basisgruppe
Nach der Installation des OpenLDAP-Servers und der UFW erstellst du nun die Basisgruppe für deinen OpenLDAP-Server über die LDIF-Datei. Die Basisdomäne wird hier verwendet, um OpenLDAP-Benutzer und -Gruppen zu speichern.
Erstelle eine neue LDIF-Datei base.ldif mit dem folgenden nano-Editor-Befehl.
sudo nano base.ldif
Füge die folgende Konfiguration ein und achte darauf, dass du den Domänennamen durch deine Domäne ersetzt. In diesem Fall erstellst du zwei Basisgruppen, Personen und Gruppen.
# base.ldif dn: ou=People,dc=ldap,dc=mydomain,dc=local objectClass: organizationalUnit ou: people dn: ou=Groups,dc=ldap,dc=mydomain,dc=local objectClass: organizationalUnit ou: groups
Wenn du fertig bist, speichere die Datei und beende den Editor.
Führe nun den folgenden Befehl aus, um eine neue Basisgruppe über die Datei base.ldif hinzuzufügen. Wenn du dazu aufgefordert wirst, gibst du dein OpenLDAP-Administrator-Passwort ein.
sudo ldapadd -x -D cn=admin,dc=ldap,dc=mydomain,dc=local -W -f base.ldif
Führe abschließend den Befehl ldapsearch aus, um die verfügbare Basisgruppe auf deinem OpenLDAP-Server zu finden.
sudo ldapsearch -x -b "dc=ldap,dc=mydomain,dc=local" ou
Wenn alles klappt, solltest du zwei Basisgruppen People und Groups auf dem OpenLDAP-Server sehen.
Hinzufügen eines neuen Benutzers
In diesem Abschnitt wirst du einen neuen OpenLDAP-Benutzer über die LDIF-Datei anlegen.
Um einen neuen OpenLDAP-Benutzer anzulegen, musst du das verschlüsselte Passwort mit dem unten stehenden Befehl slappasswd erzeugen. Gib dein Passwort ein und wiederhole es, dann kopiere das generierte Passwort.
sudo slappasswd
Verwende nun den folgenden Befehl des nano-Editors, um eine neue LDIF-Datei user.ldifzu erstellen.
nano user.ldif
Füge die folgende Konfiguration ein und achte darauf, dass du die Angaben zu Benutzer, Passwort und Domänenname änderst. In diesem Fall wirst du einen neuen Benutzer und eine neue Gruppe debian erstellen.
# user.ldif dn: uid=debian,ou=People,dc=ldap,dc=mydomain,dc=local objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: debian sn: bookworm userPassword: {SSHA}23rFF1ofbNo5MRxEJo6D2Z4PT2GOxeWt loginShell: /bin/bash uidNumber: 2000 gidNumber: 2000 homeDirectory: /home/debian shadowLastChange: 0 shadowMax: 0 shadowWarning: 0 dn: cn=debian,ou=Groups,dc=ldap,dc=mydomain,dc=local objectClass: posixGroup cn: debian gidNumber: 2000 memberUid: debian
Wenn du fertig bist, speichere und beende die Datei.
Als Nächstes führst du den Befehl ldapadd aus, um deinen Benutzer über die LDIF-Datei user.ldif hinzuzufügen. Gib dein OpenLDAP-Admin-Passwort ein, wenn du dazu aufgefordert wirst.
sudo ldapadd -x -D cn=admin,dc=ldap,dc=mydomain,dc=local -W -f user.ldif
Zum Schluss führst du den folgenden Befehl aus, um die Benutzer zu finden, die in der Basisgruppe People verfügbar sind. Wenn dies erfolgreich war, sollte der Benutzer debian dem OpenLDAP-Server hinzugefügt werden.
sudo ldapsearch -x -b "ou=People,dc=ldap,dc=mydomain,dc=local"
Installation des LDAP Account Managers
Jetzt hast du die Installation des OpenLDAP-Servers abgeschlossen. In den nächsten beiden Schritten installierst du den LDAP Account Manager (LAM) über das offizielle Debian-Repository und konfigurierst den LAM mit deiner OpenLDAP-Serverinstallation.
Führe den Befehl apt install aus, um den ldap-account-manager auf deinem OpenLDAP-Server zu installieren. Wenn du ldap-account-manager installierst, installierst du auch zusätzliche Abhängigkeiten wie PHP 8.2 und den Apache2 Webserver.
sudo apt install ldap-account-manager
Gib y ein, um die Installation zu bestätigen.
Nachdem der ldap-account-manager installiert ist, öffne mit dem Editor nano die PHP-Konfigurationsdatei /etc/php/8.2/apache2/php.ini.
sudo nano /etc/php/8.2/apache2/php.ini
Ändere den Standardparameter memory_limit auf 256M.
memory_limit = 256M
Wenn du fertig bist, speichere und beende die Datei.
Als Nächstes öffnest du die Apache2-Konfiguration für den ldap-account-manager /etc/apache2/conf-enabled/ldap-account-manager.conf mit dem Editor nano.
sudo nano /etc/apache2/conf-enabled/ldap-account-manager.conf
Ändere den Parameter „Require all granted“ in „Require ip subnet“ und stelle sicher, dass du deine lokale IP-Adresse hinzufügst und ihr den Zugriff auf den LDAP Account Manager erlaubst.
``` #Require all granted Require ip 127.0.0.1 192.168.10.0/24 ```
Speichere und beende die Datei, wenn du fertig bist.
Führe nun den Befehl systemctl aus, um den apache2-Dienst neu zu starten und die Änderungen zu übernehmen.
sudo systemctl restart apache2
Starte deinen Webbrowser und rufe die IP-Adresse des Servers mit dem Pfad lam auf (z.B. : http://192.168.10.15/lam), um auf den LDAP Account Manager zuzugreifen. Wenn du erfolgreich warst, solltest du die LAM-Seite wie folgt sehen:
LDAP Account Manager konfigurieren
Im nächsten Schritt fügst du deinen OpenLDAP-Server zum LDAP Account Manager hinzu. Das kannst du ganz einfach über einen Webbrowser erledigen.
Klicke oben rechts auf das Menü LAM-Konfiguration.
Klicke auf Serverprofile bearbeiten, um das OpenLDAP-Profil zu ändern.
Wenn du dazu aufgefordert wirst, gib den Standardbenutzer und das Passwort lam ein und klicke dann auf OK, um fortzufahren.
Jetzt solltest du die LAM-Konfigurationsseite sehen.
In den Allgemeinen Einstellungen konfigurierst du den folgenden Abschnitt:
- Gib bei den Tool-Einstellungen den Domänennamen deines OpenLDAP-Servers ein.
- Bei den Sicherheitseinstellungen wählst du als Anmeldemethode Feste Liste und gibst die Details admin user für den OpenLDAP-Server ein.
- Gib im Feld Profilpasswort das neue Passwort ein und wiederhole es.
Klicke auf Speichern, um die Änderungen zu übernehmen.
Als nächstes klickst du auf den Abschnitt Kontotypen und konfigurierst den folgenden Abschnitt:
- Im Abschnitt Benutzer gibst du die Standard-Basisdomäne für OpenLDAP-Benutzer ein. In diesem Fall ist das Standardsuffix People.
- Im Abschnitt Gruppen gibst du die Standard-Basisdomäne für die Gruppe ein. In diesem Fall ist die standardmäßige andere Gruppe Groups.
Klicke auf Speichern, um die Änderungen zu übernehmen.
Jetzt solltest du zur LAM-Anmeldeseite weitergeleitet werden. Gib den Admin-Benutzer und das Passwort für deinen OpenLDAP-Server ein und klicke dann auf Anmelden.
In der Rubrik Benutzer solltest du den Benutzer debian sehen.
Fazit
Wenn du diese Schritt-für-Schritt-Anleitung befolgst, hast du die Installation des OpenLDAP-Servers und des LDAP Account Managers unter Debian 12 abgeschlossen. Außerdem hast du den OpenLDAP-Server über UFW gesichert und einen Benutzer in OpenLDAP über eine LDIF-Datei angelegt. Zu guter Letzt hast du auch LAM in den OpenLDAP-Server integriert. Jetzt kannst du über den LDAP Account Manager weitere Benutzer zum OpenLDAP-Server hinzufügen.