Foros del Web » Administración de Sistemas » Unix / Linux »

Error postfix-saslauthd, no me valida usuario al usar SMTP

Estas en el tema de Error postfix-saslauthd, no me valida usuario al usar SMTP en el foro de Unix / Linux en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/10/2009, 14:24
 
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
  #2 (permalink)  
Antiguo 16/10/2009, 07:42
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Pareciera estar todo ok, revisaste los logs del auth? ¿Qué distribución estas usando?
__________________
¡Volviendo a la programación!
  #3 (permalink)  
Antiguo 16/10/2009, 09:36
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Yo uso postfix con autenticación en dovecot, es muy fácil de configurar y funciona muy bien...

http://wiki.dovecot.org/HowTo/PostfixAndDovecotSASL

Saludos
__________________
Esteban Quintana
  #4 (permalink)  
Antiguo 16/10/2009, 13:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 44
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Cita:
Iniciado por AleSanchez Ver Mensaje
Pareciera estar todo ok, revisaste los logs del auth? ¿Qué distribución estas usando?
Uso Ubuntu Server 8.10.

Esto es lo que muestra /var/log/auth.log

Código:
Oct 15 20:28:05 srvbea01 saslauthd[2216]: server_exit     : master exited: 2216
Oct 15 20:28:07 srvbea01 saslauthd[11144]: detach_tty      : master pid is: 11144
Oct 15 20:28:07 srvbea01 saslauthd[11144]: ipc_init        : listening on socket: /var/spool/postfix/var/run/saslauthd/mux
Oct 15 20:28:33 srvbea01 saslauthd[11145]: pam_unix(smtp:auth): check pass; user unknown
Oct 15 20:28:33 srvbea01 saslauthd[11145]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= 
Oct 15 20:28:35 srvbea01 saslauthd[11145]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
Oct 15 20:28:35 srvbea01 saslauthd[11145]: do_auth         : auth failure: [[email protected]] [service=smtp] [realm=correo.terabitia.local] [mech=pam] [reason=PAM auth error]
Cita:
Yo uso postfix con autenticación en dovecot, es muy fácil de configurar y funciona muy bien...


Saludos
Esto... quieres decir que, ¿dovecot es el encargado de autenticar los usuarios contra saslauthd cuando estos usan SMTP?

Saludos.
  #5 (permalink)  
Antiguo 16/10/2009, 17:11
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

SI, como te recomendaron, yo tambien uso Dovecot. Es mucho mas estable que Saslauthd y es más fácil de configurar. Toda la info está en la web de Dovecot.
__________________
¡Volviendo a la programación!
  #6 (permalink)  
Antiguo 17/10/2009, 07:06
 
Fecha de Ingreso: septiembre-2007
Mensajes: 44
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Cita:
Iniciado por AleSanchez Ver Mensaje
SI, como te recomendaron, yo tambien uso Dovecot. Es mucho mas estable que Saslauthd y es más fácil de configurar. Toda la info está en la web de Dovecot.
Si lo implemento con Dovecot, si alguien intenta acceder a telnet al puerto 25 de mi máquina, al intentar enviar un correo desde la propia telnet le negara el envío ¿no?

Saludos.
  #7 (permalink)  
Antiguo 17/10/2009, 08:54
 
Fecha de Ingreso: septiembre-2007
Mensajes: 44
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Bueno he estado leyendo como hacerlo desde dovecot y si, realmente es mucho más fácil y no hay que toquetear tanto. Entonces voy a poner los pasos partiendo desde cero para ver si me aclaro las ideas porque tengo un cacao mental que madre mía.

Si quiero implementar un servidor de correos con Postfix, TLS y SASL partimos que:

- Asumo que configuro TLS como he hecho hasta ahora, instalando openssl, generando los certificados y agregando las lineas en main.cf

- Instalamos sasl2-bin

- Instalamos dovecot, a parte de modificar para que funcione con ssl y los protocolos según las necesidades de cada uno, especificamos las variables para que este trabaje conjuntamente con postfix, tls, y sasl. Asumiendo dovecot el encargo de autenticar los envíos por smtp contra el demonio saslauthd.

Para ello bastaría con agregar estas lineas en dovecot.conf

Cita:
auth default {
mechanisms = plain login
passdb pam {
}
userdb passwd {
}
socket listen {
client {
# Assuming the default Postfix $queue_directory setting
path = /var/spool/postfix/private/auth
mode = 0660
# Assuming the default Postfix user and group
user = postfix
group = postfix
}
# deliver and some other programs need also auth-master:
#master {
# path = /var/run/dovecot/auth-master
# mode = 0600
#}
}
}
Y luego agregar estas en main.cf

Cita:
smtpd_sasl_type = dovecot
# Can be an absolute path, or relative to $queue_directory
# Debian/Ubuntu users: Postfix is setup by default to run chrooted, so it is best to leave it as-is below
smtpd_sasl_path = private/auth
# and the common settings to enable SASL:
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Haciendo esto entiendo que tenemos un completo servidor de correos seguro y funcional.

Saludos.

PD: Tengo una duda, haciéndolo de este modo he de modificar /etc/defalut/saslauhd y en la variable OPTIONS la dejo como está, la comento o modifico la ruta por /var/spool/postfix/private/auth

Última edición por Wudrus; 17/10/2009 a las 09:00
  #8 (permalink)  
Antiguo 18/10/2009, 16:40
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Cita:
- Instalamos sasl2-bin
no hace alta creo...solo el postfix y el dovecot

Cita:
/etc/defalut/saslauhd
tampoco importa...

__________________
Esteban Quintana
  #9 (permalink)  
Antiguo 19/10/2009, 15:40
 
Fecha de Ingreso: septiembre-2007
Mensajes: 44
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Hola he modificado dovecot.conf agregando lo que dice la documentación anterior pero, al iniciar el servicio me dio un error ya que había una configuración similar, así que he modificado para dejarlo tal que así:

Código:
# It's possible to export the authentication interface to other programs:
  socket listen {
  #  master {
      # Master socket provides access to userdb information. It's typically
      # used to give Dovecot's local delivery agent access to userdb so it
      # can find mailbox locations.
     #  path = /var/run/dovecot/auth-master
     #  mode = 0600
      # Default user/group is the one who started dovecot-auth (root)
    #  user =
    #  group =
    #}
    client {
      # The client socket is generally safe to export to everyone. Typical use
      # is to export it to your SMTP server so it can do SMTP AUTH lookups
      # using it.
     # path = /var/run/dovecot/auth-client
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
Luego he agregado las lineas en mail.cf:

Código:
# #################### ACTIVANDO SASL #########################
smtpd_sasl_application_name = smtpd
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_client_restrictions = permit_sasl_authenticated, permit_mynetworks, reject
broken_sasl_auth_clients = yes
inet_interfaces = all
# smtp_sasl_password_maps = hash:/etc/sasldb2
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth 
Compruebo que está corriendo.

Código:
root     18880  0.0  0.9   9404  2384 ?        S    22:31   0:00 dovecot-auth
dovecot  18884  0.0  0.6   3428  1552 ?        S    22:31   0:00 pop3-login
dovecot  18885  0.0  0.6   3428  1552 ?        S    22:31   0:00 pop3-login
dovecot  18886  0.0  0.6   3428  1552 ?        S    22:31   0:00 pop3-login
dovecot  18887  0.0  0.6   3436  1572 ?        S    22:31   0:00 imap-login
dovecot  18888  0.0  0.6   3436  1568 ?        S    22:31   0:00 imap-login
dovecot  18889  0.0  0.6   3436  1568 ?        S    22:31   0:00 imap-login
Recalco la linea que hace referente a la autenticación que imagino que está funcionando, hacemos un telnet vemos que está activado:

Código:
ehlo localhost
250-correo.terabitia.local
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Ahora intento enviar un correo desde telnet pero me encuentro que me deja enviar siendo un usuario anónimo y no me debería dejar puesto que lo he especificado en main.cf

Código:
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
Con lo que me queda duda que el servidor sea seguro contra los spammer.

Saludos.
  #10 (permalink)  
Antiguo 19/10/2009, 22:21
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 7 meses
Puntos: 47
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

¿Estás seguro que no te está permitiendo el relay por alguna otra directiva? (mynetworks por ejemplo)
__________________
¡Volviendo a la programación!
  #11 (permalink)  
Antiguo 25/10/2009, 04:49
 
Fecha de Ingreso: septiembre-2007
Mensajes: 44
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Error postfix-saslauthd, no me valida usuario al usar SMTP

Bueno pues ya lo tengo solucionado, y es que como en la vida, a veces es mejor hacer borrón y cuenta nueva. He creado una máquina virtual con Ubuntu Alternate en modo texto y he empezado desde cero. Ahora ya lo tengo funcionando como yo quería y me he dado cuenta de mis fallos.

Gracias a todos.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.