Home       Servicebereich  Projekte  Kontakt  


Postfix als SMTP AUTH Server

Wenn Postfix als SMTP Server arbeiten soll, gegen den sich die Clients per SMTP AUTH authentisieren sollen, muß dem Parameter smtpd_recipient_restrictions die Option permit_sasl_authenticated hinzugefügt werden.

  smtpd_sasl_auth_enable = yes
  smtpd_sasl_security_options = noanonymous

  smtpd_recipient_restrictions = 
     permit_sasl_authenticated,
     permit_mynetworks,
     reject_unauth_destination ...

Konfiguration der SASL Bibliothek

Die Konfiguration der SASL Bibliothek für den smtpd Dienst erfolgt in der Datei /etc/postfix/sasl/smtpd.conf. Hier wird die Prüfungsmethode des Checks und die erlaubten Mechanismen angegeben.

  pwcheck_method: saslauthd
  mech_list: cram-md5 plain login

Passwortverwaltung in sasldb

SASL bietet mehrere Möglichkeiten die Passwürter zu verwalten. Neben der eigenen Passwortdatenbank sasldb können die die Benutzerdatenbanken des Systems genutzt werden.

Die Passwärter werden per Default in der Datei /etc/sasldb2 gespeichert. Der Postfix Prozess smtpd benötigt Lesezugriff auf diese Datei. Auf Debian Systemen muss sasldb2 für den Benutzer postfix (bzw. die Grupppe postfix) lesbar sein.

Falls der SMTP Daemon in einer Chroot- Umgebung betrieben wird, muss diese Datei auch unter $CHROOT/etc/sasldb2 erreichbar sein. Unter Umständen müssen die Postfix- Init-Scripte (Debian Sarge) so angepasst werden, dass diese Datei bei einem Restart des Postfix Daemons in die Chroot-Umgebung kopiert wird.

Die Pflege der Benutzerpasswörter erfolgt mit Hilfe des Kommandos saslpasswd2. Hierbei ist die korrekte Nutzung der SASL Domain (realm) wichtig. Bei der Prüfung der Autentisierung wird in der Passwortdatenbank ein Benutzername gesucht, dessen Realm den Wert besitzt, der mit der Postfix-Konfigurationsdirektive

    smtpd_sasl_localdomain = $myhostname
festgelegt wird. Im obigen Fall kann der zu konfigurierende Realm mit Hilfe des postconf Befehls ermittelt.
  postconf -h myhostname
Das SASL Passwort kann dann mit dem folgenden Kommandoaufruf gesetzt werden:
  saslpasswd -c -u `postconf -h myhostname` martinw
Nach dem Update der SASL-Passwort Datei muss der Postfix-Daemon unter Debian Sarge neu gestartet werden, um die Passwort Datei in die Chroot-Umgebung zu kopieren.

Die SASL Authentisierung erfolgt mit Benutzername / Passwort und einem zugehörigen Realm. Die Prüfung ist nur erfolgreich, wenn alle 3 Parameter mit den Daten in der SASL Passwortdatenbank übereinstimmen.

Der Schalter -u legt den (SASL) Realm für die Authentisierungsdaten fest. Per Default prüft Postfix die Authentisierung mit dem Realm des Hostnamens (genauer gesagt: mit dem Wert des Parameters $myhostname). Der Realm zur Überprüfung der Authentisierung wird von Postfix festgelegt und an den SASL Layer übergeben. Die Einstellungen des Clients haben hierauf keinen Einfluss.

In aktuellen Postfix-Versionen kann der Realm mit Hilfe der Postfix- Konfigurationsdirektive smtpd_sasl_local_domain explizit festgelegt werden.

SASL mit der Passwortdatenbank des System nutzen

SASL bietet auch die Möglichkeit die Authentisierung gegen die Passwortdatenbank(en) des jeweiligen Systems durchzuführen. Diese Konfiguration bietet den Vorteil, daß nicht eine weitere Benutzerdatenbank gepflegt werden muß.

Debian Woody

Das SASL Paket liefert hierfür den pwcheck Daemon mit, so daß das Postfix Subsystem nicht mit root Berechtigungen laufen muß. Der pwcheck Daemon kann /etc/{passwd,shadow} direkt oder die Möglichkeiten der PAM Bibliothek nutzen.

Bei Debian (Woody) Systemen werden hierfür zwei unterschiedliche Daemons installiert. Je nach Konfiguration wird pwcheck_standard oder pwcheck_pam gestartet. Die Einstellung des Daemons wird in /etc/default/saslauthd vorgenommen. Bei Problemen mit der SASL Authentifizierung sollte zuerst überprüft werden, ob der korrekte Daemon gestartet wurde.

Debian Sarge

Die SASL Pakete von Debian Sarge ((das sasl2-bin Paket) installieren anstat pwcheck den Daemon saslauthd. Dieser wird allerdings nicht benötigt, falls Postfix mit sasldb2 als Benutzerdatenbank für SMTP AUTH betrieben wird. Die Konfiguration von saslauthd wird in der Datei /etc/default/saslauthd vorgenommen. Hier kann die Passwortdatenbank mit mit dem Parameter MECHANISMS angegeben werden:

  MECHANISMS="pam shadow"

< zurück  | weiter >