Postfix mit SMTP AUTH unter Debian Woody ist eigentlich ganz einfach …
… wenn man weiß wie es geht
Die folgenden Pakete werden für das ganze benötigt:
apt-get install postfix-tls sasl-bin libsasl-modules-plain libsasl7 libsasl-gssapi-mit libsasl-digestmd5-des
Zuerst erstelle man mit folgendem Befehl ein SSL Zertifikat für den Server:
cd /etc/postfix && openssl req -new -x509 -nodes -out cert.pem
Hier werden so unwichtige Sachen wie Ländercode, Abteilung und WICHTIG! fqdn des Hosts abgefragt.
Danach folgende Zeilen in die /etc/postfix/main.cf eintragen:
smtpd_tls_cert_file = /etc/postfix/cert.pem
smtpd_tls_key_file = /etc/postfix/privkey.pem
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
tls_daemon_random_source = dev:/dev/urandom
Danach in der /etc/postfix/master.conf die Zeile 104 auskommentieren (hier geht es um smtps).
Jetzt ist der smtp Server ssl fähig, damit auch niemand die passwörter mitsniffen kann …
Nun geht es um die Anbindung an die sasl libs.
Hierzu bringt postfix das nette Programm pwcheck mit, welches nur noch gestartet werden muss:
mkdir -p /var/spool/postfix/var/run/pwcheck; chown postfix.root /var/spool/postfix/var/run/pwcheck/; chmod 700 /var/spool/postfix/var/run/pwcheck/
das startscript dafür sollte wie folgt aussehen:
#! /bin/sh
#
# pwcheck Startet pwcheck für SMTP-Auth mit Postfix
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/pwcheck
NAME=pwcheck
DESC=”pwcheck daemon”
test -x $DAEMON || exit 0
set -e
case “$1″ in
start)
echo -n “Starting $DESC: $NAME”
ln -s /var/spool/postfix/var/run/pwcheck /var/run/pwcheck
$DAEMON
echo “.”
;;
stop)
echo -n “Stopping $DESC: $NAME ”
rm /var/run/pwcheck
/usr/bin/killall -KILL $NAME
echo “.”
;;
*)
N=/etc/init.d/$NAME
echo “Usage: $N ” >&2
exit 1
;;
esac
exit 0
Die /etc/postfix/main.cf muss noch angepasst werden:
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
Damit der pwcheck Dämon auch läuft sollte er mit folgendem Befehl in die Runlevel verlinkt werden:
chmod +x /etc/init.d/pwcheck && update-rc.d pwcheck defaults
Damit postfix auch weiß wie es mit sasl sprechen soll, folgendes ausführen:
echo ‘pwcheck_method: pwcheck’ >> /etc/postfix/sasl/smtpd.conf
Dat wars.
Nun noch /etc/init.d/pwcheck start && /etc/init.d/postfix restart und fertig ist der smtp auth server. Authentifizieren können sich alle im System angelegten Benutzer.