> From: [email protected] [mailto:owner-postfix-
> [email protected]] On Behalf Of Patrick Ben Koetter
> * Simon Brereton <[email protected]>:
> > > > Saslfinger -s says:
> > >
> > > saslfinger also reports much other, useful information which we
> need
> > > to debug your problem. Please post complete output.
> >
> > Gladly. I was hoping you'd step in. Just to let you know, I've
> tried
> > both auxprop and saslauthd as the pwcheck method.
> >
> > I even tried rimap - and with courier authdaemon logging turned up
> to
> > 2, I can see the MYSQL is call is successful (i.e. IMAP validates)
> and
> > still SASL says authentication failed.
>
> We'll simplify first, and make it feature-complete later.
>
>
> > root@jonty:~# saslfinger -s
> > saslfinger - postfix Cyrus sasl configuration Wed Apr 13 05:52:12
> BST
> > 2011
> > version: 1.0.4
> > mode: server-side SMTP AUTH
> >
> > -- basics --
> > Postfix: 2.7.1
> > System: Debian GNU/Linux 6.0 \n \l
> >
> > -- smtpd is linked to --
> > libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb7672000)
> >
> > -- active SMTP AUTH and TLS parameters for smtpd --
> > broken_sasl_auth_clients = yes smtpd_sasl_auth_enable = yes
> > smtpd_sasl_local_domain = spamfreeisp.net
>
> $smtpd_sasl_local_domain required or because you found it on a
> website?
Probably the latter - although I don't think I've touched it much since you
helped me set it up about 5 years ago.
> > smtpd_sasl_security_options = noanonymous smtpd_tls_CAfile =
> > /root/certauth/cacert.pem smtpd_tls_auth_only = no
> smtpd_tls_cert_file
> > = /etc/postfix/ssl/mail.spamfreeisp.net.cert
> > smtpd_tls_key_file = /etc/postfix/ssl/mail.spamfreeisp.net.key
>
> Just as a sidenote: You might want to move your key and certs to
> /etc/ssl/...
> and own them root:ssl-cert and then "adduser postfix ssl-cert" to
> make it the "Debian way".
Good point. Will do that when I get to the end.
> > smtpd_tls_loglevel = 1
> > smtpd_tls_received_header = yes
> > smtpd_tls_session_cache_database =
> > btree:${queue_directory}/smtpd_scache
> > smtpd_tls_session_cache_timeout = 3600s smtpd_use_tls = yes
<SNIP>
> > -- content of /etc/postfix/sasl/smtpd.conf --
>
> Make this as follows and REMOVE the semi-colon at the end of your
> sql_select:-statement:
>
> pwcheck_method: auxprop
> mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
> auxprop_plugin: sql
> sql_engine: mysql
> sql_hostnames: localhost
> sql_user: --- replaced ---
> sql_passwd: --- replaced ---
> sql_database: Mail
> sql_select: SELECT Password FROM MailAccounts WHERE Username =
> '%u@%r'
Done.
> > -- active services in /etc/postfix/master.cf -- # service type
> > private unpriv chroot wakeup maxproc command + args
> > # (yes) (yes) (yes) (never) (100)
> > smtp inet n - - - - smtpd -v
> > submission inet n - n - - smtpd
> > -o receive_override_options=no_address_mappings
> > -o content_filter=dksign:[127.0.0.1]:10028
> > -o smtpd_enforce_tls=yes
> > -o smtpd_sasl_auth_enable=yes
> > -o smtpd_client_restrictions=permit_sasl_authenticated,reject
>
> Disable TLS for the moment.
> What do you get when you run "postconf smtpd_delay_reject"?
smtpd_delay_reject = yes
> Post verbose smtpd log that shows an authentication attempt if AUTH
> still fails after the changes.
>
> Caution
>
> When posting logs of the SASL negotiations to public lists,
> please keep in
> mind that username/password information is trivial to recover
> from the
> base64-encoded form written to log files.
Part of my problem is that I can't get SASL logging verbosity to the point
where I can see the passwords! If I could, that would help.
Two attempts.
Apr 13 14:54:10 jonty postfix/master[28058]: reload -- version 2.7.1,
configuration /etc/postfix
Apr 13 14:54:10 jonty postfix/anvil[1821]: statistics: max connection rate
1/60s for (smtp:192.168.1.4) at Apr 13 14:51:58
Apr 13 14:54:10 jonty postfix/anvil[1821]: statistics: max connection count 1
for (smtp:192.168.1.4) at Apr 13 14:51:58
Apr 13 14:54:10 jonty postfix/anvil[1821]: statistics: max cache size 1 at Apr
13 14:51:58
Apr 13 14:54:33 jonty postfix/smtpd[1834]: connect from unknown[192.168.1.4]
Apr 13 14:54:46 jonty postfix/smtpd[1834]: warning: SASL authentication
failure: Password verification failed
Apr 13 14:54:46 jonty postfix/smtpd[1834]: warning: unknown[192.168.1.4]: SASL
PLAIN authentication failed: authentication failure
Apr 13 14:54:58 jonty postfix/smtpd[1834]: disconnect from unknown[192.168.1.4]
Apr 13 14:55:05 jonty postfix/smtpd[1838]: connect from unknown[192.168.1.4]
Apr 13 14:55:22 jonty postfix/smtpd[1838]: warning: SASL authentication
failure: Password verification failed
Apr 13 14:55:22 jonty postfix/smtpd[1838]: warning: unknown[192.168.1.4]: SASL
PLAIN authentication failed: authentication failure
Apr 13 14:55:25 jonty postfix/smtpd[1838]: disconnect from unknown[192.168.1.4]
Turning up the -v on the smtpd and showing the relevant portion...
Apr 13 14:58:57 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 220
mail.spamfreeisp.net ESMTP Postfix (2.7.1) (Debian/GNU)
Apr 13 14:58:57 jonty postfix/smtpd[1860]: xsasl_cyrus_server_create: SASL
service=smtp, realm=(null)
Apr 13 14:58:57 jonty postfix/smtpd[1860]: name_mask: noanonymous
Apr 13 14:59:03 jonty postfix/smtpd[1860]: < unknown[192.168.1.4]: ehlo
simon-dada
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]:
250-mail.spamfreeisp.net
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]:
250-PIPELINING
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 250-SIZE
20480000
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 250-ETRN
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 250-STARTTLS
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 250-AUTH
LOGIN CRAM-MD5 DIGEST-MD5 PLAIN
Apr 13 14:59:03 jonty postfix/smtpd[1860]: match_list_match: unknown: no match
Apr 13 14:59:03 jonty postfix/smtpd[1860]: match_list_match: 192.168.1.4: no
match
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]:
250-AUTH=LOGIN CRAM-MD5 DIGEST-MD5 PLAIN
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]:
250-ENHANCEDSTATUSCODES
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 250-8BITMIME
Apr 13 14:59:03 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 250 DSN
Apr 13 14:59:17 jonty postfix/smtpd[1860]: < unknown[192.168.1.4]: AUTH PLAIN
--Base64 string--
Apr 13 14:59:17 jonty postfix/smtpd[1860]: xsasl_cyrus_server_first:
sasl_method PLAIN, init_response --Base64 String--
Apr 13 14:59:17 jonty postfix/smtpd[1860]: xsasl_cyrus_server_first: decoded
initial response [email protected]
Apr 13 14:59:17 jonty postfix/smtpd[1860]: warning: SASL authentication
failure: Password verification failed
Apr 13 14:59:17 jonty postfix/smtpd[1860]: warning: unknown[192.168.1.4]: SASL
PLAIN authentication failed: authentication failure
Apr 13 14:59:17 jonty postfix/smtpd[1860]: > unknown[192.168.1.4]: 535 5.7.8
Error: authentication failed: authentication failure
I know the Base64 string is correct.
I turned up mysql logging and did another test - and no query appeared in the
mysql log! In an effort to prove to myself, I did an imap login attempt (which
also uses mysql) and the query appears in the mysql log. It looks to me as if
SASL isn't talking to mysql (but then I had the same impression it wasn't
listening to the imap server when I tried rimap too).