5 d’abr. 2008

Un año sin spam


Un año sin spam

spamassassinEsta semana hace un año que pusimos en marcha uno de los servicios que nuestros clientes más nos han agradecido: nuestro sistema de filtrado de correo basura, o antispam.

El spam, es decir, el correo publicitario no solicitado, es una lacra que está acabando con la paciencia de los usuarios y con los nervios de muchos administradores que ven como sus servidores de correo se saturan con frecuéncia. El spam es el responsable de que todo el sistema de correo de Microsoft (Messenger-Hotmail) haya caido varias veces y durante varios dias en los últimos meses. Nos decidimos a poner en marcha el sistema ya que muchos usuarios de nuestras webs habían empezado a abandonar el email, algunas cuentas mas antiguas recibían hasta 400 mensajes diarios. Actualmente nuestro servidor recibe y filtra un 95% de spam.

Después de valorar diversas opciones, descartamos todas las soluciones que requerían la intervención del usuario: marcar como SPAM los mensajes para que los usuarios los eliminen generó muchísima confusión y no solucionaba el problema de la saturación, y hacer que los usuarios instalaran programas de antispam en sus ordenadores habría sido imposible. Por lo tanto debíamos encontrar una solución que simplemente eliminara los mensajes antes de que llegaran a los buzones.

Nuestra elección fue SPAMASSASSIN, un sistema de codigo libre muy bien considerado en la comunidad, y que ya llevaba muchos años en evolución. SpamAssassin toma el mensaje de correo (cabeceras, cuerpo, todo) y busca determinados patrones. Los patrones existentes, que son muchos, van desde ver si el remitente tiene una dirección que empieza por un número hasta buscar frases en el cuerpo como "completamente gratis". En función de todos ellos, puntua el mensaje, y si la puntuación es mayor de 5, nuestro servidor lo elimina. SpamAssassin prometía una efectividad del 80%, pero ante todo buscábamos que no diera falsos positivos, es decir, que no eliminara ningún mensaje que no fuera spam. Por lo tanto, en nuestros dominios, la puntuación requerida no es 5, si no 6.5, de esta manera nos aseguramos de que no hay falsos positivos , aunque de esta manera algún que otro spam llegue a los buzones de los clientes, aunque como veréis se trata de una cantidad realmente pequeña.

Pronto vimos que no sería tan fácil.... SpamAssassin tarda unos 4 segundos en puntuar cada mensaje, por lo tanto puede procesar un máximo de 21.000 mensajes diarios a plena carga.... y en un dia normal en nuestro servidor se pueden recibir muchos mas..... hacia falta reducir la cantidad de mensajes que procesaba el SpamAssassin, y la respuesta fueron las BlackLists.

Las Blacklists son unas bases de datos disponibles en internet que contienen miles de direcciones ip, de email o de webs que son spammers conocidos. Cuando nuestro servidor detecta que un mensaje proviene de una de esas direcciones, simplemente lo rechaza, y por lo tanto no llega al SpamAssassin, con lo que reducimos la carga del servidor y actualmente soportaria mas de 50.000 mensajes diarios.

En los últimos meses hemos añadido a nuestro servidor otros filtros, por ejemplo el Antivirus ClamAV, o las XBLists, y la efectividad que conseguimos con todo ello es la siguiente:

Mensajes diarios recibidos entre todos los dominios de nuestro servidor: 26.624
Mensajes rechazados por provenir de direcciones incluidas en Blacklists: 21.280
Mensajes rechazados por contener enlaces a webs incluidas en XBLlists: 622
Mensajes eliminados por contener virus: 24
Mensajes que llegan a ser analizados por SpamAssassin: 4.698
Mensajes eliminados por SpamAssassin: 3.232
Mensajes que finalmente llegan a los buzones: 1.466
por lo tanto, el 94,5% de los mensajes son spam.
estimamos que de estos 1.466 diarios, solo unos 50 son spam. Estos 50 mensajes se le "escapan" al sistema debido a que lo tenemos configurado con un nivel de toleráncia ligeramente alto, así no tenemos falsos positivos.
Falsos positivos detectados: 0.
Efectividad: 99,8 % !!!!