A BUGNOTE has been added to this bug.
======================================================================
http://dbmail.org/mantis/bug_view_advanced_page.php?bug_id=0000137
======================================================================
Reported By: aaron
Assigned To:
======================================================================
Project: DBMail
Bug ID: 137
Category: Documentation
Reproducibility: always
Severity: feature
Priority: normal
Status: new
======================================================================
Date Submitted: 11-Dec-04 00:59 CET
Last Modified: 11-Dec-04 01:07 CET
======================================================================
Summary: Configuration for SMTP AUTH for various MTA's
Description:
We should have a document explaining SMTP AUTH, with subdocuments for how
to connect each of the major MTA's to DBMail's database.
======================================================================
----------------------------------------------------------------------
aaron - 11-Dec-04 00:59 CET
----------------------------------------------------------------------
Drew Morris asked, and Christian Warden answered:
Exim configuration for SMTP AUTH against dbmail database is pretty
straight
forward.
begin authenticators
plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT user_idnr FROM users WHERE
userid =
'${quote_mysql:$2}' AND passwd = '${quote_mysql:$3}'}{1}fail}
server_set_id = $2
server_advertise_condition = ${if eq{$tls_cipher}{}{no}{yes}}
login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{SELECT user_idnr FROM users WHERE
userid =
'${quote_mysql:$1}' AND passwd = '${quote_mysql:$2}'}{1}fail}
server_set_id = $1
server_advertise_condition = ${if eq{$tls_cipher}{}{no}{yes}}
cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT passwd FROM users WHERE userid =
'${quote_mysql:$1}'}{$value}fail}
server_set_id = $1
spa:
driver = spa
public_name = NTLM
server_password = ${lookup mysql{SELECT passwd FROM users WHERE userid
=
'${quote_mysql:$1}'}{$value}fail}
----------------------------------------------------------------------
aaron - 11-Dec-04 01:07 CET
----------------------------------------------------------------------
Blake Mitchell said:
We had to rebuild postfix to use SASL then from main.cf:
....
# SMTP SERVER CONTROLS
# The smtpd_sasl_auth_enable parameter controls whether SMTP client
# authentication is enabled in the Postfix SMTP server. By default,
# the Postfix SMTP server does not use authentication.
#
# If an SMTP client is authenticated, then the permit_sasl_authenticated
# access restriction can be used to permit relay access, like this:
#
# smtpd_recipient_restrictions = permit_sasl_authenticated, ...
#
# To reject all SMTP connections from unauthenticated clients,
# specify smtpd_delay_reject=yes (which is the default) and use:
#
# smtpd_client_restrictions = permit_sasl_authenticated
smtpd_recipient_restrictions =
permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
#
# In order to enable server-side authentication, build Postfix with
# SASL support, and install a configuration file /usr/lib/sasl/smtpd.conf
# (SASL version 1) or /usr/lib/sasl2/smtpd.conf (SASL version 2) with
# as contents, for example,
#
# pwcheck_method: sasldb
#
# or whatever method is suitable for your environment: PAM, shadow,
# etc. If you use sasldb, you can add users with the "saslpasswd"
# command that comes with the SASL library. If you configure Postfix
# to use PAM, the PAM service name for SASL authentication is "smtp",
# and adding users depends entirely on how PAM is set up.
#
# If you run your SMTP server chrooted, then you need to copy PAM
# and/or SASL support libraries and data files into the chroot jail.
# That's a lot of files, and it seems not very practical to do so.
#
smtpd_sasl_auth_enable = yes
#smtpd_sasl_auth_enable = no
# The smtpd_sasl_security_options parameter controls what authentication
# mechanisms the Postfix SMTP server will offer to the client. The
# list of available authentication mechanisms is system dependent.
#
# Specify zero or more of the following:
#
# noplaintext: disallow methods that use plaintext passwords
# noactive: disallow methods subject to active (non-dictionary)
attack
# nodictionary: disallow methods subject to passive (dictionary) attack
# noanonymous: disallow methods that allow anonymous authentication
#
# An additional option is available in SASL version 2:
#
# mutual_auth: only allow methods that provide mutual authentication
#
# By default, the Postfix SMTP server accepts plaintext passwords but
# not anonymous logins.
#
# HORROR! It appears that clients try authentication methods in the
# order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
# which means that if you disable plaintext passwords, clients will
# log in anonymously, even when they should be able to use CRAM-MD5.
# So, if you disable plaintext logins, disable anonymous logins too.
# Postfix treats anonymous login as no authentication.
#
#smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_security_options = noanonymous
# The smtpd_sasl_local_domain parameter specifies the name of the
# local authentication realm.
#
# By default, the local authentication realm name is the name of the
# machine.
#
#smtpd_sasl_local_domain = $mydomain
smtpd_sasl_local_domain = $myhostname
....
[EMAIL PROTECTED]:~$ cat /usr/lib/sasl/smtpd.conf
pwcheck_method:PAM
[EMAIL PROTECTED]:~$ cat /etc/pam.d/smtp
#%PAM-1.0
auth required /lib/security/pam_mysql.so user=root db=dbmail
table=dbmail_users usercolumn=userid passwdcolumn=passwd
account required /lib/security/pam_mysql.so user=root db=dbmail
table=dbmail_users usercolumn=userid passwdcolumn=passwd
This is on RedHat 7.3.
Bug History
Date Modified Username Field Change
======================================================================
11-Dec-04 00:59aaron New Bug
11-Dec-04 00:59aaron Bugnote Added: 0000434
11-Dec-04 01:07aaron Bugnote Added: 0000435
======================================================================