Postfix & SASL Authentication

Greg Groth ggroth at gregs-garage.com
Tue Aug 8 14:52:24 UTC 2006


On 8/8/2006 9:20 AM, Gerard Seibert wrote:
> FreeBSD 6.1 STABLE
> 
> I have SASL and Postfix installed and for the most part they seem to
> work all right together. However, there is one small problem.
> 
> When attempting to send a message from one of the PC's on the network,
> actually any PC on the network except for the one with Postfix installed
> on it, this error message is inserted into the maillog file.
> 
> Aug  8 10:11:32 scorpio postfix/smtpd[1310]: connect from boss.seibercom.net[192.168.0.4]
> Aug  8 10:11:32 scorpio postfix/smtpd[1310]: warning: SASL authentication failure: no user in db
> Aug  8 10:11:32 scorpio postfix/smtpd[1310]: 859B9BD6C: client=boss.seibercom.net[192.168.0.4], sasl_method=LOGIN, sasl_username=gerard at seibercom.net
> 
> All of the users are authenticated. Exactly what is it referring to and how do I correct it? The mail does get relayed however, so it is not a fatal warning.
> 
> 
Which version of SASL?  v1 or v2?

The following is based on ym experience with v2, and I don't know if it 
applies to v1 or not.

As far as the message in you log file, it's attempting to authenticate, 
but it's not connecting to the user database to verify the user.  More 
than likely it's allowing you to send mail from the local server because 
you have Postfix configured to allow it to relay mail from localhost, 
and that this is allowing you to send the email even though 
authentication is failing.

To determine which authentication methods Postfix will accept, telnet to 
localhost on port 25 and issue a EHLO:

mail# telnet localhost 25
Trying ::1...
Connected to localhost.domain.com.
Escape character is '^]'.
220 mail.domain.com ESMTP Postfix

EHLO localhost

250-mail.domain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH NTLM LOGIN PLAIN GSSAPI DIGEST-MD5 CRAM-MD5
250-AUTH=NTLM LOGIN PLAIN GSSAPI DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

In this instance, the AUTH line dictates which authentication mechanisms 
Postfix will accept.  In this case: NTLM LOGIN PLAIN GSSAPI DIGEST-MD5 
CRAM-MD5

Check your /usr/local/lib/sasl2/smtpd.conf file and make sure that you 
have the correct auth mechanism listed.  For plain text login that's 
verified against your existing users, your smtpd.conf file would read as 
follows:

pwcheck_method: saslauthd

This will verify against your existing user accounts.  There are other 
methods, such as pwcheck_method:  sasldb, that will verify against 
SASL's own password database, which I've never used.

Make sure that you have saslauthd running (which it appears you do).

Issue the following:

# /usr/local/sbin/testsaslauthd -u username -p password
0: OK "Success."

If saslauthd is operating correctly, you'll recieve the OK "Success." 
If not, your problem is with saslauthd.

If your AUTH line does not list the right AUTH mechanism, the problem is 
with Postfix.  For instance, if you're trying to use SMTP-AUTH from a 
client on your network, and have pwcheck_method: saslauthd defined in 
your smtpd.conf file, you have to have PLAIN LOGIN appear in the AUTH 
line when telnetting.

Best regards,
Greg Groth


More information about the freebsd-questions mailing list