Mail-Server » Postfix

ID #1110 Debian/Postfix: SMTP-Auth einrichten

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:

 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

vom 2006-05-13 22:46, zuletzt 2011-11-29 10:16     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

Rubriken zu diesem Artikel
überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4.33 von 5 (15 Bewertungen)

Artikel kommentieren

Kommentar von Parker (2006-10-03 03:14:53):
Bei Sarge läuft es nach dieser Anleitung noch nicht ganz, zumindest bei mir nicht.
Ich mußte noch in der Datei /etc/init.d/saslauthd die folgende Zeile im Header unter PWDIR=/var/run/saslauthd einfügen:

PARAMS="-m /var/spool/postfix/var/run/saslauthd/mux"

Damit funktioniert es jetzt einwandfrei.

Kommentar von Robert Heine (2008-07-15 12:57:26):
Super Anleitung. Einfach, schnell und ohne viel schnickschnack :-)

Nur eine Frage hab ich trotzdem: Ist hiermit ein eigener Webserver mit SMTP-Auth eingerichtet (vermutlich), oder kann man damit zB per php-mail() über einen anderen Emailserver mittels SMTP-Auth Mails senden?

Kommentar von Blakeks (2012-06-06 19:37:51):
Falls bei euch nach einem Neustart die Fehler

"SASL authentication failure: cannot connect to saslauthd server: No such file or directory"
"SASL LOGIN authentication failed: generic failure"

erscheinen, dann öffnet die /etc/default/saslauthd und ändert dort den Eintrag "OPTIONS" in:
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"