Luego de haber instalado Exim en mi servidor Debian 10 y configurar mi servidor Debian para que el correo a root sea redireccionado a mi casilla de GMail, me encontré con que los mensajes salientes eran rechazados por Google.

Este artículo demuestra cómo deshabilitar IPv6 en exim4 para evitar problemas con el correo saliente hacia Google y para mejorar la seguridad de la instalación.



El log de Exim mostraba los siguientes mensajes en la respuesta del servidor de correo de Google:

2019-12-06 13:46:07 1idDvr-0007zE-HY <= billgates@microsoft.com U=root P=local S=373
2019-12-06 13:46:08 1idDvr-0007zE-HY ** billgates@microsoft.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:400c:c15::1a] X=TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="C=US,ST=California,L=Mountain View,O=Google LLC,CN=mx.google.com": SMTP error from remote mail server after pipelined end of data: 550-5.7.28 [2604:180:f1::130       1] Our system has detected an unusual rate of\n550-5.7.28 unsolicited mail originating from your IP address. To protect our\n550-5.7.28 users from spam, mail sent from your IP address has been blocked.\n550-5.7.28 Please visit\n550-5.7.28  https://support.google.com/mail/?p=UnsolicitedIPError to review our\n550 5.7.28 Bulk Email Senders Guidelines. b6si1147382vkg.32 - gsmtp
2019-12-06 13:46:08 1idDvs-0007zH-8W <= <> R=1idDvr-0007zE-HY U=Debian-exim P=local S=2594
2019-12-06 13:46:08 1idDvr-0007zE-HY Completed
2019-12-06 13:46:08 1idDvs-0007zH-8W ** billgates@microsoft.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:400c:c15::1b] X=TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="C=US,ST=California,L=Mountain View,O=Google LLC,CN=mx.google.com": SMTP error from remote mail server after pipelined end of data: 550-5.7.28 [2604:180:f1::130       1] Our system has detected an unusual rate of\n550-5.7.28 unsolicited mail originating from your IP address. To protect our\n550-5.7.28 users from spam, mail sent from your IP address has been blocked.\n550-5.7.28 Please visit\n550-5.7.28  https://support.google.com/mail/?p=UnsolicitedIPError to review our\n550 5.7.28 Bulk Email Senders Guidelines. u11si2135259vsq.270 - gsmtp
2019-12-06 13:46:08 1idDvs-0007zH-8W Frozen (delivery error message)

En resumen, lo más importante es la siguiente oración: "mail sent from your IP address has been blocked". En español "el correo enviado desde tu dirección IP ha sido bloqueado". O sea, mi IP está bloqueada por Google. Sin embargo mi servidor nunca fue comprometido, no envío correo masivo y he configurado SPF en mi zona DNS. ¿Cómo puede ser?

Notar que al comienzo de la entrada en el log, se observa que se está conectando a los servidores de correo de Google vía IPv6:

H=gmail-smtp-in.l.google.com [2607:f8b0:400c:c15::1a]

La dirección IP entre corchetes en del protocolo IPv6. Por ende la dirección IP que está bloqueada es la dirección IPv6, no la IPv4.

El problema aquí se debe a las políticas de envío de Google, y a que mi servidor cuenta con una dirección IPv6 válida (la cual no está incluida en el registro SPF). Por otro lado, no deseo utilizar IPv6. Por lo tanto, he optado por deshabilitar IPv6 para Exim.

Deshabilitar IPv6 en exim4

Primero es necesario saber si estamos utilizando la configuración partida en múltiples archivos o no:

root@linuxito:~/scripts# update-exim4.conf -v
using non-split configuration scheme from /etc/exim4/exim4.conf.template

En este caso utilizo la configuración en un único archivo. Por ende es necesario editar la configuración en /etc/exim4/exim4.conf.template:

root@linuxito:~/scripts# nano /etc/exim4/exim4.conf.template

Dentro de la sección de configuración principal, agregar la siguiente línea:

disable_ipv6 = true

Debe quedar así:

Guardar los cambios y cerrar.

Si en cambio se utiliza la configuración partida en múltiples archivos, es necesario agregar dicha línea dentro de un nuevo archivo:

echo 'disable_ipv6 = true' > /etc/exim4/conf.d/main/90_exim4-disable_ipv6

Luego, actualizar la configuración y reiniciar Exim:

root@linuxito:~/scripts# update-exim4.conf
root@linuxito:~/scripts# service exim4 restart

Comprobar el funcionamiento de la redirección enviando un correo desde línea de comandos:

root@linuxito:~# mail root
Cc: 
Subject: Prueba
OLA KE ASE.

Ahora se observa en el log de Exim que el mensaje fue aceptado por Google:

root@linuxito:~# tail -n 3 /var/log/exim4/mainlog 
2019-12-06 14:04:35 1idEDj-0000DA-RW <= billgates@microsoft.com U=root P=local S=362
2019-12-06 14:04:36 1idEDj-0000DA-RW => billgates@microsoft.com <root@linuxito> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [172.217.204.27] X=TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="C=US,ST=California,L=Mountain View,O=Google LLC,CN=mx.google.com" K C="250 2.0.0 OK 8si2308708uam.191 - gsmtp"
2019-12-06 14:04:36 1idEDj-0000DA-RW Completed

Notar que ahora se ha conectado a los servidores de correo de Google a través de IPv4.

Llega correctamente a la bandeja de entrada sin ser detectado como SPAM:

Si habiendo deshabilitado IPv6 y configurado correctamente el registro DNS TXT para SPF aún siguen los problemas, recurrir a las siguientes herramientas de diagnóstico:


Tal vez pueda interesarte


Compartí este artículo