lunes, marzo 21, 2005

Manual de configuración de SpamAssassin

1. Introducción
SpamAssassin es una herramienta de reconocimiento automático de Spam (a veces llamado información publicitaria no solicitada).

Analizando los correos que llegan a un usuario y siguiendo ciertasreglas decide cuáles tienen aspecto de spam y actúa en consecuencia,típicamente marcándolos con la cadena

"***** SPAM *****" en elAsunto y explicando en el cuerpo por qué el correo recibido tiene aspecto de spam.

El usuario puede actuar con los correos marcados como le parezca, por ejemplo borrándolos sin mirar.

2. Cómo funciona SpamAssassin
SpamAssassin funciona en modo texto: toma el mensaje de correo (cabeceras, cuerpo, todo) y busca determinados patrones. Por cada patrón que encuentra suma una determinada cantidad de puntos. Cuando los puntos superan un umbral el correo se marca como spam.

Tanto el umbral, como el valor de cada patrón, como los mismos patrones son configurables por cada usuario, que además puede añadir nuevos patrones a buscar. Los patrones existentes, que son muchos, van desde ver si el remitente tiene una dirección que empieza por un númerohasta buscar frases en el cuerpo como "completamente gratis".

3. Configuración de SpamAssassin
SpamAssassin no está adaptado a todos los usuarios del mundo con la configuración por defecto, por lo que a veces hace falta pulirla un poco.
Aunque configurar el programa a fondo puede ser tedioso, en la mayoría de los casos valen tres reglas básicas.

3.1 El fichero de configuración Cada regla que el usuario quiera definir para su uso propio deberá ser escrita en el fichero “spam.assassin.prefs.conf
Es un fichero detexto en el que cada línea es un comando. Las líneas que empiezan por"#" son comentarios.

3.2 Las listas blancas Hay veces que todos los correos que vienen desde un servidor son marcados como spam, por diferentes motivos. Si tenemos la mala suerte que recibimosmucho correo desde uno de estos sitios, pero sabemos a ciencia cierta queno son spam basta con añadir el dominio a una lista blanca.

La línea de comando es whitelist_from dirección

Ejemplos whitelist_from *@alumnos.uc3m.es
whitelist_from *@*it.uc3m.es

Nota final: cuidado con las listas blancas, porque son reglas muy generales;

si por ejemplo tenemos *@terra.es en una lista blanca y resulta que dos direcciones de terra.es envían spam y otras dos no, se recibirán todas ellas sin marcar, independientemente de los demás parámetros de configuración.

3.3 El umbral
Por defecto, para que un correo sea marcado como spam debe sumar 5 puntos.

Si este umbral resulta pequeño (es decir, demasiados correos son marcados comospam) o grande (mucho spam llega sin marcar) se puede modificar con la orden required_hits.

La línea de comando es required_hits umbral

Ejemplos required_hits 3
required_hits 6


3.4 Los puntos asignados a cada regla En algunos casos particulares la puntuación asignada a una regla nos puedeparecer incorrecta.
Esto se puede cambiar con la orden score.

El valor puedeun número real cualquiera.

La línea de comando es score regla valor

Ejemplos score FROM_ENDS_WITH_NUMS 2.3
score FOR_FREE 5 4.


Un ejemplo práctico Típicamente nos apetece modificar la configuración del SpamAssasin cuando no funciona bien: marca demasiados correos o demasiado pocos.

Por ejemplo,
yo podría haber recibido un correo de una amiga marcado como spam cuando obviamente no lo era en un caso tal que así:

---------------------From 100014483@alumnos.uc3m.es Mon Jul 22 17:28:06 2002(...)To: sergut@it.uc3m.esSubject: *****SPAM***** Hola!!!Date: Mon, 22 Jul 2002 17:27:47 +0200 (CEST)(...)X-Spam-Status: Yes, hits=6.2 required=5.0 tests=FROM_STARTS_WITH_NUMS,PLING_PLING,NO_REAL_NAME, FROM_ENDS_IN_NUMS,PLING version=2.31X-Spam-Flag: YESX-Spam-Level: ******X-Spam-Checker-Version: SpamAssassin 2.31 (devel $Id: SpamAssassin.pm,v 1.94.2.2+2002/06/20 17:20:29 hughescr Exp $)X-Spam-Prev-Content-Transfer-Encoding: quoted-printable SPAM: -------------------- Start SpamAssassin results ----------------------SPAM: This mail is probably spam. The original message has been alteredSPAM: so you can recognise or block similar unwanted mail in future.SPAM: See http://spamassassin.org/tag/ for more details.SPAM:SPAM: Content analysis details: (6.2 hits, 5 required)SPAM: FROM_STARTS_WITH_NUMS (4.4 points) From: starts with numsSPAM: PLING_PLING (0.8 points) Subject has lots of exclamation marksSPAM: NO_REAL_NAME (0.5 points) From: does not include a real nameSPAM: FROM_ENDS_IN_NUMS (0.4 points) From: ends in numbersSPAM: PLING (0.1 points) Subject has an exclamation markSPAM:SPAM: -------------------- End of SpamAssassin results --------------------- Hola Sergio!!! Espero que est=E9s muy bien. Tengo muchas ganas de verte. Escr=EDbeme=20cuando puedas, porque tengo muchas, muchas cosas que contarte, pero=20tendr=E1 que ser en persona. ;-) Un beso muy fuerte, Ciao Noelia Bragán----------------------Fin del mensaje-----------------


Para que la próxima vez esto no ocurra tengo tres opciones inmediatas, cada una de ellas correspondiente a una línea en mi spam.assassin.prefs.conf

A.-Modificar el umbral El correo ha sumado 6.2 puntos. Si añado la línea "required_hits 7" al fichero de configuración está solucionado el tema.

B.-. Cambiar los valores para uno o varios patrones Lo que ha sumado más puntos es que la dirección de correo empieza por números, como ocurre con todos los alumnos de la Carlos III. Si en vez de 4.4 hubieran sido 1.5 no habría pasado nada. Por ello, otra solución posible es "score FROM_STARTS_WITH_NUMS 1.5"

c.- Lista blanca. También puedo añadir el dominio alumnos.uc3m.es a una lista blanca. Es tan fácil como "whitelist_from *@alumnos.uc3m.es". En este caso la última opción parece la más adecuada, ya que ninguno de los alumnosde la Carlos III me va a enviar spam. Añadiendo el dominio completo a una lista blanca evito tocar los valores numéricos que el programa trae por defecto.