Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2009, 14:24
Wudrus
 
Fecha de Ingreso: septiembre-2007
Mensajes: 44
Antigüedad: 16 años, 7 meses
Puntos: 2
Exclamación Error postfix-saslauthd, no me valida usuario al usar SMTP

Hola gente, necesito ayuda!

Llevo ya varios días peleándome con Postfix y SASL ya que desde un cliente de correos cuando envío un correo no me autentica el usuario y me da error.

Primero veamos que error está dando /var/log/mail.warr:
Código:
Oct 15 20:34:37 srvbea01 postfix/smtpd[11686]: warning: amd5600.terabitia.local[172.16.0.5]: SASL LOGIN authentication failed: authentication failure
Ahí se puede ver que al intentar validar desde el cliente de correos este no me validada el usuario.

Tengo creadas las entradas en /etc/postfix/main.cf referentes a SASL:

Código:
# SASL
smtpd_sasl_application_name = smtpd
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, $
broken_sasl_auth_clients = yes
inet_interfaces = all
smtp_sasl_password_maps = hash:/etc/sasldb2
smtpd_sasl_local_domain = $myhostname
Si hago telnet localhost podemos ver que tanto SASL y TLS están activados.

Código:
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 correo.terabitia.local ESMTP Postfix (Ubuntu)
ehlo localhost
250-correo.terabitia.local
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Creamos el siguiente archivo /etc/postfix/sasl/smtpd.conf y su contenido:

Código:
pwcheck_method: saslauthd
mech_list: plain login
log_level: 5
Como postfix trabaja en chroot hay que modificar /etc/default/saslauthd para indicarle la ruta, así comunicamos postfix con saslauthd.

Contenido de /etc/default/saslauthd:

Código:
# Should saslauthd run automatically on startup? (default: no)
START=yes

# Example: MECHANISMS="sasldb"
MECHANISMS="pam"

# Agrego esta linea para integra SASLAUTHD en FIX ya que este trabaja en CHROOT
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
Además creamos enlace simbólico para que postfix "vea" a saslauthd:

Código:
ln -s  /var/run/saslauthd/ /var/spool/postfix/var/run/saslauthd/
Podemos ver que ambos contienen lo mismo:

Código:
/var/run/saslauthd/:
total 936
-rw------- 1 root root      0 2009-10-13 18:03 cache.flock
-rw------- 1 root root 945152 2009-10-13 18:03 cache.mmap
srwxrwxrwx 1 root root      0 2009-10-13 18:03 mux
-rw------- 1 root root      0 2009-10-13 18:03 mux.accept
lrwxrwxrwx 1 root root     37 2009-10-15 20:23 saslauthd -> /var/spool/postfix/var/run/saslauthd/
-rw------- 1 root root      5 2009-10-13 18:03 saslauthd.pid

/var/spool/postfix/var/run/saslauthd/:
total 932
-rw------- 1 root root      0 2009-10-15 20:35 cache.flock
-rw------- 1 root root 945152 2009-10-15 20:35 cache.mmap
srwxrwxrwx 1 root root      0 2009-10-15 20:35 mux
-rw------- 1 root root      0 2009-10-15 20:35 mux.accept
-rw------- 1 root root      6 2009-10-15 20:35 saslauthd.pid
Además de esto he agregado el usuario postfix al grupo sasl:

Código:
sudo adduser postfix sasl
Lógicamente he agregado los usuarios del sistema a la base de datos de sasldb2, de tal forma que si probamos con:

Cita:
sudo testsaslauthd -u test1 -p test1
0: OK "Success."
Y además sasauthd está corriendo.

Código:
root     11833  0.0  0.3   8168   848 ?        Ss   20:35   0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5
root     11834  0.0  0.1   8168   504 ?        S    20:35   0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5
root     11836  0.0  0.1   8168   424 ?        S    20:35   0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5
root     11837  0.0  0.1   8168   424 ?        S    20:35   0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5
root     11838  0.0  0.1   8168   424 ?        S    20:35   0:00 /usr/sbin/saslauthd -a pam -c -m /var/spool/postfix/var/run/saslauthd -r -n 5
Bueno pues después de todo este tocho no tengo coj*** de hacer autenticar el usuario cuando este envía desde un cliente de correos usando SMTP con SSL.

Necesitaría una mano porque son ya días mirando manuales y más manuales y no consigo echarlo andar.

Saludos y gracias.

PD: Perdón por el tocho pero he tenido que especificarlo todo para que no haya confusión alguna.

Última edición por Wudrus; 16/10/2009 a las 13:39