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.

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.

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.

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.

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.

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.