April 7, 2013

Postfix und LDAP - Part 1: openLDAP konfigurieren

openLDAP einrichten

Einleitung

Das Traumgespann Postfix und openLDAP bietet sich für Installationen in großen Setups an. LDAP als zentraler Verzeichnisdienst hat sich in Firmen längst etabliert, Postfix als stabiler Mailserver aus dem Unternehmenseinsatz nicht wegzudenken.

In diesem Tutorial werden wir uns um die Installation und Konfiguration von openLDAP kümmern, in folgenden Artikeln werden wir die Routing- und Mailbox Daten in LDAP hinterlegen sowie abschließend Postfix selbst dazu bringen, den Verzeichnisdienst als Grundlage für den Transport einkommender Mails zu verwenden. Es ist sehr flexibel einsetzbar, skalierbar und Multidomain fähig. Grundlage bildet ein Debian Squeeze (v6.0), kann aber analog mit einem aktuellen Ubuntu System (getestet mit Ubuntu Quantal 12.10) vollzogen werden. 

Installation openLDAP

Im folgenden Text gehe ich davon aus, dass der Benutzer sich als root am System angemeldet hat. Ubuntu Nutzer können den folgenden Kommandos entweder ein sudo voranstellen, oder über das Kommando

sudo -i

eine interaktive sudo Session starten, die root Berechtigung bis zur Beendigung der Session bereitstellt. Zunächst installieren wir den openLDAP Dienst slapd (falls noch nicht geschehen):

aptitude install slapd ldap-utils

Dies richtet einen openLDAP Verzeichnisdienst ein, dessen rootDN gleich des Server-Domainnamens lautet. Wenn also der entsprechende Servername „openldap.testlab.local“ lautet, dann wäre der rootDN entsprechend „dc=YOURSITE,dc=local“. In den folgenden Artikeln werden wir von diesen Werten ausgehen. Wer dies ändern möchte ruft folgendes Kommando auf

dpkg-reconfigure slapd

Wir bearbeiten nun die Datei /etc/default/slapd und editieren folgende Zeile

SLAPD_SERVICES="ldap:/// ldapi:///"

zu

SLAPD_SERVICES="ldap://127.0.0.1:389/ ldap://[::1]:389/ ldapi:///"

Diese Änderung sorgt dafür, dass der openLDAP Server nur auf dem lokalen Interface zu erreichen ist, seine Informationen also nicht nach außen weitergibt. Um diese Änderung zu aktivieren sollte also direkt der Dienst neu gestartet werden.

/etc/init.d/slapd restart

Konfiguration openLDAP

Erweiterung des openLDAP Schemas

Laden Sie die Datei qmail.ldif herunter speichern Sie diese im Verzeichnis /etc/ldap/schema. Mit nächstem Kommando importieren wir die qmail Objektklassen in das openLDAP Schema

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/qmail.ldif

Ändern der Indexeinstellungen

Erstellen Sie unter /tmp/index.ldif eine Datei mit folgendem Inhalt

dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uid eq
olcDbIndex: mail eq
olcDbIndex: mailAlternateAddress eq
olcDbIndex: mailForwardingAddress eq
olcDbIndex: associatedDomain eq

Importieren Sie die Änderungen mit dem Kommando

ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/index.ldif

Import der Basisstruktur

Erstellen Sie unter /tmp/struktur.ldif eine Datei mit folgendem Inhalt (ersetzen Sie die Werte in den distinguishedNames mit Ihren Werten)

version: 1
dn: ou=forwardDomains,dc=testlab,dc=local
 objectClass: top
 objectClass: organizationalUnit
 ou: forwardDomains
dn: ou=Domains,dc=testlab,dc=local
 objectClass: organizationalUnit
 objectClass: top
 ou: Domains

Abschließend importieren Sie diese Datei in den openLDAP Server (ersetzen Sie den dn des Admin Users mit den korrekten Werten)

ldapadd -D cn=admin,dc=testlab,dc=local -W -f /tmp/structure.ldif

Ausblick

Die grundlegende Konfiguration des Systems ist damit abgeschlossen. Im kommenden Teil „Postfix und LDAP – Part 2: Struktur erstellen“ widmen wir uns den Daten innerhalb des LDAP Systems.