User tools

Website tools


LDAP authentication module

This is an old version of the document!


LDAP authentication module

Die Authentisierung gegen ein LDAP-Verzeichnis ist mit Hilfe eines Authentisierungsmoduls möglich. Zur Anbindung des LDAP-Moduls wird die Authentisierung auf „extern“ umgestellt.

In der Datei /etc/benno-web/benno.conf wird der Pfad zur externen Authentisierung wie folgt eingestellt:

EXTERNAL_AUTH = /usr/sbin/benno_auth.d

Ein eventuell vorhandenes Kommentarzeichen (#) vor dem Eintrag wird entfernt.

Das LDAP-Authentisierungsmodul wird per Symlink in das Verzeichnis des Authentisierungs-Stacks aktiviert:

ln -s /usr/lib/benno-web/benno_ldapauth /etc/benno-web/auth.d/

Active Directory

The connection to Active Directory is also established via LDAP. The specifics of the configuration are described here

LDAP connection

The configuration for communication with the LDAP server is made in the file /etc/benno-web/ldapauth.conf .

The commented-out entries for the individual parameters in the file are default settings that are also active with comment characters.

Configuration file ldapauth.conf

The following adjustments are necessary for connecting Benno MailArchiv to an LDAP server.

User authentication

host

host = ldap.lw-systems.de

Der Hostname oder die IP-Adresse des LDAP-Server. Falls der Dienst nicht an den Standard-Port 389 gebunden ist, wird der Port mit einem Doppelpunkt getrennt angegeben.

basedn

basedn = dc=lw-systems,dc=net

The BaseDN of the LDAP directory.

userattr

userattr = uid

Der Benutzername wird hier angegebenen Attribut gesucht. Bei der Authentisierung gegen eine Windows AD Domäne muss der Parameter auf sAMAccountName gesetzt werden.

usersuffix

usersuffix = ou=users,dc=lw-systems,dc=net

In der Voreinstellung bei nicht belegtem Wert von usersuffix wird eine Suche im LDAP nach dem Userobjekt durchgeführt. Dieses erfordert die Möglichkeit eines anonymen Bind am LDAP Verzeichnis oder die Konfiguration der binddn und mit entsprechendem passwort.

Falls keine Suche möglich ist, wird hier der vollständige distinguished Name der OU angegeben, in der die Userobjekte gespeichert sind. Beim Login des Users wird dann ein Bind mit uid=

objectclass

objectclass = posixAccount

The filter for the object class that a user account must possess. Windows AD requires the setting "user".

user filter

userfilter = (&(objectClass=posixAccount)(uid=%s))

This parameter allows you to configure any LDAP filter, which must match a valid user object. This makes it possible to restrict login to the Benno MailArchive to selected users only.

If this setting is active, the values ​​of userattr and objectclass ignored.

tls

tls = false

Wenn auf true gesetzt, erfolgt die Abfrage des LDAP-Servers verschlüsselt.

binddn

binddn = cn=admin,dc=lw-systems,dc=net

Falls aktiviert, führt das Authentisierungsmodul zuerst eine LDAP Bind mit diesem Benutzer-DN und dem u.a. password durch.

email / alias

email = mail alias = emailAlias

Aus den hier konfigurierten LDAP-Attributen werden die gültigen E-Mail Adressen eines Benutzers ermittelt. Hier können per Komma getrennt jeweils mehrere Attribute angebeben werden. Beispiel: alias = emailAlias, mailAlternativeAddress

addemail

addemail = employee@lw-systems.net

The addresses configured here will be assigned to all users as additional email addresses. The list of addresses is separated by commas and spaces.

role

role = bennoRole

Dieses (String-) Attribut enhält die Rolle, die dem User beim Login zugeordnet wird. Falls hier nichts eingetragen ist, bekommen jeder Benutzer mindestens die Role USER.

container

container = bennoContainer

Dieses (String-) Attribut enhält den Container auf den der benutzer nach dem Login zugreifen darf. Falls kein entsprechendes Attribut konfiguriert ist, wird die Einstellung von default_container übernommen.

default_container

default_container = BennoContainer

Jeder Benutzer erhält beim Login auf diesen Container Zugriff. Der Container BennoContainer ist der voreingestellte Container bei der Archivierung und sollte ohne wichtigen Grund nicht geändert werden.

adminuser

adminuser = bennoadmin, superadmin

List of usernames that are assigned the ADMIN role after login

revisoruser

revisoruser = revisor

List of usernames that are assigned the role of REVISOR after login

filter_before-created

Default: false

Falls dieser Wert auf true gesetzt wird, wird das Attribut „whenCreated“ (ActiveDirectory) ausgelesen und hiermit ein Filterstring generiert, der den Zugriff auf E-Mails vor dem Erstellungsdatum des Users unterbindet.

loglevel

loglevel = 0

Log level of the authentication module during debugging via the command line.

echo -e "<username> \n<password> " | /etc/benno-web/auth.d/benno_ldapauth

Group assignment

Das Modul benno_ldapgroups ermöglicht die Zuordnung von E-Mail Adressen, die die für Benutzergruppen konfiguriert sind.Alle Benutzer der Gruppe dürfen auf E-Mails der Gruppenadresse zugreifen.

Das Modul wird mit dem Kommando
ln -s /usr/lib/benno-web/benno_ldapgroups /etc/benno-web/auth.d/
aktiviert.

This authentication module is available with Benno Web 2.4.1.

groupobjectclass

groupobjectclass = posixGroup

The object class of the valid groups for the assignment.

groupuserattr

groupuserattr = memberUid

The username is searched for in this attribute of the group. If the username is set in the group, the email address is read from the groupmailattr .

groupmailattr

groupmailattr = univentionFreeAttribute15

Dieses Attribut enthält E-Mail Adressen, die der Gruppe zugeordnet sind. Als Beispiel wurde hier die Konfiguration einer UCS Domäne herangezogen.

Schematic extension

Das LDAP-Schema kann mit spezifischen Attributen für Benno MailArchiv erweitert werden. Das Schema ist in der Schemadefinition beschrieben.

Diese Attribute müssen in der Konfigurationsdatei ldapauth.conf entsprechend adressiert werden.

ldap-authentisierungsmodul.1579531178.txt.gz · Zuletzt geändert: 2020/01/20 14:39 von lwsystems