Idiomas: English · Nederlands · Deutsch · Español · Français · Italiano · Português · Papiamentu · Frysk

Índice / Artículos / Combatir el spam de retrodispersión a nivel de servidor

Combatir el spam de retrodispersión a nivel de servidor

Configurar Postfix para bloquear el spam antes de que entre en el servidor

Publicado
Actualizado
(creado )
Escrito por
Willem L. Middelkoop
Temas
nube · ciberseguridad · tutorial · linux · redes · servidor
Versión humana de este artículo
https://willem.com/es/2019-09-10_combatir-el-spam-de-retrodispersion-a-nivel-de-servidor/
English
Fighting backscatter spam at server level
Nederlands
Backscatter spam op serverniveau bestrijden
Deutsch
Bekämpfung von Backscatter-Spam auf Serverebene
Français
Lutter contre le spam de rétrodiffusion au niveau du serveur
Italiano
Combattere lo spam backscatter a livello di server
Português
Combater o spam de backscatter ao nível do servidor
Papiamentu
Kombatí backscatter spam na nivel di server
Frysk
Backscatter-spam bestride op serverniveau
Idiomas
Traducido del original en inglés por un modelo de lenguaje en dos pasadas (traducción y corrección) con un glosario y un corrector ortográfico; aún no revisado por un hablante nativo.

Resumen

Este mes tuve que lidiar con spam de retrodispersión (backscatter) en uno de los servidores de correo que administro. Como ingeniero de servidores, me aseguro de que los servidores no envíen spam y de que el correo entrante se filtre. A pesar de todos los esfuerzos, este servidor seguía apareciendo en listas negras por enviar spam a iCloud, Office 365 y Google Gmail para empresas (G Suite). Sigue leyendo para descubrir qué lo causaba y cómo solucionarlo.

Texto completo

El problema

El servidor es un servidor de correo Postfix sobre Debian GNU/Linux, con todas las actualizaciones y parches de seguridad al día. Lo usan clientes legítimos, que solo pueden hacerlo con la autenticación adecuada.

Evitar ser un open relay

La autenticación individual de usuarios en un servidor de correo es una medida importante contra el abuso del servidor. Si se envía spam, puedes ver qué usuario causa el problema mirando los registros del servidor de correo. En términos técnicos, esto significa evitar que el servidor se convierta en un "open relay". Postfix ofrece muchos ajustes para limitar el reenvío SMTP con control de acceso.

Limitar la tasa de envío de las cuentas (hackeadas)

Los usuarios individuales abusan del servidor cuando su ordenador se infecta con un virus o cuando les espían la contraseña. Eso puede pasar si lees el correo desde una red WiFi insegura y sin cifrado (TLS/SSL). Para situaciones así conviene limitar la cantidad de correos que cada usuario puede enviar. Puedes usar parámetros de configuración de Postfix concretos (como smtpd_client_message_rate_limit, smtpd_client_connection_rate_limit y smtpd_client_recipient_rate_limit) o un cortafuegos para Postfix como Postwfd.

El servidor aparece en la lista negra de "backscatterer.org"

A pesar de todas las medidas contra el abuso, el servidor seguía apareciendo en http://backscatter.org por enviar spam. Cuando un servidor entra en una lista negra, los demás dejan de fiarse de él y consideran sospechosos todos sus mensajes. Eso puede hacer que otros servidores vean tus mensajes (legítimos) como spam (falsos positivos). Para entender por qué pasó, primero hay que entender qué es el spam de retrodispersión.

¿Qué es el spam de retrodispersión (backscatter)?

El spam de retrodispersión son mensajes de rebote automáticos y erróneos que envía el servidor de correo, normalmente como efecto secundario del spam entrante.

Ocurre cuando los spammers falsifican la dirección del remitente. Envían un mensaje que saben que rebotará, usando como remitente la dirección de otra persona. Cuando el mensaje rebota, el servidor de correo lo devuelve al remitente falsificado... y así acaba entregando spam a esa dirección.

Caso simple de retrodispersión: el servidor de correo devuelve el mensaje a una dirección de remitente falsificada
Caso simple de retrodispersión: el servidor de correo devuelve el mensaje a una dirección de remitente falsificada

El caso simple de retrodispersión es aquel en que un mensaje rebota al remitente equivocado. Es fácil de resolver: configuras el servidor para que no envíe mensajes de rebote, sino que responda con un código de error SMTP.

Evita los rebotes de retrodispersión respondiendo con códigos de error SMTP
Evita los rebotes de retrodispersión respondiendo con códigos de error SMTP

Por desgracia, hay otro caso (más difícil) en el que tu servidor de correo envía spam de retrodispersión. Sucede cuando alguien de tu servidor configura su cuenta para reenviar el correo a otra dirección. El segundo servidor puede tener un filtro de spam más estricto, que bloquea mensajes al reenviarlos. Entonces tu servidor informa al remitente original de que el reenvío ha fallado, y eso es spam de retrodispersión.

Se produce spam de retrodispersión cuando el primer servidor reenvía el correo a otro servidor que bloquea el mensaje
Se produce spam de retrodispersión cuando el primer servidor reenvía el correo a otro servidor que bloquea el mensaje

El caso del reenvío es mucho más difícil de resolver, porque probablemente no controles el otro servidor de correo ni los ajustes de su filtro de spam. Y lo peor es que suele pasar un tiempo entre aceptar el mensaje y reenviarlo, así que es imposible esperar la respuesta del otro servidor.

Evitar el spam de retrodispersión

La única forma de evitarlo del todo es ser muy estricto en el primer servidor de correo, en la fase inicial de la conexión SMTP. Así se resuelve el difícil "caso del reenvío", porque se es muy selectivo con los mensajes que se reenvían.

Evita el spam de retrodispersión comprobando todos los mensajes antes de reenviarlos a otro servidor
Evita el spam de retrodispersión comprobando todos los mensajes antes de reenviarlos a otro servidor

Cómo bloquear el spam antes de que entre en el servidor

La mejor forma de evitar el spam de retrodispersión es bloquearlo antes de que entre en la (cadena de) servidor(es).

Tradicionalmente los servidores usan filtros de spam avanzados, como SpamAssassin, que analizan los mensajes uno a uno. Eso supone una carga extra para el servidor de correo.

Es mucho más fácil fijarse primero en el remitente (por ejemplo, si lleva un sombrero rojo). ¿Está en una lista negra? ¿Usa una app de correo "normal" o envía los mensajes un virus o un malware? Puedes saber muchas cosas por el "idioma" que habla el remitente.

Restricciones SMTP estrictas en Postfix: captura de pantalla anotada de main.cf
Restricciones SMTP estrictas en Postfix: captura de pantalla anotada de main.cf

En Postfix puedes definir restricciones SMTP en el archivo de configuración main.cf. Hay comprobaciones que sirven para bloquear mensajes. Conviene aplicar la lógica del filtro "de fácil a difícil", empezando por lo que se puede comprobar sin consultar servidores externos. Así se reducen el tráfico de red y la carga. Solo si un mensaje pasa todas las comprobaciones se permite su entrega (o reenvío).

Una vez entregado, puedes aplicar un filtrado de spam adicional, más complejo (y específico de cada usuario), con herramientas como SpamAssassin o el filtrado bayesiano. Si reduces la avalancha de spam evidente, estos filtros, que consumen muchos recursos, trabajan con mucha más eficiencia.

Conclusión

Combatir el spam a nivel de servidor es un juego exigente, porque los spammers son cada vez más creativos a la hora de abusar de los mecanismos de los servidores de correo. Si tu servidor entra en una lista negra por spam de retrodispersión, ten cuidado con los casos de reenvío. Vigila las listas negras para ver si tu servidor da problemas.

Bloquea los mensajes con códigos de error en vez de devolverlos al remitente (rebotarlos). Configura el servidor con una política de entrega estricta. La mejor forma de evitar el spam de retrodispersión es bloquear los mensajes antes de que entren en el servidor de correo. Ahora ya sabes cómo.

Formatos legibles por máquinas de esta página