Leidiges Thema Postfix + SASL-Auth + MySQL

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
nightwatch-ok
Posts: 5
Joined: 2004-06-16 20:06

Leidiges Thema Postfix + SASL-Auth + MySQL

Post by nightwatch-ok » 2004-06-16 20:41

Hi liebes Forum....

ich habe jetzt nahezu alle Threads zum oben genanten Theme gelesen,
kann aber mein Problem leider nicht lösen.

Ich habe Suse 9.1 mit Cyrus-SASL 2.1.18 + Postfix 2.1.0 (selbstkompiliert) + Courier-Imap 1.7.1 (selbstkompiliert) + MySQL (4.0 hassenichgesehn)

Postfix und Courier greifen wunderbar auf die Datenbank mit den
Benutzerdaten zu. (hat auch alles auf anhieb funktioniert).

Doch leider will Cyrus-Sasl nicht mit der selben Datenbank

meine smtpd.conf sieht wie folgt aus :

pwcheck_method: auxprop
auxprop_plugin: mysql
mech_list: PLAIN LOGIN
mysql_user: ++++++
mysql_passwd: ++++++
mysql_database: ++++++
mysql_host: localhost (habe ich auch schon mit 127.0.0.1 probiert)
mysql_statement: SELECT password FROM users WHERE id='%u' and imapok='1'
mysql_verbose: yes


der Sasl-Teil in der Main.cf sieht wie folgt aus:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination



im LogFile habe ich folgende bei ankommender Anfrage:

Jun 16 19:29:23 linux postfix/smtpd[23655]: watchdog_pat: 0x8098ff8
Jun 16 19:29:23 linux postfix/smtpd[23655]: < pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: EHLO laptop
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-lokale.domaine.tld
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-PIPELINING
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-SIZE 10240000
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-VRFY
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-ETRN
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-STARTTLS
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-AUTH LOGIN PLAIN
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250-AUTH=LOGIN PLAIN
Jun 16 19:29:23 linux postfix/smtpd[23655]: match_list_match: pD952D3B0.dip.t-dialin.net: no match
Jun 16 19:29:23 linux postfix/smtpd[23655]: match_list_match: xx.xx.xx.xx: no match
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 250 8BITMIME
Jun 16 19:29:23 linux postfix/smtpd[23655]: watchdog_pat: 0x8098ff8
Jun 16 19:29:23 linux postfix/smtpd[23655]: < pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: AUTH LOGIN
Jun 16 19:29:23 linux postfix/smtpd[23655]: smtpd_sasl_authenticate: sasl_method LOGIN
Jun 16 19:29:23 linux postfix/smtpd[23655]: smtpd_sasl_authenticate: uncoded challenge: Username:
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 334 VXNlcm5hbWU6
Jun 16 19:29:23 linux postfix/smtpd[23655]: < pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: by5raWhu
Jun 16 19:29:23 linux postfix/smtpd[23655]: smtpd_sasl_authenticate: decoded response: o.kihn
Jun 16 19:29:23 linux postfix/smtpd[23655]: smtpd_sasl_authenticate: uncoded challenge: Password:
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 334 blablabla
Jun 16 19:29:23 linux postfix/smtpd[23655]: < pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: blabla
Jun 16 19:29:23 linux postfix/smtpd[23655]: smtpd_sasl_authenticate: decoded response: passwort ist richtig dekodiert
Jun 16 19:29:23 linux postfix/smtpd[23655]: warning: pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: SASL LOGIN authentication failed
Jun 16 19:29:23 linux postfix/smtpd[23655]: > pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]: 535 Error: authentication failed
Jun 16 19:29:23 linux postfix/smtpd[23655]: watchdog_pat: 0x8098ff8
Jun 16 19:29:23 linux postfix/smtpd[23655]: smtp_get: EOF
Jun 16 19:29:23 linux postfix/smtpd[23655]: lost connection after AUTH from pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]
Jun 16 19:29:23 linux postfix/smtpd[23655]: disconnect from pD952D3B0.dip.t-dialin.net[xx.xx.xx.xx]

Mich wundert einfach nur das ich keine Meldung bekomme was da nicht
gefunzt hat. (habe auch keine auth.log)
Wenn er wenigstens sagen würde, das er sich nicht an MySQL Connecten kann. :-(

ich habe auch SASL mit der Standard SuSE installation probiert als auch
ein SASL selbstkompiliert (mit MySQL unterstützung) aber ich habe mir sagen lassen, das die Standard Suse Bibliothek schon mit MySQL kompiliert wurde (ich habe bei beiden den selben Efekt)

Ich habe jetzt ne menge rumkonfiguriert und kann nun nicht ausschließen das irgendetwas nicht mehr stimmt.. Wie muß die /etc/sysconfig/saslauthd aussehen?

meine sieht wie folgt aus
START=yes
## Path: System/Security/SASL
## Type: list(getpwent,kerberos5,pam,rimap,shadow,ldap)
## Default: pam
## ServiceRestart: saslauthd
SASLAUTHD_AUTHMECH=pam (muß hier nicht was mit mysql hin)

Welche Dateien und Dienst müssen sonst noch konfiguriert werden.
(SASLAUTHD läuft)

Jetzt das kuriose, wenn ich alles über sasldb2 laufen lasse funktioniert das ganze problemlos.
Was mich auf ein eigentlich richtig eingerichteten saslauthd schließen läßt.

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Leidiges Thema Postfix + SASL-Auth + MySQL

Post by duergner » 2004-06-16 22:23

Schau dir mal das Howto auf http://www.workaround.org/ispmail an. Das is eigentlich recht gut.

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

Re: Leidiges Thema Postfix + SASL-Auth + MySQL

Post by sascha » 2004-06-16 22:36

Nimm am besten pam_mysql für SMTP-Auth. Das benutze ich hier auch und alles läuft bestens.

nightwatch-ok
Posts: 5
Joined: 2004-06-16 20:06

Re: Leidiges Thema Postfix + SASL-Auth + MySQL

Post by nightwatch-ok » 2004-06-17 21:36

Hi...

Habe es hinbekommen.....

war eigentlich recht simpel....

der Socket war im falsche Verzeichnis .
Aus irgendnem Grund muß die mux-Datei in /var/state/saslauthd stehen

im rcsaslauthd einfach ein PARAM=/var/state/saslauthd
und beim Start noch
/sbin/startproc $AUTHD_BIN -a $SASLAUTHD_AUTHMECH -m $PARAM > /dev/null 2>&1

und schon funzte es ..... (hat mich drei tage meines lebens gekostet)

aber trotzdem danke (vieleicht hilft es ja in Zukunft jemandem)

Olli