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 ======================================================================