Menu

Icinga Web 2 LDAP Authentifizierung

In einem frühren Beitrag habe ich die Installation von Icinga 2 und Icinga Web 2 auf einem Raspberry Pi beschrieben. Da ich in meiner Systemlandschaft einen Univention Corporate Server (UCS) betreibe, wollte ich mich an Icinga Web 2 mit meinem LDAP Benutzer anmelden. Die LDAP Anbindung ist prinzipiell nicht sonderlich kompliziert und in wenigen Schritten erledigt.

Zuerst muss eine neue Anmelderessource hinzugefügt werden. Den entsprechenden Punkt findet ihr im Webinterface von Icinga unter Konfiguration → Anwendung → Ressource → Neue Ressource anlegen.

Icinga Web 2 - Ressource hinzufügen
Daraufhin öffnet sich ein neuer Tab für den folgende Werte benötigt werden:

Ressourcentyp → LDAP
Ressourcenname → beliebig wählbar
Host → Hostname oder die IP-Adresse des LDAP-Servers (für LDAP mit STARTTLS zwingend Hostname!)
Port → 7389
Verschlüsselung → STARTTLS
Wurzel-DN → dc=example,dc=com
Bind DN → uid=[AuthUser],cn=users,dc=example,dc=com
Der UCS akzeptiert generell keine anonymen Anfragen an den LDAP. Daher musss man einen separaten Benutzer (dieser benötigt keinerlei Rechte außer Domain Users) anlegen.
Bind Kennwort → [AuthUser Password]

Abschließend die Änderung speichern. An dieser Stelle könnt ihr zwar mit Konfiguration validieren die Verbindung testen, ihr werdet aber eine Fehlermeldung erhalten. Das liegt daran, dass für den LDAP-Client noch nicht die korrekte rootCA eingerichte ist.

An dieser Stelle habt ihr zwei Optionen. Die einfachste Methode ist die rootCA eures UCS auf dem Icinga Hostserver herunterzuladen und im LDAP Client zu hinterlegen, die zweite etwas aufwändigere Möglichkeit wäre mit dem Client gleich sauber der Domäne beizutreten. Die Anbindung eines Clients ist im Wiki von Univention sehr gut beschrieben. Auch wenn dort ein Ubuntu Client verwendet wird, funktioniert die Anbindug von Debian nach dem selben Vorgehen. Für diesen Beitrag zeige ich nur, wie ihr die rootCA korrekt einrichtet.

Verbindet euch per SSH mit eurem Icinga Hostserver und ladet die rootCA herunter.

  1. # Create directory strukture
  2. mkdir -p /etc/univention/ssl/ucsCA/
  3. #Download your CA certificate
  4. wget -O /etc/univention/ssl/ucsCA/CAcert.pem http://FQDN/ucs-root-ca.crt

Danach muss das Zertifikat noch in der ldap.conf hinterlegt werden.

  1. nano /etc/ldap/ldap.conf
  2. TLS_CACERT /etc/univention/ssl/ucsCA/CAcert.pem
  3. TLS_REQCERT demand

Jetzt könnt ihr eure Konfiguration erneut validieren und solltet Erfolg haben.

Damit die verfügbaren LDAP Benutzer und Gruppen ausgelesen werden, müssen in Icinga Web 2 noch Backends für Benutzer und Benutzergruppen konfiguriert werden. Die Konfiguration findet ihr unter Konfiguration → Anwendung → Authentifizierung. Legt zuerst einen Backend für Benutzer an:

Backend-Typ → LDAP
Backend-Name → beliebig wählbar
LDAP Verbindung → Name der Ressource
LDAP Objektklasse für den Benutzer → inetOrgPerson
LDAP Filter → !(|(univentionObjectFlag=hidden)(displayName=none))
LDAP Filter sind natürlich abhängig von eurer LDAP Struktur. Ich habe den Filter so angelegt, das BuildIn-Benutzer bzw. Systembenutzer ausgeblendet werden.
LDAP-Attribut für den Benutzernamen → uid
LDAP Basis DN → dc=example,dc=com

Als letzten Schritt legen wir noch ein Backend für Benutzergruppen an:

Backend-Typ → LDAP
Backend-Name → beliebig wählbar
LDAP Verbindung → Name der Ressource
Backend für Benutzer → Name des Benutzerbackends
LDAP Objektklasse für die Gruppe → posixGroup
LDAP-Attribut für den Gruppennamen → cn
LDAP-Attribut für die Gruppenmitgliedschaft → memberUid
LDAP Basis-DN für Gruppen → cn=groups,dc=example,dc=com

Das wars, jetzt könnt ihr unter Konfiguration → Authentifizierung Rollen, Benutzer und Benutzergruppen konfigurieren.

Euch hat der Beitrag gefallen, ihr habt Fragen oder Anregungen? Hinterlasst mir einen Kommentar oder diskutiert im OSBN-Chat.

Kommentare

Linear Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht veröffentlicht, sondern nur für eventuelle Benachrichtigungen verwendet.
Die Formatierung der Kommentare ist über Markdown möglich.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Gravatar Autoren-Bilder werden unterstützt.
Markdown-Formatierung erlaubt