[Postfixbuch-users] Debian, Postfix und SMTP-Auth
Thilo Engelbracht
info at engelbracht.de
Do Nov 11 15:05:27 CET 2004
Hallo liebe Mailingliste!
In meinem Netzwerk existieren ein Linux-Server (Debian 3.0 "woody") und
ein M$-Client (Windows 2000).
Nun möchte ich gerne in meinem LAN einen Relayhost (bzw. Smarthost) mit
dem MTA postfix einrichten. Dazu habe ich die aktuelle Version von
"Nobses" backports installiert (postfix-tls, 2.1.4-2.backports.org.1).
Ich habe mich an diversen HOWTOs und Anleitungen orientiert, u.a. an der
c't 8/2004 und - natürlich - am Postfix-Buch von Peer.
Bis heute habe ich folgendes erreicht:
- fetchmail läuft als Daemon. Alle 5 Minuten wird überprüft, ob auf
externen Mailboxen neue Nachrichten vorhanden sind. Falls ja, werden
sie - SSL-verschlüsselt - auf meinen Linux-Server übertragen.
- Die E-Mails werden an Postfix übergeben und mit Hilfe von amavisd-new
auf Viren gescannt.
- Anschließend übernimmt procmail die weitere Verarbeitung. Jeder User
hat eine eigene ~/.procmailrc. Die Benutzer koennen durch eine
individuelle Konfiguration erreichen, dass die E-Mails in verschiedene
IMAP-Ordner (IMAP-Server: courier) einsortiert werden.
- beim Versand von E-Mails soll die Verbindung von meinem Clients an
Postfix verschlüsselt sein. Aus diesem Grund habe ich TLS (Transport
Layer Security) eingerichtet.
Die Nachrichten werden an den Mailserver meines Providers weiter-
geleitet.
Diese Konfiguration funktioniert ohne Schwierigkeiten:
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 hogwarts.engelbracht.de ESMTP Postfix
* EHLO bla.blubb.org
250-hogwarts.engelbracht.de
250-PIPELINING
250-SIZE 50000000
250-VRFY
250-ETRN
250-STARTTLS
250 8BITMIME
* QUIT
221 Bye
Connection closed by foreign host.
So weit, so gut.
Nun mein Problem:
Ich (Newbie!) möchte gerne zusätzlich SMTP-Auth mit dem "rimap"-Mecha-
nismus einrichten.
Meine Vorgehensweise habe ich sehr ausführlich dokumentiert - wenn
SMTP-Auth läuft, dann kann ich gerne eine Schritt-für-Schritt-Anleitung
für andere Debianer erstellen...
Folgendes habe ich bis jetzt gemacht:
1.) Die "/etc/apt/sources.list" mit folgenden Einträgen erweitert:
deb http://www.backports.org/debian stable cyrus-sasl2
deb-src http://www.backports.org/debian stable cyrus-sasl2
2.) $ apt-get update
$ apt-get install sasl2-bin libsasl2-modules
$ dpkg -l | grep -i sasl2
ii libsasl2 2.1.19-1.2.bac Authentication abstraction [...]
ii libsasl2-modul 2.1.19-1.2.bac Pluggable Authentication [...]
ii sasl2-bin 2.1.19-1.2.bac Programs for manipulating [...]
3.) Die Datei "/etc/default/saslauthd" angepasst:
START=yes
MECHANISMS="rimap -O hogwarts.engelbracht.de"
4.) Ein File "/etc/postfix/sasl/smtpd.conf" mit folgendem Inhalt an-
gelegt:
pwcheck_method: saslauthd
mech_list: plain login
log_level: 3
5.) Meine Postfix-Konfiguration angepasst, Ausgabe siehe unten.
6.) Prozesse neu starten:
$ /etc/init.d/saslauthd restart
$ /etc/init.d/postfix restart
7.) Testen von saslauthd:
$ testsaslauthd -u thilo -p kennwort
0: OK "Success."
8.) Den Benutzer "postfix" in die Gruppe "sasl" aufnehmen:
$ adduser postfix sasl
Adding user `postfix' to group `sasl'...
Done.
9.) $ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
Funktioniert also nicht...
10.) Hier ein Auszug aus der Logdatei ("/var/log/mail.log"):
Nov 11 13:23:11 hogwarts postfix/postfix-script: starting the Postfix mail system
Nov 11 13:23:11 hogwarts postfix/master[3572]: daemon started -- version 2.1.4
Nov 11 13:23:20 hogwarts postfix/smtpd[3577]: fatal: no SASL authentication mechanisms
Nov 11 13:23:21 hogwarts postfix/master[3572]: warning: process /usr/lib/postfix/smtpd pid 3577 exit status 1
Nov 11 13:23:21 hogwarts postfix/master[3572]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Nov 11 13:24:21 hogwarts postfix/smtpd[3581]: fatal: no SASL authentication mechanisms
Nov 11 13:24:22 hogwarts postfix/master[3572]: warning: process /usr/lib/postfix/smtpd pid 3581 exit status 1
Nov 11 13:24:22 hogwarts postfix/master[3572]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
11.) $ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/lib/postfix
header_checks = regexp:/etc/postfix/header_checks
inet_interfaces = 127.0.0.1, 192.168.0.1
mail_owner = postfix
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
manpage_directory = /usr/share/man
message_size_limit = 50000000
mydestination = hogwarts.engelbracht.de, localhost.engelbracht.de, localhost
mydomain = engelbracht.de
myhostname = hogwarts.engelbracht.de
mynetworks = 127.0.0.0/8, 192.168.0.0/24
myorigin = $myhostname
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost = [mailserver.provider.com]
sample_directory = /usr/share/doc/postfix/examples
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_enforce_tls = yes
smtpd_helo_required = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_maps, reject_unauth_destination, permit_auth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
12.) $ cat /etc/postfix/master.cf
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
#submission inet n - - - - smtpd
# -o smtpd_etrn_restrictions=reject
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - - 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - - - - smtp
# -----------------------------------------------------------------
# Postfix-Buch: Konfiguration "amavisd-new" (siehe Seite 384):
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1800
-o disable_dns_lookups=yes
smtp inet n - n - - smtpd
localhost:10025 inet n - n - - smtpd
-o smtpd_enforce_tls=no
-o content_filter=
# -----------------------------------------------------------------
# E-Mails von "fetchmail" sind unverschluesselt:
127.0.0.1:smtp inet n - - - - smtpd
-o smtpd_enforce_tls=no
relay unix - - - - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
# only used by postfix-tls
#tlsmgr fifo - - n 300 1 tlsmgr
#smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
Warum funktioniert SMTP-Auth nicht?
Kann mir jemand bei der Umsetzung helfen?
_Vielen_ Dank für Eure Mühe!
Gruß,
Thilo
Mehr Informationen über die Mailingliste Postfixbuch-users