[Postfix-es] Problema autenticacion Postfix <--> SASL, MySQL

Francisco X. Vázquez fxvazquez.listas en gmail.com
Jue Mar 3 21:16:13 CET 2005


Hola a todo el mundo:

Me he subscrito recientemente a esta lista porque acabo de empezar con
postfix y me han surgido algunos problemas. Muchos los he conseguido
resolver en la documentación y revisando las news de usenet, sin
embargo ahora tengo un problema que no se como resolver.

Estoy siguiendo las instrucciones de
http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/index.html
pero adaptadas a Debian Sarge. Es decir, no compilo nada, solamente
instalo los paquetes debian oportunos.

El problema está en conseguir que PostFix autentifique usuarios con
sasl contra una bbdd mysql para permitirles enviar correo, pero no
consigo que me funcione. En los logs me sale lo siguiente:

Mar  3 21:00:14 servername postfix/smtpd[26250]:
smtpd_sasl_initialize: SASL config file is smtpd.conf
Mar  3 21:00:14 servername postfix/smtpd[26250]: fatal: SASL
per-process initialization failed
Mar  3 21:00:15 servername postfix/master[10968]: warning: process
/usr/lib/postfix/smtpd pid 26250 exit status 1
Mar  3 21:00:15 servername postfix/master[10968]: warning:
/usr/lib/postfix/smtpd: bad command startup -- throttling

No consigo averiguar porque me sale el error de "fatal: SASL
per-process ...." he buscado por todos los lados y las soluciones que
se proponen las he comprobado y no parece estar ahí el problema.
Explico lo que he configurado y comprobado a continuación. Agradeceria
que si alguien ha tenido un problema similar y tiene idea de como
solucionarlo que me lo indicara. Muchas gracias tan solo por leer
esto.

- saslauthd está configurado para autenticar con pam.
"/usr/sbin/saslauthd -a pam"
- en /etc/pam.d/smtp he puesto lo siguiente:

# Autenticacion para postfix
auth sufficient pam_mysql.so user=mail passwd=secreto host=localhost
db=mail table=accountuser usercolumn=username passwdcolumn=password
crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user
loghostcolumn=host logpidcolumn=pid logtimecolumn=time

account required pam_mysql.so user=mail passwd=secreto host=localhost
db=mail table=accountuser usercolumn=username passwdcolumn=password
crypt=1 logtable=log logmsgcolumn=msg logusercolumn=user
loghostcolumn=host logpidcolumn=pid logtimecolumn=time

- He añadido las siguientes lineas al main.cf (postconf -n al final)
para autenticar contra sasl:

smtpd_sasl_auth_enable = yes
smtpd_sasl_recipient_restrictions = permit_sasl_autenticated,
permit_mynetworks, reject_unauth_destination
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes

- /etc/postfix/sasl/smtpd.conf contiene:
pwcheck_method : saslauthd
mech_list: plain login

- Al hacer "telnet localhost 25" ni siquiera llega a aparecerme el
banner de postfix ni muestra ningun log del acceso.

- He creado hard links dentro del chroot de postfix para mysql y sasl:
# pwd
/var/spool/postfix/var/run/saslauthd
# ls -la
total 12
drwxr-xr-x  2 root sasl 4096 2005-03-01 23:47 .
drwxr-xr-x  4 root root 4096 2005-03-01 13:48 ..
srwxrwxrwx  2 root root    0 2005-03-01 23:46 mux
-rw-------  2 root root    0 2005-03-01 23:46 mux.accept
-rw-------  2 root root    5 2005-03-01 23:46 saslauthd.pid

- He comprobado que no hay paquetes de sasl instalados con versiones diferentes:
# dpkg -l | grep "sasl"
ii  libsasl2       2.1.19-1.5     Authentication abstraction library
ii  libsasl2-modul 2.1.19-1.5     Pluggable Authentication Modules for SASL
ii  sasl2-bin      2.1.19-1.5     Programs for manipulating the SASL users dat


----- postconf -n ---------
# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
delay_warning_time = 4h
inet_interfaces = all
local_recipient_maps =
mailbox_size_limit = 0
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
mydestination = servername.dominio.com, localhost.dominio.com,
localhost, mysql:/etc/postfix/mysql-mydestination.cf
myhostname = servername.dominio.com
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname
recipient_delimiter = +
relayhost =
sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf

Saludos a todo el mundo.
-- 
Francisco X. Vázquez
fxvazquez (arroba) gmail (punto) com


Más información sobre la lista de distribución Postfix-es