[Postfixbuch-users] Probleme mit Auth über SASL

Andreas Winkelmann ml at awinkelmann.de
Sa Okt 21 15:00:29 CEST 2006


Am Saturday 21 October 2006 13:57 schrieb postfix at 3-freun.de:

> 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

Hmm, ich würde das mal auf "smtpd" belassen. Es mag sein, dass es bei Debian 
für was anderes verwendet wird. Die Patchen immer ziehmlich an Postfix herum.

> 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_domai
>n 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

Hat der Username einen @domain-Teil? 

Hast Du bei testsaslauthd auch an den Service-Namen "-s smtp" gedacht? Gerade 
bei PAM ist das wichtig?

> ganze als Root und als Benutzer Postfix (also mit der chroot Umgebung kann
> es nicht zusammen hängen).

Als Benutzer Postfix was zu testen hat nix mit chroot zu tun. Erst Postfix 
schaltet das chroot ein.

> 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.

Welche smtpd.conf? Zeig die doch mal. Und auch den Pfad.

> 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

Prüf in deiner smtpd.conf, ob Du "mech_list: plain login" drin ist. Das ist 
zwingend bei saslauthd. Wenn es drin ist, wird sie nicht gefunden.

> 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

Änder Dein Passwort.

> 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.

-- 
	Andreas



Mehr Informationen über die Mailingliste Postfixbuch-users