Benutzer-Werkzeuge

Webseiten-Werkzeuge


ldap-authentisierungsmodul

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ldap-authentisierungsmodul [2017/11/15 09:00] – [Konfiguration] lwsystemsldap-authentisierungsmodul [2021/10/13 12:58] (aktuell) – [groupmailattr] lwsystems
Zeile 1: Zeile 1:
 ====== LDAP-Authentisierungsmodul ====== ====== LDAP-Authentisierungsmodul ======
  
-===== Installation ===== 
  
-Das LDAP-Authentisierungsmodul ist als [[Externe Authentisierungsschnittstelle|externes Authentisierungsmodul]] im Verzeichnis /usr/lib/benno-web gespeichert. Zur Anbindung des LDAP-Moduls wird die Authentisierung auf "extern" umgestellt.+Die Authentisierung gegen ein LDAP-Verzeichnis ist mit Hilfe eines [[Externe Authentisierungsschnittstelle| Authentisierungsmoduls]] möglich. Zur Anbindung des LDAP-Moduls wird die Authentisierung auf "extern" umgestellt.
  
 In der Datei [[Benno.conf|/etc/benno-web/benno.conf]] wird der Pfad zur externen Authentisierung wie folgt eingestellt: In der Datei [[Benno.conf|/etc/benno-web/benno.conf]] wird der Pfad zur externen Authentisierung wie folgt eingestellt:
Zeile 11: Zeile 10:
 Das LDAP-Authentisierungsmodul wird per Symlink in das Verzeichnis des Authentisierungs-Stacks aktiviert: Das LDAP-Authentisierungsmodul wird per Symlink in das Verzeichnis des Authentisierungs-Stacks aktiviert:
  
-<code bash>ln -s /usr/lib/benno-web/benno_ldapauth /etc/benno-web/auth.d/</code>+<code>ln -s /usr/lib/benno-web/benno_ldapauth /etc/benno-web/auth.d/</code>
    
 +===== Active Directory =====
  
-Die Anbindung an [[Active Directory]] erfolgt ebenfalls per LDAP. Die Konfiguration des Moduls ist [[Active Directory|hier]] beschrieben. 
-====== Konfiguration ====== 
  
-Die Konfiguration zur Kommunikation mit dem LDAP-Server werden in der Datei ''[[:konfigurationsbeispiele:ldapauth.conf|/etc/benno-web/ldapauth.conf]]'' vorgenommen +Die Anbindung an [[Active Directory]] erfolgt ebenfalls per LDAP. Die Eigenheiten der Konfiguration von ist [[Active Directory|hier]] beschrieben.
  
-Das LDAP-Schema kann mit spezifischen Attributen für Benno MailArchiv wie in der [[benno-ldap.schema|Schemadefinition]] beschrieben, erweitert werden.\\+====== LDAP Anbindung ======
  
-Diese Attribute werden dann in der Konfigurationsdatei [[:konfigurationsbeispiele:ldapauth.conf|ldapauth.conf]] entsprechend adressiert.+Die Konfiguration zur Kommunikation mit dem LDAP-Server werden in der Datei ''[[:konfigurationsbeispiele:ldapauth.conf|/etc/benno-web/ldapauth.conf]]'' vorgenommen. 
 + 
 +Die in der Datei auskommentierten Angaben für die einzelnen Parameter sind Voreinstellungen, die auch mit Kommentarzeichen aktiv sind. 
 + 
 +===== Konfigurationsdatei ldapauth.conf ===== 
 + 
 +Die folgenden Anpassungen sind für die Anbindung von Benno MailArchiv an einen LDAP-Server notwendig. 
 + 
 +==== Benutzer-Authentisierung ==== 
 + 
 +=== 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. 
 +Ein Backup-Host kann hier durch ein Komma getrennt angegeben werden. 
 + 
 +=== basedn === 
 + 
 +  basedn = dc=lw-systems,dc=net 
 +   
 +Die BaseDN des LDAP-Verzeichnisses. 
 + 
 +=== 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=<username> und dem Wert von "usersuffix" durchgeführt. 
 + 
 + 
 +=== objectclass === 
 +  
 +  objectclass = posixAccount 
 + 
 +Der Filter der Objektklasse, die ein User Account besitzen muss. Windows AD erfordert hier die Einstellung //user//. 
 + 
 +=== userfilter === 
 + 
 +  userfilter = (&(objectClass=posixAccount)(uid=%s)) 
 + 
 +Mit diesem Parameter können beliebige LDAP-Filter konfiguriert werden, auf die ein gültiges User-Objekt zutreffen muss. Dieses bietet die Möglichkeit, das Login am Benno MailArchiv nur für ausgewählte Benutzer zu erlauben. 
 +  
 +Falls diese Einstellung aktiv ist, werden die Werte von //[[#userattr]]// und //[[#objectclass]]// ignoriert. 
 + 
 +=== 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 = mitarbeiter@lw-systems.net 
 + 
 +Die hier konfigurierten Adressen werden allen Benutzern als zusätzliche E-Mail Adresse zugeordnet. Die Liste der Adressen wird mit Komma und Leerzeichen getrennt. 
 + 
 +=== 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 
 + 
 +Liste von Benutzernamen, die nach dem Login die Rolle //ADMIN// zugewiesen bekommen. 
 + 
 +=== revisoruser === 
 + 
 +  revisoruser = revisor 
 + 
 +Liste von Benutzernamen, die nach dem Login die Rolle //REVISOR// zugewiesen bekommen. 
 + 
 +=== 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 
 + 
 +Loglevel des Authentisierungsmoduls beim Debgging über die Kommandozeile. 
 + 
 +  echo -e "<username>\n<password>" | /etc/benno-web/auth.d/benno_ldapauth 
 + 
 +==== Gruppen-Zuordnung ==== 
 + 
 +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. 
 + 
 +Dieses Authentisierungs-Modul ist mit Benno Web 2.4.1 verfügbar. 
 +=== groupobjectclass === 
 + 
 +  groupobjectclass = posixGroup 
 + 
 +Die Objektklasse der gültigen Gruppen für die Zuordnung. 
 + 
 +=== groupuserattr === 
 + 
 +  groupuserattr = memberUid 
 + 
 +Der Benutzername wird in diesem Attribut der Gruppe gesucht.  Falls in der Gruppe der Bentzername gesetzt ist, 
 +wird die E-Mail Adresse aus dem [[#groupmailattr]] gelesen. 
 +  
 +=== groupmailattr === 
 + 
 +  groupmailattr = univentionFreeAttribute15 
 + 
 +Dieses Attribut enthält E-Mail Adressen, die der Gruppe zugeordnet sind. Als Beispiel wurde hier die Konfiguration einer  [[konfigurationsbeispiele:univention:erweiterte_attribute|UCS Domäne]] herangezogen. 
 + 
 +===== Schemaerweiterung ===== 
 + 
 +Das LDAP-Schema kann mit spezifischen Attributen für Benno MailArchiv erweitert werden. Das Schema ist in der [[benno-ldap.schema|Schemadefinition]] beschrieben.\\ 
 + 
 +Diese Attribute müssen in der Konfigurationsdatei [[:konfigurationsbeispiele:ldapauth.conf|ldapauth.conf]] entsprechend adressiert werden.
  
  
ldap-authentisierungsmodul.1510736444.txt.gz · Zuletzt geändert: 2017/11/15 09:00 von lwsystems