Einleitung:

Wir wollen auf einen Server mit Postfix und ohne ISP-Software schnell und unkompliziert mit SMTP-Auth einrichten um ein Open-Relay zu vermeiden.

Installation:

Für die vollständige Installation braucht man folgende Pakete:

apt-get install postfix postfix-tls sasl2-bin libsasl2 libsasl2-modules

Nun wird die Datei /etc/postfix/main.cf erweitert:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Damit Postfix mit Sasl kommunizieren kann, braucht man folgende Datei /etc/postfix/sasl/smtpd.conf:

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
autotransition:true

Damit Sasl auch weiß, was es tun soll braucht es /etc/pam.d/smtp.
(ACHTUNG! Bitte die unterschiedlichen Debian-Versionen beachten!)

Debian bis 5 (Lenny)

auth required /lib/security/pam_unix_auth.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_unix_passwd.so
session required /lib/security/pam_unix_session.so

Debian ab 6.0 (Squeeze)

auth required /lib/security/pam_unix.so
account required /lib/security/pam_unix.so
password required /lib/security/pam_unix.so
session required /lib/security/pam_unix.so

(Wie man sieht haben sich in Squeeze die Libraries in eine Einzige vereint.)

Wenn Postfix im chroot (default) läuft muß noch etwas getan werden:

mkdir /var/spool/postfix/etc/pam.d
cp -p /etc/pam.d/smtp /var/spool/postfix/etc/pam.d/
mkdir -p /var/spool/postfix/var/run
cd /var/run
mv saslauthd/ /var/spool/postfix/var/run
ln -s /var/spool/postfix/var/run/saslauthd/ saslauthd
#Da es vereinzelt Probleme gab noch sicherheitshalber die Rechte setzten:
chown -R postfix /var/spool/postfix/var/run/saslauthd

Nun noch in /etc/default/saslauthd das #-Zeichen entfernen bei:

START=yes
MECHANISMS="pam"

Der Postfix-User ist der Gruppe sasl hinzuzufügen:

adduser postfix sasl

Und nun kann man durchstarten:

/etc/init.d/saslauthd start
/etc/init.d/postfix reload

Probleme:

Viele Probleme wurden mir hier berichtet. Meistens liegen sie daran, daß irgendwo ein Schritt nicht richtig ausgeführt wird oder ein Tippfehler war. Das häufigste Problem, war allerdings ein Rechte-Problem des Verzeichnises /var/spool/postfix/var/run/saslauthd. (Lösung siehe oben im Text.)

Die Funktion von saslauthd kann man übrigends wie folgt testen:

testsaslauthd -f /var/run/saslauthd/mux -u USER -p PASSWORT
testsaslauthd -f /var/spool/postfix/var/run/saslauthd/mux -u USER -p PASSWORT

Links:

Kategorien:

Stichwörter:

debian · sarge · smtp · auth · postfix · sasl · sasl2 · saslauthd · testsaslauthd · open-relay ·