Gateway de correo con filtro antispam y antivirus

Postfix, Clamav y Spamassassin

Ni virus ni spam. Un servicio de correo a la altura de los tiempos que corren.

Bienvenido al mundo de los servicios de correo electrónico, servicio que aporta emociones tales como usuarios enfadados si no les llega corre, enfadados si les llega virus, enfadados si les envían documentos grandes… Siempre están enfadados o casi siempre… Así que armase de paciencia o, tal vez, ya no le haga falta este artículo. Si, la cosa ha evolucionado y quizás con lo lea aquí, pueda librarse de sus “rugidos”. Vamos a ver, a continuación, como montar un gateway de correo que obligue a pasar todos los mensajes por un filtro antispam y antivirus.

Si solo desea ver la parte técnica, salte a la sección “Implementación”.

El Problema

Con mi antiguo sistema de correo entraba y salía todo tipo de mensajes de correo que cumpliera el RFC. Este sistema de correo se dividía en dos partes: Servidor de correo donde estaban los buzones y gateway de correo con presencia en Internet.

Cada uno tenia sus problemas y, a continuación, les hago participes de ellos.

Del gateway de correo puedo decir que:
No le importaba que un correo tuviera virus. Aunque tenemos un antivirus por puesto de trabajo, les puedo asegurar que por el correo se camuflaban con bastante éxito. No le importaba que un correo fuera spam, lo cual causaba que ambos servidores tuvieran un gran trabajo, tanto el gateway recibiéndolos como el servidor de buzones, en identificar si existía tal dirección de correo en el servicio.

El servidor de buzones tenía otro gran problema: estaba perfectamente integrado en varios servicios y por lo tanto, cambiarlo hubiera supuesto mucho dinero y tiempo.
Para acabarla de rematar, era la solución de un proveedor de software propietario, así que el resto de la canción mejor no se la cueto.

La solución

La solución pasaba por tener un sistema de correo electrónico que fuera rápido, flexible, seguro y eficiente y que, por supuesto, antes de aceptar el correo hiciera varias comprobaciones tales como si existía la dirección de correo, si tenia virus, si era spam, etc.
Por ultimo, mientras se llegaba al nuevo sistema, este debía convivir con el antiguo sin causar ningún tipo de trastorno al usuario. Pero para eso tenemos el DNS, ¿no?

Elección del producto
La elección del MTA barajó por los siguientes productos:

Courier
Exim
Postfix
Qmail
Sendmail

Courier fue descartado por su inmadurez o falta de experiencia que, a mi modo de ver, todavía tiene para confiar en dar servicio con el. De Exim diré que no encontré documentación suficiente y, por lo tanto, no podía flexibilizarlo a mis necesidades y tampoco encontré la forma que comprobara si existía la dirección de correo antes de recoger el correo.
Sendmail, ¿la razón? Es un dinosaurio. La configuración es lo mas parecido a aprender un lenguaje de programación. Es monolítico y, por ultimo, su integración con otros paquetes alguna vez me había dado algún susto desagradable.

Me quede en la eterna duda… ¿Qmail o Postfix? Hace tiempo elegí Qmail y además escribí sobre ello pero de humanos es errar y de sabios es rectificar. Ya no lo uso y voy a dar mis motivos.
Primeramente, la actitud del creador de Qmail no es, según mi criterio, una actitud realista en el mundo donde yo me muevo, que es el de la empresa.
Seguidamente, depender de módulos de terceros para poder integrar a otros productos qué hagan todo aquello que se pueda necesitar, hace que su indicador de riesgo/gasto de explotación aumente de forma bestial, cosa que yo no me puedo permitir. Por lo cual, elegí Postfix.

La elección del antivirus fue un tanto curiosa. Sin decir marcas, ya había tenido experiencias con algunos que por supuesto no sabia si era mejor el remedio que la enfermedad. Entones me quedaba con dos: Karpersky y Clamav. Me incline por Clamav debido a su coste final, es decir, 0 $. Si ambos productos son buenos, la balanza se mueve de un lado a otro por los costes. El gestor de anti-spam lo elegí como vulgarmente se dice, al azar……

CONTINUARA