Um sich an einem SMTP Anzumelden gibt es 2 weit verbreitete Verfahren:
POP-Before-SMTP und SMTP_AUTH Da POP-Before-SMTP einige Nachteile mit sich bringt, möchte ich hier kurz erklären wie man Postfix dazu bringt SMTP Authentifizierung anzubieten. Die Schnittstelle hierzu ist der SASL Server. 1.
Installation der Paketeapt-get install postfix-tls sasl2-bin libsasl2 libsasl2-modules
2.
Konfiguration von SASL /etc/default/saslauthd START=yes
MECHANISMS="pam"
3.
Anlegen der Steuerdatei /etc/postfix/sasl/smtpd.confpwcheck_method: saslauthd
mech_list: PLAIN LOGIN
saslauthd_path: /var/run/saslauthd/mux
autotransition: true
4.
Konfiguration von Postfix Der nächste Schritt ist abhängig davon ob Postfix im chroot laufen soll oder nicht. Dies entscheidet sich in der Datei /etc/postfix/master.cf in einer Zeile:
smtp inet n - - - - smtpd # Postfix SMTP ist in einem chroot
smtp inet n - n - - smtpd # Postfix SMTP ist nicht in einem chroot
Fall 1 - Wenn Postfix im chroot laufen soll:
rm -r /var/run/saslauthd
mkdir -p /var/spool/postfix/var/run/saslauthd
cd /var/run/
ln -s /var/spool/postfix/var/run/saslauthd saslauthd
chgrp sasl /var/spool/postfix/var/run/saslauthd
chgrp sasl /var/run/saslauthd
adduser postfix sasl
Anpassen der Konfiguration /etc/postfix/main.cf### SMTP Auth ###
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_authenticated_header = yes
Überall wo es wichtig ist "permit_sasl_authenticated" hinzufügen. z.B.:
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
Fall 2 - Wenn Postfix nicht im Chroot laufen soll Anschließend anpassen der Datei /etc/postfix/main.cf wie oben genannt. 5.
Restart der Dienste/etc/init.d/postfix restart
/etc/init.d/saslauthd restart
Anschließend sollte Postfix SMTP-AUTH mittels SASL verstehen und die Passwörter vom Client richtig verarbeiten und diesem zum Versand authentifizieren.