[Postfixbuch-users] SASL Problem

Patrick Ben Koetter p at state-of-mind.de
Do Jul 14 01:51:27 CEST 2005


* test <m.lindemann at helimail.de>:
> Hallo NG
> 
> Ich habe ein Problem mit der sasl authorisierung 
>  
> saslauthd -a pam -O localhost

Die option "-O localhost" macht keinen Sinn in Verbindung mit pam.

> saslfinger -s  sagt mir 
> fuckup:/tmp # saslfinger -s
> saslfinger - postfix Cyrus sasl configuration Wed Jul 13 15:54:41 CEST 2005
> version: 0.9.9.1
> mode: server-side SMTP AUTH
> 
> -- basics --
> Postfix: 2.0.16-20031022
> System: 
> Welcome to SuSE Linux 9.0 (i586) - Kernel \r (\l).
> 
> -- smtpd is linked to --
>         libsasl2.so.2 => /usr/local/lib/libsasl2.so.2 (0x40094000)
> 
> -- active SMTP AUTH and TLS parameters for smtpd --
> broken_sasl_auth_clients = yes
> smtpd_sasl_auth_enable = yes
> smtpd_sasl_local_domain = 
> smtpd_sasl_security_options = noanonymous
> 
> 
> -- listing of /usr/lib/sasl2 --
> total 209
> drwxr-xr-x    2 root     root          552 Jul 13 15:33 .
> drwxr-xr-x   91 root     root        32512 Jul 13 15:25 ..
> -rwxr-xr-x    1 root     root          712 Oct  3  2003 libanonymous.la
> -rwxr-xr-x    1 root     root        15091 Oct  3  2003 libanonymous.so
> -rwxr-xr-x    1 root     root        15091 Oct  3  2003 libanonymous.so.2
> -rwxr-xr-x    1 root     root        15091 Oct  3  2003 libanonymous.so.2.0.15
> -rwxr-xr-x    1 root     root          696 Oct  3  2003 liblogin.la
> -rwxr-xr-x    1 root     root        15643 Oct  3  2003 liblogin.so
> -rwxr-xr-x    1 root     root        15643 Oct  3  2003 liblogin.so.2
> -rwxr-xr-x    1 root     root        15643 Oct  3  2003 liblogin.so.2.0.15
> -rwxr-xr-x    1 root     root          721 Oct  3  2003 libsasldb.la
> -rwxr-xr-x    1 root     root        18856 Oct  3  2003 libsasldb.so
> -rwxr-xr-x    1 root     root        18856 Oct  3  2003 libsasldb.so.2
> -rwxr-xr-x    1 root     root        18856 Oct  3  2003 libsasldb.so.2.0.15
> drwxr-xr-x    2 root     root         1008 May 29 12:34 sasl2
> -rw-------    1 root     root           26 Jul 13 15:33 smtpd.conf
> -rw-------    1 root     root           62 Jul 13 15:33 smtpd.conf~

Dieses Verzeichnis und die smtpd.conf ignoriert Dein Postfix.

> -- listing of /usr/local/lib/sasl2 --
> total 1493
> drwxr-xr-x    2 root     root         1008 May 29 12:34 .
> drwxr-xr-x    4 root     root          440 Jul 13 14:49 ..
> -rwxr-xr-x    1 root     root          730 May 29 12:34 libanonymous.la
> -rwxr-xr-x    1 root     root        44219 May 29 12:34 libanonymous.so
> -rwxr-xr-x    1 root     root        44219 May 29 12:34 libanonymous.so.2
> -rwxr-xr-x    1 root     root        44219 May 29 12:34 libanonymous.so.2.0.15
> -rwxr-xr-x    1 root     root          718 May 29 12:05 libcrammd5.la
> -rwxr-xr-x    1 root     root        49271 May 29 12:05 libcrammd5.so
> -rwxr-xr-x    1 root     root        49271 May 29 12:05 libcrammd5.so.2
> -rwxr-xr-x    1 root     root        49271 May 29 12:05 libcrammd5.so.2.0.15
> -rwxr-xr-x    1 root     root          748 May 29 12:05 libdigestmd5.la
> -rwxr-xr-x    1 root     root        96737 May 29 12:05 libdigestmd5.so
> -rwxr-xr-x    1 root     root        96737 May 29 12:05 libdigestmd5.so.2
> -rwxr-xr-x    1 root     root        96737 May 29 12:05 libdigestmd5.so.2.0.15
> -rwxr-xr-x    1 root     root          714 May 29 12:34 liblogin.la
> -rwxr-xr-x    1 root     root        45147 May 29 12:34 liblogin.so
> -rwxr-xr-x    1 root     root        45147 May 29 12:34 liblogin.so.2
> -rwxr-xr-x    1 root     root        45147 May 29 12:34 liblogin.so.2.0.15
> -rwxr-xr-x    1 root     root          742 May 29 12:05 libotp.la
> -rwxr-xr-x    1 root     root       132361 May 29 12:05 libotp.so
> -rwxr-xr-x    1 root     root       132361 May 29 12:05 libotp.so.2
> -rwxr-xr-x    1 root     root       132361 May 29 12:05 libotp.so.2.0.15
> -rwxr-xr-x    1 root     root          714 May 29 12:34 libplain.la
> -rwxr-xr-x    1 root     root        44901 May 29 12:34 libplain.so
> -rwxr-xr-x    1 root     root        44901 May 29 12:34 libplain.so.2
> -rwxr-xr-x    1 root     root        44901 May 29 12:34 libplain.so.2.0.15
> -rwxr-xr-x    1 root     root          751 May 29 12:34 libsasldb.la
> -rwxr-xr-x    1 root     root        71779 May 29 12:34 libsasldb.so
> -rwxr-xr-x    1 root     root        71779 May 29 12:34 libsasldb.so.2
> -rwxr-xr-x    1 root     root        71779 May 29 12:34 libsasldb.so.2.0.15
> 

Dieses Verzeichnis nutzt Dein Postfix.

> -- content of /usr/lib/sasl2/smtpd.conf --
> pwcheck_method: saslauthd

Verschiebe /usr/lib/sasl2/smtpd.conf nach /usr/local/lib/sasl2/smtpd.conf.
Dann ändere die Config in smtpd.conf wie folgt:

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN

> 
> -- active services in /etc/postfix/master.cf --
> # service type  private unpriv  chroot  wakeup  maxproc command + args
> #               (yes)   (yes)   (yes)   (never) (100)
> sms      unix  -       n       n       -       -       pipe 
>   flags=Rq user=nobody argv=/test/email.pl ${user} ${sender}
> 
> 
> smtp      inet  n       -       n       -       -       smtpd
> 127.0.0.1:10025 inet  n      -      n      -       -     smtpd -o content_filter=
> 
> pickup    fifo  n       -       n       60      1       pickup
> cleanup   unix  n       -       n       -       0       cleanup
> qmgr      fifo  n       -       n       300     1       qmgr
> rewrite   unix  -       -       n       -       -       trivial-rewrite
> bounce    unix  -       -       n       -       0       bounce
> defer     unix  -       -       n       -       0       bounce
> flush     unix  n       -       n       1000?   0       flush
> proxymap  unix  -       -       n       -       -       proxymap
> smtp      unix  -       -       n       -       -       smtp
> relay     unix  -       -       n       -       -       smtp
> showq     unix  n       -       n       -       -       showq
> error     unix  -       -       n       -       -       error
> local     unix  -       n       n       -       -       local
> virtual   unix  -       n       n       -       -       virtual
> lmtp      unix  -       -       n       -       -       lmtp
> maildrop  unix  -       n       n       -       -       pipe
>   flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
> old-cyrus unix  -       n       n       -       -       pipe
>   flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}
> 
> 
> 
> cyrus     unix  -       n       n       -       -       pipe
>   user=cyrus argv=/usr/lib//cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
>  
> 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=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
> 
> vscan     unix  -       n       n       -       4       pipe 
>   user=vscan argv=/usr/sbin/amavis $sender $recipient
> 
> trace     unix  -       -       n       -       0       bounce
> verify    unix  -       -       n       -       1       verify
> anvil     unix  -       -       n       -       1       anvil
> scache    unix  -       -       n       -       1       scache
> discard   unix  -       -       n       -       -       discard
> tlsmgr    unix  -       -       n       1000?   1       tlsmgr
> 
> -- mechanisms on localhost --
> 250-AUTH CRAM-MD5 DIGEST-MD5 LOGIN PLAIN OTP
> 250-AUTH=CRAM-MD5 DIGEST-MD5 LOGIN PLAIN OTP

Dein Postfix listet alle Mechanismen aus /usr/local/lib/sasl2, die es finden
kann. saslauthd kann aber nur PLAIN und LOGIN. Wenn Du die smtpd.conf, wie
oben erwähnt, um den mech_list-Parameter samt den Werten PLAIN und LOGIN
ergänzt, sollte Postfix nur noch das anbieten:

-- mechanisms on localhost --
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN

> testsaslauthd -u marcus -p xxxxxxx
> 0: OK "Success."
> 
> 
> Und wenn ich mit meinem Mailclient eine versenden möchte, so bekomme ich
> folgende Meldung in der allmessages
> 
> 
> Jul 13 15:55:35 fuckup postfix/smtpd[23035]: connect from sandra.lm.hn.org[10.0.0.220]
> Jul 13 15:55:35 fuckup postfix/smtpd[23035]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Invalid argument
> Jul 13 15:55:35 fuckup postfix/smtpd[23035]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Invalid argument
> Jul 13 15:55:35 fuckup postfix/smtpd[23035]: warning: sandra.lm.hn.org[10.0.0.220]: SASL LOGIN authentication failed
> Jul 13 15:55:36 fuckup postfix/smtpd[23035]: lost connection after AUTH from sandra.lm.hn.org[10.0.0.220]
> Jul 13 15:55:36 fuckup postfix/smtpd[23035]: disconnect from sandra.lm.hn.org[10.0.0.220]

Es kann gut sein, dass Dein Client (welchen hast Du denn benützt?) einen
Mechanismus gewählt hat, den saslauthd nicht unterstützt. SASL sucht dann nach
einem anderen password verification service, z.B. auxprop, und weil der nicht
konfiguriert ist und damit auch nicht festgelegt ist, welches authentication
backend auxprop nutzen soll, fällt SASL auf den default (sasldb) zurück. Das
geht natürlich schief und im Log steht dann: "unable to open Berkeley db
/etc/sasldb2). Für die Fehlermeldung sollte man denen echt mal einen Orden
verleihen.

> Ich bin mit meinem Latain am Ende.
> 
> Vieleicht habt ihr einen tipp für mich.

Klar: Latein schreibt man mit "e"... SCNR ;)

p at rick

-- 
The Book of Postfix
<http://www.postfix-book.com>
SMTP AUTH debug utility:
<http://postfix.state-of-mind.de/patrick.koetter/saslfinger/>



Mehr Informationen über die Mailingliste Postfixbuch-users