SASL - mysql - postfix - SASL authentication failure

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
weisnix
Posts: 20
Joined: 2004-07-15 08:06

SASL - mysql - postfix - SASL authentication failure

Post by weisnix » 2004-07-25 19:50

Hallo,

mein Postfix läuft jetzt, habe allerdings noch ein kleines Problem mit SASL. Also, ich habe Suse9.1 bin nach mehreren Anleitungen vorgegangen und habe mir aus allen etwas rausgesucht.
Eingesetzt werden Postfix 2.1.4, Sasl 2.1.18, MySQL 4.0.18, Courier-IMAP 3.0.5 und Postfixadmin 2.0.4.
Das pollen mit POP von entfernten Rechnern und der Zugriff via IMAP klappen wunderbar. Lokal kann ich auch Mails versenden via telnet localhost 25. Allerdings klappt der SMTP-Zugriff von aussen noch nicht. Es wird aber vermutlich nur ein kleiner Fehler sein.

Im Log steht:

Code: Select all

Jul 25 17:50:27 web01 postfix/smtpd[24592]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Jul 25 17:50:27 web01 postfix/smtpd[24592]: warning: p50828A48.dip0.t-ipconnect.de[80.130.138.72]: SASL LOGIN authentication failed
Wobei der saslauthd doch läuft (siehe unten). Ich benutze keine chroot-Umgebung, jedenfalls noch nicht. Aber die wichtigen Dateien stehen ja unten dran.
Ich bin nach verschiedenen Anleitungen vorgegangen, einmal High5.net/howto bzw. /postfixadmin
sowie auch nach http://www.workaround.org/articles/ispmail-sarge bzgl. der Authentifizierung via PAM. Auch habe ich mir einige Sachen aus dem Postfixbuch gesucht.
Die Datei smtpd.conf gibt es bei mir zweimal (einmal unter /etc/postfix/sasl; von mir selbst angelegt, und einmal unter /usr/lib/sasl2). Eventuell liegt das daran, dass ich Courier-IMAP per Hand eingebunden habe. Auf jeden FAll sind beide Dateien gleich.
Außerdem sollte man den User Postfix der Gruppe sasl hinzufügen. Ich habe aber gar keine SASL-Gruppe. Liegt hier etwa das Problem ??

Vielleicht kann mir ja noch irgendwer kurz helfen. Dann hoffe ich, dass alles läuft. Vielen Dank und Gruß



Ein postconf -n|grep sasl

Code: Select all

broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,
                                           permit_sasl_authenticated,                    
                                           reject_non_fqdn_sender,
                                           reject_non_fqdn_recipient,
                                           reject_unauth_destination,
                                           reject_unauth_pipelining,                               
                                           reject_invalid_hostname
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
Ein cat /etc/postfix/master.cf|grep smtpd

Code: Select all

web01:/etc/pam.d # cat /etc/postfix/master.cf |grep smtpd
smtp      inet  n       -       n       -       -       smtpd
#smtps    inet  n       -       n       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission     inet    n       -       n       -       -       smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
localhost:10025 inet    n       -       n       -       -       smtpd -o content_filter=

Ein cat auf smtpd.conf (beide, s.o.)

Code: Select all

web01:/usr/lib/sasl2 # cat smtpd.conf
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
Ein cat auf /etc/pam.d/smtp

Code: Select all

web01:/etc/pam.d # cat smtp
auth required pam_mysql.so user=postfix passwd=xxxx host=localhost db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=l
account sufficient pam_mysql.so user=postfix passwd=xxxx host=localhost db=postfix table=mailbox usercolumn=username passwdcolumn=password crypt=l
web01:/etc/pam.d #
Mein /usr/lib/sasl2

Code: Select all

web01:/usr/lib/sasl2 # l
total 222
drwxr-xr-x   2 root root  1072 Jul 16 12:20 ./
drwxr-xr-x  41 root root 13200 Jul 24 23:56 ../
-rwxr-xr-x   1 root root   695 Apr  6 03:44 libanonymous.la*
lrwxrwxrwx   1 root root    22 Jul 15 09:56 libanonymous.so -> libanonymous.so.2.0.18*
lrwxrwxrwx   1 root root    22 Jul 15 09:56 libanonymous.so.2 -> libanonymous.so.2.0.18*
-rwxr-xr-x   1 root root 16099 Apr  6 03:44 libanonymous.so.2.0.18*
-rwxr-xr-x   1 root root   683 Apr  6 03:44 libcrammd5.la*
lrwxrwxrwx   1 root root    20 Jul 16 12:20 libcrammd5.so -> libcrammd5.so.2.0.18*
lrwxrwxrwx   1 root root    20 Jul 16 12:20 libcrammd5.so.2 -> libcrammd5.so.2.0.18*
-rwxr-xr-x   1 root root 18461 Apr  6 03:44 libcrammd5.so.2.0.18*
-rwxr-xr-x   1 root root   713 Apr  6 03:44 libdigestmd5.la*
lrwxrwxrwx   1 root root    22 Jul 16 12:20 libdigestmd5.so -> libdigestmd5.so.2.0.18*
lrwxrwxrwx   1 root root    22 Jul 16 12:20 libdigestmd5.so.2 -> libdigestmd5.so.2.0.18*
-rwxr-xr-x   1 root root 47575 Apr  6 03:44 libdigestmd5.so.2.0.18*
-rwxr-xr-x   1 root root   765 Apr  6 03:44 libgssapiv2.la*
lrwxrwxrwx   1 root root    21 Jul 16 12:20 libgssapiv2.so -> libgssapiv2.so.2.0.18*
lrwxrwxrwx   1 root root    21 Jul 16 12:20 libgssapiv2.so.2 -> libgssapiv2.so.2.0.18*
-rwxr-xr-x   1 root root 26605 Apr  6 03:44 libgssapiv2.so.2.0.18*
-rwxr-xr-x   1 root root   679 Apr  6 03:44 liblogin.la*
lrwxrwxrwx   1 root root    18 Jul 15 09:56 liblogin.so -> liblogin.so.2.0.18*
lrwxrwxrwx   1 root root    18 Jul 15 09:56 liblogin.so.2 -> liblogin.so.2.0.18*
-rwxr-xr-x   1 root root 16811 Apr  6 03:44 liblogin.so.2.0.18*
-rwxr-xr-x   1 root root   679 Apr  6 03:44 libplain.la*
lrwxrwxrwx   1 root root    18 Jul 16 12:20 libplain.so -> libplain.so.2.0.18*
lrwxrwxrwx   1 root root    18 Jul 16 12:20 libplain.so.2 -> libplain.so.2.0.18*
-rwxr-xr-x   1 root root 16773 Apr  6 03:44 libplain.so.2.0.18*
-rwxr-xr-x   1 root root   704 Apr  6 03:44 libsasldb.la*
lrwxrwxrwx   1 root root    19 Jul 15 09:56 libsasldb.so -> libsasldb.so.2.0.18*
lrwxrwxrwx   1 root root    19 Jul 15 09:56 libsasldb.so.2 -> libsasldb.so.2.0.18*
-rwxr-xr-x   1 root root 21330 Apr  6 03:44 libsasldb.so.2.0.18*
lrwxrwxrwx   1 root root    20 Jul 15 09:54 sasl2 -> /usr/local/lib/sasl2/
-rw-------   1 root root    49 Jul 25 17:48 smtpd.conf
Ein ps aux|grep sasl

Code: Select all

web01:/usr/lib/sasl2 # ps aux|grep sasl
root     24099  0.0  0.1  4116 1120 ?        Ss   17:10   0:00 /usr/sbin/saslauthd -a pam
root     24100  0.0  0.1  4116 1120 ?        S    17:10   0:00 /usr/sbin/saslauthd -a pam
root     24101  0.0  0.1  4116 1120 ?        S    17:10   0:00 /usr/sbin/saslauthd -a pam
root     24102  0.0  0.1  4116 1120 ?        S    17:10   0:00 /usr/sbin/saslauthd -a pam
root     24103  0.0  0.1  4116 1120 ?        S    17:10   0:00 /usr/sbin/saslauthd -a pam
root     24869  0.0  0.0  1724  624 pts/2    R+   19:05   0:00 grep sasl

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: SASL - mysql - postfix - SASL authentication failure

Post by adjustman » 2004-07-25 21:59

Code: Select all

/usr/sbin/saslauthd -a pam
lass den doch mal auf shadow los. Ich hatte auch die Probleme mit pam. Mit shadow gings dann.

weisnix
Posts: 20
Joined: 2004-07-15 08:06

Re: SASL - mysql - postfix - SASL authentication failure

Post by weisnix » 2004-07-25 23:26

Hi,

wie mit shadow ?? Ich wollte doch mit einer mysql-db authentifizieren. Oder versteh ich jetzt was nicht ?

Gruß
weisnix

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: SASL - mysql - postfix - SASL authentication failure

Post by adjustman » 2004-07-26 00:59

weisnix wrote: ... Oder versteh ich jetzt was nicht ?
nee ich hab was falsch verstanden .... :oops: Sorry, aber damit hab ich mich noch nicht befasst.

sascha
RSAC
Posts: 1345
Joined: 2002-04-22 23:08

Re: SASL - mysql - postfix - SASL authentication failure

Post by sascha » 2004-07-26 01:38

Schau mal ob der Socket vom saslauthd auch an der richtigen Stelle liegt (Je nachdem ob Postfix chrooted ist oder nicht).

weisnix
Posts: 20
Joined: 2004-07-15 08:06

Re: SASL - mysql - postfix - SASL authentication failure

Post by weisnix » 2004-07-26 07:49

Hi,

also eine Chroot - Umgebung habe ich noch nicht. Aber ich glaube, bzw. kommt aus einem anderen Forum, dass mir noch die SASL Gruppe / User fehlen, da ich SASL selbst per Hand installiert habe.
Wie bekomme ich den? Einfach anlegen ??

Mein var/run

Code: Select all

web01:/var/run/sasl2 # l
total 5
drwxr-xr-x  2 root root 136 Jul 25 17:12 ./
drwxr-xr-x  9 root root 944 Jul 26 07:44 ../
srwxrwxrwx  1 root root   0 Jul 25 17:09 mux=
-rw-------  1 root root   0 Jul 25 17:12 mux.accept
-rw-------  1 root root   6 Jul 25 17:09 saslauthd.pid
web01:/var/run/sasl2

Gruß
weisnix

weisnix
Posts: 20
Joined: 2004-07-15 08:06

Re: SASL - mysql - postfix - SASL authentication failure

Post by weisnix » 2004-07-26 20:19

Hi,

ich bins nochmal, also eine SASL Gruppe braucht es unter Suse nicht. Ist nur bei debian so.

Aber ich verzweifel immer noch. Ich habe jetzt alles probiert (Authentifizierung über PAM, über RIMAP und über AUXPROP). Aber nichts klappt. Wobei AUXPROP so eigentlich auch nicht klappen kann, da meine MySQL DB die Passwörter crypted. Aber warum geht weder PAM noch RIMAP. Ich verstehe so langsam die Welt nicht mehr.
Hat nicht noch jemand eine Idee ?
Warum sagt er mir bei PAM, dass er den saslauthd server nicht findet. Oder wo muss er liegen ??

Gruß
weisnix

charlie
Posts: 78
Joined: 2002-09-30 23:36

Re: SASL - mysql - postfix - SASL authentication failure

Post by charlie » 2004-07-27 00:12

Hi,

ja ich habe mir auch die Zähne ausgebissen und habe es dann über die pam_mysql geschafft. Wie gesagt was steht denn in deinem username drinn.
Nur kann ich damit nicht mehrere Domain verwalten, deswegen werde ich es diese Woche noch mal angehen :twisted: .
Wir werden es schon hin bekommen. :wink:

Charlie

weisnix
Posts: 20
Joined: 2004-07-15 08:06

Re: SASL - mysql - postfix - SASL authentication failure

Post by weisnix » 2004-07-27 07:48

hallo charlie,

in meinem Username steht user@domain.tld
Ich muss aber mehrere Domains verwalten ;-))

Ich denke auch, dass wir es noch hinbekommen. Ist halt nur eine Frage der Zeit. Allerdings bringt mich meine Frau bald um.

Gruß
weisnix

charlie
Posts: 78
Joined: 2002-09-30 23:36

Re: SASL - mysql - postfix - SASL authentication failure

Post by charlie » 2004-07-27 09:34

Hi,

also für mich klar kann net gehen mit user@domain.tld teste mal bitte nur mit user dann sollte es funzen.
Die Domain musst du dann mit den SQL Query abfragen und dann mit der '-r' Option abschneiden.

charlie