[Postfixbuch-users] Probleme mit Auth über SASL
postfix at 3-freun.de
postfix at 3-freun.de
Sa Okt 21 13:57:31 CEST 2006
Hallo Community,
ich bekomme die Authentifikation von Postfix gegen SASL über PAM -> MySQL
nicht ans laufen. Ich bin jedoch nach nun mehr als zwei Tagen ratlos, zig Mal
mit der Dokumentationen belesen und einfach am Ende ;-(
Hier ein paar Systeminfos:
- Debian etch (testing)
- Installierte Pakete und Versionen dpkg -l |egrep '(sasl|postfix|cyrus)':
ii cyrus21-admin 2.1.18-4
ii cyrus21-clients 2.1.18-4
ii cyrus21-common 2.1.18-4
ii cyrus21-doc 2.1.18-4
ii cyrus21-imapd 2.1.18-4
ii cyrus21-pop3d 2.1.18-4
ii gsasl 0.2.12-1+b1
ii libauthen-sasl-cyrus-perl 0.13-server-1
ii libauthen-sasl-perl 2.10-1
ii libcyrus-imap-perl21 2.1.18-4
ii libgsasl7 0.2.12-1+b1
ii libsasl2 2.1.19.dfsg1-0.5
ii libsasl2-dev 2.1.19.dfsg1-0.5
ii libsasl2-krb4-mit 2.1.19.dfsg1-1
ii libsasl2-modules 2.1.19.dfsg1-0.5
ii libsasl2-modules-sql 2.1.19.dfsg1-0.5
ii postfix 2.3.3-1
ii postfix-dev 2.3.3-1
ii postfix-doc 2.3.3-1
ii postfix-mysql 2.3.3-1
ii postfix-pcre 2.3.3-1
ii sasl2-bin 2.1.19.dfsg1-0.5
Konfiguration(en):
- postconf -a
cyrus
dovecot
- postconf -n (vom Default abweichende Parameter)
config_directory = /etc/postfix
default_rbl_reply = $rbl_code RBLTRAP: We don't accept Mail from you!!!
hash_queue_depth = 2
hash_queue_names = defer,incoming,active,bounce,flush,deferred
inet_interfaces = all
mailbox_command =
mailbox_transport = cyrus
mime_header_checks = pcre:/etc/postfix/body_check
mydestination = $myhostname, mysql:/etc/postfix/mysql/mysql-mydestination.cf
mynetworks_style = host
recipient_delimiter = +
sender_canonical_maps = hash:/etc/postfix/canonical
smtpd_client_restrictions = permit_mynetworks
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks,
reject_invalid_hostname, reject_non_fqdn_hostname,
reject_non_fqdn_sender, reject_non_fqdn_recipient,
reject_unknown_sender_domain, reject_unknown_recipient_domain,
reject_unauth_pipelining, reject_unauth_destination,
check_recipient_access hash:/etc/postfix/recipient, check_client_access
hash:/etc/postfix/access, check_policy_service inet:127.0.0.1:60000,
reject_rbl_client zombie.dnsbl.sorbs.net, reject_rbl_client
relays.ordb.org, reject_rbl_client opm.blitzed.org, reject_rbl_client
list.dsbl.org, reject_rbl_client sbl.spamhaus.org, reject_rbl_client
blackholes.easynet.nl, reject_rbl_client unconfirmed.dsbl.org,
reject_rbl_client dynablock.njabl.org, reject_rbl_client
dialup.blacklist.jippg.org, reject_rbl_client cbl.abuseat.org, permit
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = /usr/lib/sasl2/smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = cyrus
smtpd_sender_restrictions = check_sender_access
hash:/etc/postfix/access,reject_non_fqdn_sender,reject_unknown_sender_domain
strict_rfc821_envelopes = yes
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual,
mysql:/etc/postfix/mysql/mysql-virtual.cf
Folgendes funktioniert:
- Authentifikation an Cyrus gegen die PAM Module an MySQL
- Übergabe einer eMail an den Mailserver (z.B. per Telnet) und Zustellung ins
richtige Postfach was zeigt das die MySQL Konfiguration korrekt ist
- Authentifikation von Benutzer/Passwort über > testsaslauthd < sowohl im
Debugmodus von > saslauthd -a pam -d < als auch im normalen Modus. Das ganze
als Root und als Benutzer Postfix (also mit der chroot Umgebung kann es nicht
zusammen hängen).
Ich habe das Gefühl, dass Postfix die smtpd.conf nicht findet und vor allem
nicht interpretiert. Die Rechte der Datei sind OK. Wenn ich den Parameter
saslauthd_path entferne oder den Parameter smtpd_sasl_path auf "smtpd"
ändere, geht es dennoch nicht.
Im Logfile erhalte ich lediglich folgenden Fehler(meldungen):
Sofern ich Postfix komplett aus der chroot Umgebung herausgenommen habe:
--snip--
Oct 21 13:42:54 mail postfix/smtpd[8523]: vstream_buf_get_ready: fd 10 got 25
Oct 21 13:42:54 mail postfix/smtpd[8523]: < 3-freun.de[195.238.146.53]: EHLO
test.domain.de
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-mail.meinedomain.de
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-PIPELINING
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-SIZE 10240000
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-VRFY
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-ETRN
Oct 21 13:42:54 mail postfix/smtpd[8523]: match_list_match: 3-freun.de: no
match
Oct 21 13:42:54 mail postfix/smtpd[8523]: match_list_match: 195.238.146.53: no
match
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-AUTH PLAIN NTLM LOGIN CRAM-MD5 DIGEST-MD5
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-ENHANCEDSTATUSCODES
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]:
250-8BITMIME
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]: 250
DSN
Oct 21 13:42:54 mail postfix/smtpd[8523]: watchdog_pat: 0x808e678
Oct 21 13:42:54 mail postfix/smtpd[8523]: vstream_fflush_some: fd 10 flush 177
Oct 21 13:42:54 mail postfix/smtpd[8523]: vstream_buf_get_ready: fd 10 got 32
Oct 21 13:42:54 mail postfix/smtpd[8523]: < 3-freun.de[195.238.146.53]: AUTH
LOGIN
Oct 21 13:42:54 mail postfix/smtpd[8523]: xsasl_cyrus_server_first:
sasl_method LOGIN
Oct 21 13:42:54 mail postfix/smtpd[8523]: xsasl_cyrus_server_auth_response:
uncoded server challenge: Username:
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]: 334
VXNlcm5hbWU6
Oct 21 13:42:54 mail postfix/smtpd[8523]: < 3-freun.de[195.238.146.53]:
d2ViN3A0
Oct 21 13:42:54 mail postfix/smtpd[8523]: xsasl_cyrus_server_next: decoded
response: web7p4
Oct 21 13:42:54 mail postfix/smtpd[8523]: xsasl_cyrus_server_auth_response:
uncoded server challenge: Password:
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]: 334
UGFzc3dvcmQ6
Oct 21 13:42:54 mail postfix/smtpd[8523]: < 3-freun.de[195.238.146.53]:
YW5lNTMw
Oct 21 13:42:54 mail postfix/smtpd[8523]: xsasl_cyrus_server_next: decoded
response: ane530
Oct 21 13:42:54 mail postfix/smtpd[8523]: warning: SASL authentication
problem: unable to open Berkeley db /etc/sasldb2: Permission denied
Oct 21 13:42:54 mail postfix/smtpd[8523]: warning: SASL authentication
problem: unable to open Berkeley db /etc/sasldb2: Permission denied
Oct 21 13:42:54 mail postfix/smtpd[8523]: warning: 3-freun.de[195.238.146.53]:
SASL LOGIN authentication failed: authentication failure
Oct 21 13:42:54 mail postfix/smtpd[8523]: > 3-freun.de[195.238.146.53]: 535
5.7.0 Error: authentication failed: authentication failure
Oct 21 13:42:54 mail postfix/smtpd[8523]: watchdog_pat: 0x808e678
Oct 21 13:42:54 mail postfix/smtpd[8523]: vstream_fflush_some: fd 10 flush 100
--snap--
Wobei hier der Permission denied logisch ist, da die Rechte auf /etc/sasldb2
nicht so gesetzt sind das Postfix lesen dürfte. Aber er soll ja auch gar
nicht lesen. In der Chrootumgebung weicht die Fehlermeldung in zwei Zeilen
ab:
--snip--
Oct 21 13:48:21 mail postfix/smtpd[8639]: warning: SASL authentication
problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Oct 21 13:48:21 mail postfix/smtpd[8639]: warning: SASL authentication
problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
--snap--
was ja auch wiederrum Sinn macht, denn die Datei existiert ja gar nicht. Also
mal schnell angelegt und die richtigen Rechte vergeben:
--snip--
Oct 21 13:49:51 mail postfix/smtpd[8639]: xsasl_cyrus_server_next: decoded
response: ane530
Oct 21 13:49:51 mail postfix/smtpd[8639]: warning: 3-freun.de[195.238.146.53]:
SASL LOGIN authentication failed: authentication failure
Oct 21 13:49:51 mail postfix/smtpd[8639]: > 3-freun.de[195.238.146.53]: 535
5.7.0 Error: authentication failed: authentication failure
--snap--
Ohh schön, ein Fehler weniger... aber gehen tut immer noch nix ;)
Also ich fasse es langsam mit Ironie auf, soviel kann ich doch gar nicht
falsch machen!?! Ich habe alles zig mal geprüft, was kann ich noch machen?
Wobei da fällt mir noch ein, einen strace habe ich auch schon angefertigt
wobei mir aufgefallen ist, dass überhaupt keine Prüfung stattfindet welche
SASL-Auth Postfix verwenden soll/möchte. Falls der Strace hilft dann reiche
ich ihn gerne nach.
Vielen Dank an alle die, die sich mit meinem Problem befassen ;-) und diese
lange lange eMail gelesen haben.
Viele Grüße
Henrik Hasenkamp
Mehr Informationen über die Mailingliste Postfixbuch-users