Configuración de filtro anti-spam usando procmail+spamassassin.

 

     Cualquier usuario que tenga cuenta de correo en el departamento puede utilizar filtros de correo, sin más que configurar el programa procmail (ver procmail_conf.html para más información).

     Para que el correo electrónico que recibimos pase por el filtro anti-spam antes de llegar a nuestro buzón de correo añadiremos las siguientes líneas de configuración al principio del fichero .procmailrc (estas líneas están marcadas en rojo ):

 

MAILDIR=$HOME/Mail
LOGFILE=$MAILDIR/procmail.log

:0fw
* < 5000000
|/usr/bin/spamc
# En sistemas antiguos, sustituir la línea anterior 
# por la siguiente, quitando el comentario:
#| /usr/bin/spamassassin -P -c /usr/share/spamassassin

:0:
* ^X-Spam-Status: Yes
$MAILDIR/mbox.spamassassin

:0
* ^Subject:.*Mailman-Users
$MAILDIR/mbox.mailman-users

:0
* ^Subject:.*Mailman-i18n
$MAILDIR/mbox.mailman-i18n

:0
* ^Subject:.*\[material\]
$MAILDIR/mbox.material

:0
* ^Subject:.*ACE-L
$MAILDIR/mbox.ACE-L

#:0
#* ^Subject:.*CERT
#$MAILDIR/mbox.CERT

:0
* ^Subject:.*\[1TC-PGP\]
$MAILDIR/mbox.1TC-PGP

:0
* ^Subject:.*NOLEER
/dev/null

    Este fichero se puede descargar directamente pinchando aquí

    En este ejemplo se hacen pasar todos los correos entrantes a través del programa /usr/bin/spamassassin configurado a partir de las reglas de filtrado situadas en el directorio /usr/share/spamassassin. La excepción programada es para los correos de tamaño superior a 5MB (5000000 bytes) porque el tiempo que le lleva al spamassassin procesar dichos archivos es demasiado grande y ralentizaría el proceso normal del servidor.

 

    En las máquinas de cuentas (excepto en maja, a 22/septiembre/2004) se puede configurar en lugar del /usr/bin/spamassassin, el /usr/bin/spamc, que viene a ser un programa ligero que funciona en conjunto con un demonio de spam que está en memoria de forma permanente (spamd). Para ello, simplemente hay que cambiar el fichero de configuración para que la parte inicial sea la siguiente:

MAILDIR=$HOME/Mail
LOGFILE=$MAILDIR/procmail.log

:0fw
| /usr/bin/spamc

:0:
* ^X-Spam-Status: Yes
$MAILDIR/mbox.spamassassin

    El programa al realizar el filtrado crea un nuevo campo en las cabeceras (X-Spam-Status) del mail procesado, que lleva asignado el valor "Yes" en caso de ser detectado como spam. Posteriormente, si el mail es spam, se manda a la carpeta $MAILDIR/mbox.spamassassin y si no lo es (o no se detecta como tal) seguirá el procesado normal indicado en el .procmailrc.

 

    Es importante revisar esta carpeta habitualmente (en nuestro caso mbox.spamassassin) por si se filtra erróneamente algún correo que no fuera spam.

 

    Para los casos en los que recurrentemente recibimos correo que se detecta como spam sin serlo, podemos modificar la configuración de usuario del spamassassin. Para hacerlo hay que modificar el fichero $HOME/.spamassassin/user_prefs, que será creado de forma automática la primera vez que el filtro procese un correo electrónico, añadiendo un campo whitelist_from.

 

    Un ejemplo de configuración de las preferencias de usuario del spamassassin se puede ver a continuación o pinchando aquí:

# How many hits before a mail is considered spam.
required_hits         5

# Whitelist and blacklist addresses are now file-glob-style patterns, so
# "friend@somewhere.com", "*@isp.com", or "*.domain.net" will all work.
whitelist_from        ssupm@fe.ccoo.es
whitelist_from        ACE-L@LISTSERV.REDIRIS.ES


# Add your own customised scores for some tests below.  The default scores are
# read from the installed spamassassin rules files, but you can override them
# here.  To see the list of tests and their default scores, go to
# http://spamassassin.org/tests.html .
#
# score SYMBOLIC_TEST_NAME n.nn

Para más información al respecto, sabéis que siempre tenéis a vuestra disposición las páginas de manual del comando procmail ("man procmail") y la del procesador de correo spamassassin ("man spamassassin, man spamc, man spamd").

 

 


Página creada por omar@dit.upm.es
Última actualización: Septiembre 2004