Saltar al contenido

Error de autenticación SASL LOGIN: UGFzc3dvcmQ6 – Encuentra el nombre de usuario

Después de tanto luchar pudimos hallar el resultado de este conflicto que muchos los usuarios de nuestra web han tenido. Si tienes algo más que compartir no dudes en aportar tu información.

Solución:

Solución 1:

Pudimos rastrear el nombre de usuario usando Dovecot.

En el /etc/dovecot/conf.d/10-logging.conf config habilitamos el registro de autenticación detallado usando

auth_verbose = yes

Esto puso la información en

/etc/dovecot/info.log

Solucion 2:

Pude evitar esto configurando SSL y requiriendo intentos de autenticación sobre SSL solo con

smtpd_tls_auth_only = yes

Esto no presenta el AUTH opción al cliente remoto después EHLO y entonces los spammers / hackers se dan por vencidos porque establecer una conexión SSL es demasiado tiempo. Trabajan un juego de números. Ahora, en cambio, cuelga cuando lo intentan AUTH y obtengo esto en mis registros:

Jan  7 22:14:27 ip-99-99-99-99 postfix/smtpd[22274]: warning: 91.200.12.140: hostname vps863.hidehost.net verification failed: No address associated with hostname
Jan  7 22:14:27 ip-99-99-99-99 postfix/smtpd[22274]: connect from unknown[91.200.12.140]
Jan  7 22:14:27 ip-99-99-99-99 postfix/smtpd[22274]: lost connection after AUTH from unknown[91.200.12.140]
Jan  7 22:14:27 ip-99-99-99-99 postfix/smtpd[22274]: disconnect from unknown[91.200.12.140]

Solución 3:

Si tiene fail2ban instalado, puede habilitar sasl (o algunas veces llamado postfix-sasl) en su jail.local (o jail.d) y eso debería hacer desaparecer las molestias.

## for me this is in /etc/fail2ban/jail.d/defaults-debian.conf
[postfix]
enabled = true

[postfix-sasl]
enabled = true

Solución 4:

Hay al menos dos formas de encontrar los nombres de usuario que se están probando.

Registro de transacciones SMTP con Postfix

Si sabe de qué host (s) provienen sus conexiones extrañas, puede habilitar la depuración detallada para ellos especificando un debug_peer_list en /etc/postfix/main.cf:

debug_peer_list = 192.0.2.1

Esto producirá, entre otras cosas, un mensaje como este en syslog:

postfix/smtpd[123]: xsasl_dovecot_handle_reply: auth reply: FAIL?5?user=info

Querrá utilizar esta configuración para depuración específica solamente, ya que el sesión SMTP completa se registra, incluida la contraseña.

postfix/smtpd[123]: < unknown[192.0.2.1]: AUTH LOGIN
postfix/smtpd[123]: xsasl_dovecot_server_first: sasl_method LOGIN
postfix/smtpd[123]: xsasl_dovecot_handle_reply: auth reply: CONT?5?VXNlcm5hbWU6
postfix/smtpd[123]: > unknown[192.0.2.1]: 334 VXNlcm5hbWU6
postfix/smtpd[123]: < unknown[192.0.2.1]: aW5mbw==
postfix/smtpd[123]: xsasl_dovecot_handle_reply: auth reply: CONT?5?UGFzc3dvcmQ6
postfix/smtpd[123]: > unknown[192.0.2.1: 334 UGFzc3dvcmQ6
postfix/smtpd[123]: < unknown[192.0.2.1]: Zm9vYmFy
postfix/smtpd[123]: xsasl_dovecot_handle_reply: auth reply: FAIL?5?user=info
postfix/smtpd[123]: warning: unknown[192.0.2.1]: SASL LOGIN authentication failed: UGFzc3dvcmQ6
postfix/smtpd[123]: > unknown[192.0.2.1]: 535 5.7.8 Error: authentication failed: UGFzc3dvcmQ6

En este ejemplo, un intento de INICIAR SESIÓN para la “información” del usuario ha fallado después de que se presentó la contraseña “foobar”. Al igual que los desafíos, puede decodificar las respuestas como base64:

$ echo aW5mbw== | echo $(base64 -d)
info
$ echo Zm9vYmFy | echo $(base64 -d)
foobar

Autenticación de registro con Dovecot

Postfix en sí no incluye una implementación SASL. Tradicionalmente, estaba conectado a Cyrus SASL, pero si está utilizando el servidor Dovecot POP / IMAP, Postfix puede reutilizar su módulo SASL.

Como ha descubierto, Dovecot tiene su propia función de depuración, habilitada con

auth_verbose = yes

en su archivo de configuración, a menudo /etc/dovecot/conf.d/10-logging.conf. La salida en /var/log/dovecot-info.log se verá algo como esto:

Jun 10 13:16:40 auth-worker(14936): Info: pam([email protected],192.0.2.1): pam_authenticate() failed: Authentication failure (password mismatch?)

Si bien aquí no hay un control basado en el host, hay una serie de opciones relacionadas para controlar lo que se registra, específicamente si se deben incluir o no las contraseñas intentadas. De la configuración de ejemplo:

# Log unsuccessful authentication attempts and the reasons why they failed.
auth_verbose = no

# In case of password mismatches, log the attempted password. Valid values are
# no, plain and sha1. sha1 can be useful for detecting brute force password
# attempts vs. user simply trying the same password over and over again.
auth_verbose_passwords = no

# Even more verbose logging for debugging purposes. Shows for example SQL
# queries.
auth_debug = no

# In case of password mismatches, log the passwords and used scheme so the
# problem can be debugged. Enabling this also enables auth_debug.
auth_debug_passwords = no

Consulte también la documentación de Dovecot para obtener más detalles.

Acerca de la autenticación SMTP

Como nota, el string UGFzc3dvcmQ6 en el mensaje de registro está la codificación base64 de “Contraseña:”. Lo que Postfix está registrando aquí es el “desafío” de autenticación particular por el que ha enviado y recibido una respuesta errónea. También hay un desafío anterior para “Nombre de usuario:” (VXNlcm5hbWU6). Sin embargo, incluso para los usuarios inexistentes, el error solo se informará después de la contraseña.

Los valores de las cadenas de desafío no son realmente importantes y deben ignorarse. El primer desafío es siempre para el nombre de usuario y el segundo es para la contraseña. Los detalles sobre esto se pueden encontrar en la especificación del método LOGIN.

NÓTESE BIEN: Dado que todo esto es un poco molesto por solo transferir y verificar el par de nombre de usuario y contraseña, LOGIN está obsoleto durante mucho tiempo. El método PLAIN funciona esencialmente de la misma manera pero empaqueta ambas piezas de información en la misma base64 string.

Finalmente, el hecho de que partes de esta conversación estén codificadas en base64 es en realidad una característica de la autenticación SMTP en general. La idea es permitir que se intercambien fácilmente datos arbitrarios (posiblemente binarios) entre los módulos SASL del cliente y el servidor, sin que esos módulos SASL necesiten saber o preocuparse por SMTP en sí. Puede hacerse una idea de cómo funciona SASL en la documentación de Cyrus SASL.

Aquí tienes las comentarios y puntuaciones

Más adelante puedes encontrar las observaciones de otros usuarios, tú de igual forma tienes la libertad de insertar el tuyo si lo crees conveniente.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *