[Postfixbuch-users] Problem mit Cyrus und MySQL

Jörg Sitek - mob e.V. joerg.sitek at strassenfeger.org
Sa Sep 27 19:10:14 CEST 2008


Guten Abend zusammen,

inzwischen bin ich ein bisschen weiter gekommen und habe die Authentifizierung via sasl hinbekommen, jedoch nur, wenn Klartextpasswörter verwendet werden. Sobald in der Datenbank wieder MD5 Passwörter stehen und ich die /etc/pam.d/imap Konfiguration wieder auf crypt=1 (bzw. 3) eingestellt habe, steht folgendes im auth.log

Sep 27 18:58:03 x-mail saslauthd[2147]: server_exit     : master exited: 2147
Sep 27 18:58:03 x-mail saslauthd[2253]: detach_tty      : master pid is: 2253
Sep 27 18:58:03 x-mail saslauthd[2253]: ipc_init        : listening on socket: /var/run/saslauthd/mux
Sep 27 18:58:48 x-mail cyrus/imap[2298]: sql_select option missing
Sep 27 18:58:48 x-mail cyrus/imap[2298]: auxpropfunc error no mechanism available
Sep 27 18:58:48 x-mail cyrus/imap[2298]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql
Sep 27 18:58:50 x-mail saslauthd[2254]: pam_mysql - non-crypt()ish MD5 hash is not supported in this build.
Sep 27 18:58:50 x-mail saslauthd[2254]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=cyrus
Sep 27 18:58:52 x-mail saslauthd[2254]: DEBUG: auth_pam: pam_authenticate failed: Permission denied
Sep 27 18:58:52 x-mail saslauthd[2254]: do_auth         : auth failure: [user=cyrus] [service=imap] [realm=] [mech=pam] [reason=PAM auth error]

Der imtest hingegen:

x-mail:~# imtest -a cyrus localhost
S: * OK x-mail Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE STARTTLS AUTH=NTLM AUTH=CRAM-MD5 AUTH=DIGEST-MD5 SASL-IR
S: C01 OK Completed
C: A01 AUTHENTICATE DIGEST-MD5
S: + bm9uY2U9InpPWS9DTW1KL0h3WVNzenpJMDZhRXFxVlRKSTdMN1d0NVAwRDFUdStVM2s9IixyZWFsbT0ieC1tYWlsIixxb3A9ImF1dGgsYXV0aC1pbnQsYXV0aC1jb25mIixjaXBoZXI9InJjNC00MCxyYzQtNTYscmM0LGRlcywzZGVzIixtYXhidWY9NDA5NixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw==
Please enter your password:
C: dXNlcm5hbWU9ImN5cnVzIixyZWFsbT0ieC1tYWlsIixub25jZT0iek9ZL0NNbUovSHdZU3N6ekkwNmFFcXFWVEpJN0w3V3Q1UDBEMVR1K1Uzaz0iLGNub25jZT0iRkxObVBCckU3NnZnMCt0d000ekluUkJEWWRoR2pUMVdVcjRNWmRDMzY1WT0iLG5jPTAwMDAwMDAxLHFvcD1hdXRoLWNvbmYsY2lwaGVyPXJjNCxtYXhidWY9MTAyNCxkaWdlc3QtdXJpPSJpbWFwL2xvY2FsaG9zdCIscmVzcG9uc2U9NzRmOTI2NGNmYzc1ZTg5ZmFhMDQ4YTU1MzQ5MTE4MGQ=
S: + cnNwYXV0aD0zY2M4ZDUzZDI3NzA0NmUzMWRjODNmYmRmMGVkZTc0MA==
C:
S: A01 OK Success (privacy protection)
Authenticated.
Security strength factor: 128

Der andere imtest jedoch
x-mail:~# imtest -m login -a cyrus localhost
S: * OK x-mail Cyrus IMAP4 v2.2.13-Debian-2.2.13-10 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE STARTTLS AUTH=NTLM AUTH=CRAM-MD5 AUTH=DIGEST-MD5 SASL-IR
S: C01 OK Completed
Please enter your password:
C: L01 LOGIN cyrus {5}
S: + go ahead
C: <omitted>
S: L01 NO Login failed: authentication failure
Authentication failed. generic failure
Security strength factor: 0

Hoffe ihr habt da ein paar Tipps, wo der Hund begraben liegt :)

Gruß Jörg





Von: Jörg Sitek - mob e.V.
Gesendet: Sa 27.09.2008 16:04
An: Eine Diskussionsliste rund um das Postfix-Buch von Peer Heinlein.
Betreff: Re: [Postfixbuch-users] Problem mit Cyrus und MySQL


Hallo Peer,

danke für den Hinweis, doch erstmal die mysql-Verbindung zu Prüfen. Ich hatte noch gar keinen mysql-client installiert. Ich dachte ich hätte, aber...

Die Verbindung funktíoniert nun:

x-mail:~# mysql -p -u cyrus -h 192.168.87.110
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6322
Server version: 5.0.51a-15~bpo40+1 (Debian)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> quit
Bye

Und der Test mit testsaslauthd gibt:

x-mail:~# testsaslauthd -u cyrus -p cyrus
0: NO "authentication failed"

Hier mal meine pam Configuration
@include common-auth
@include common-account

auth sufficient pam_mysql.so user=cyrus passwd=cyrus host=192.168.87.110 db=mailadmin table=user usercolumn=mbox passwdcolumn=password crypt=1 sqlLog=0
auth sufficient pam_unix_auth.so

account required pam_mysql.so user=cyrus passwd=cyrus host=192.168.87.110 db=mailadmin table=user usercolumn=mbox passwdcolumn=password crypt=1 sqlLog=0
account sufficient pam_unix_acct.so

Und ein Auszug aus dem auth.log
Sep 27 15:56:40 x-mail saslauthd[2537]: (pam_unix) check pass; user unknown
Sep 27 15:56:40 x-mail saslauthd[2537]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Sep 27 15:56:40 x-mail saslauthd[2537]: (pam_unix) check pass; user unknown
Sep 27 15:56:42 x-mail saslauthd[2537]: DEBUG: auth_pam: pam_authenticate failed: User not known to the underlying authentication module
Sep 27 15:56:42 x-mail saslauthd[2537]: (pam_unix) 1 more authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=
Sep 27 15:56:42 x-mail saslauthd[2537]: do_auth         : auth failure: [user=admin] [service=imap] [realm=] [mech=pam] [reason=PAM auth error]


Habe inzwischen nochmal testweise auf auxprop umgestellt und mit dem eigenen Cyrusplugin sql die Verbindung eingerichtet. Sobald dann ein Benutzer in der Datenbank mit Klartextpasswort existiert, funktioniert der Login. Geht denn MD5 auch?

Also die Verbindung zur Datenbank ist nun ok - danke Peer - und die Benutzernamen und Passwörter stimmen auch.

Gruß Jörg



Von: Peer Heinlein
Gesendet: Sa 27.09.2008 14:20
An: Eine Diskussionsliste rund um das Postfix-Buch von Peer Heinlein.
Betreff: Re: [Postfixbuch-users] Problem mit Cyrus und MySQL


Am Freitag 26 September 2008 schrieb Jörg Sitek - mob e.V.:


> x-mail:~# cyradm -auth login localhost -user cyrus
> IMAP Password:
>               Login failed: authentication failure at
> /usr/lib/perl5/Cyrus/IMAP/Admin.pm line 119 cyradm: cannot
> authenticate to server with login as cyrus


Wenn man diese Logmeldung ernst nimmt, dann scheint sich Cyrus/SASL am 
MySQL nicht anmelden zu können! Hier ist vom Connect Cyrus -> MySQL 
über den MySQL(!)-Usernamen "cyrus" die Rede.

Demnach dürfte es absolut unerheblich sein, was *IN* der Datenbank 
steht. Der Zugriff auf die DB als solches klappt nicht.

Prüfe in MySQL mal den Usernamen cyrus, das Passwort, vor allem aber 
auch seine Rechte an der Datenbank. Schau auch, ob der User Cyrus als 
kommend vom Mailsercver-Host erlaubt ist -- normalerweise sind die 
MySQL-User ja nur von localhost aus kommend erlaubt und Du scheinst ja 
nicht 127.0.0.1, sondern einen externen anderen Host abzufragen.

Wie auch immer: Der User cyrus kann sich bei MySQL nicht einloggen. Das 
ist das Problem, das Du lösen kannst. Eventuell solltest Du erstmal 
Cyrus/SASL außen vor lassen und über einen normalen Shell-Aufruf 
von "mysql" auf dem Mailserver den Connect/Login zum MySQL-Server 
testen 

Das müßte dann sowas wie

mysql -p -u cyrus -h 192.168.87.110 

sein.

Mit freundlichen Grüßen

Peer Heinlein


-- 
Heinlein Professional Linux Support GmbH
Linux: Akademie - Support - Hosting

http://www.heinlein-support.de
Tel: 030 / 40 50 51 - 0  ***  Fax: - 19

Die 3. Secure Linux Administration Conference am 10. - 12.12.2008
http://www.heinlein-support.de/slac

Zwangsangaben lt. §35a GmbHG:
HRB 93818 B / Amtsgericht Berlin-Charlottenburg, 
Geschäftsführer: Peer Heinlein  --  Sitz: Berlin
-- 
_______________________________________________
Postfixbuch-users -- http://www.postfixbuch.de
Heinlein Professional Linux Support GmbH

Postfixbuch-users at listen.jpberlin.de
https://listi.jpberlin.de/mailman/listinfo/postfixbuch-users
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listi.jpberlin.de/pipermail/postfixbuch-users/attachments/20080927/6e93cd62/attachment.html>


Mehr Informationen über die Mailingliste Postfixbuch-users