Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2007 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
Spamass-milter es un componente adicional (Plug-in) para la biblioteca de filtros de correo (libmilter) de Sendmail, que se encarga de hacer pasar todo el correo entrante, incluyendo todo lo que se reciba a través de rmail/UUCP, a través de SpamAssassin, que a su vez es un poderoso y robusto componente de filtrado de correo.
Representa una excelente alternativa pues tiene un bajo consumo de recursos de sistema, haciéndolo idóneo para servidores con sustento físico obsoleto, o donde otras aplicaciones tiene mayor prioridad en la utilización de recursos de sistema.
URL: http://savannah.nongnu.org/projects/spamass-milt/
SpamAssassin es un equipamiento lógico que utiliza un sistema de puntuación, basado sobre algoritmos de tipo genético, para identificar mensajes que pudieran ser sospechosos de ser correo masivo no solicitado, añadiendo cabeceras a los mensajes de modo que pueda ser filtrados por el cliente de correo electrónico o MUA (Mail User Agent).
URL: http://spamassassin.apache.org/
| • | sendmail (previamente configurado) | • | sendmail-cf |
| • | make | • | m4 |
| • | spamassassin | • | spamass-milter |
Si dispone de un servidor con CentOS 4, Red Hat™ Enterprise Linux 4 o White Box Enterprise Linux 4, puede utilizar el el depósito yum de Alcance Libre para servidores en producción:
[alcance-libre] name=Alcance Libre para Enterprise Linux 4 baseurl=http://www.alcancelibre.org/al/el/4/ gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY |
La instalación solo requiere utilizar lo siguiente:
yum -y install spamass-milter
|
Se requiere un servidor de correo con Sendmail, previamente configurado y funcionando para enviar y recibir correo electrónico. Para más detalles al respecto, consultar el documento titulado «Configuración básica de Sendmail (Parte I).».
Es necesario agregar el siguiente contenido en el fichero /etc/mail/sendmail.mc, justo arriba de MAILER(smtp)dnl.
INPUT_MAIL_FILTER(`spamassassin', `S=unix:/var/run/spamass-milter/spamass-milter.sock, F=, T=C:15m;S:4m;R:4m;E:10m')dnl
|
Spamass-milter depende totalmente de SpamAssassin. por lo que toda la configuración de se hace a través de éste último, configurando y añadiendo parámetros y valores en el fichero /etc/mail/spamassassin/local.cf, donde, entre muchos otros, se pueden establecer los siguientes parámetros:
| required_hits | Se utiliza para establecer la cantidad de puntos acumulados, y asignados por SpamAssassin, en un mensaje para considerar el éste como Spam. El valor predeterminado es 5, acepta decimales y se puede ajustar con un valor inferior o mayor de acuerdo al criterio del administrador. Ejemplo: 4.5 |
| report_safe | Determina si el mensaje, si es calificado como spam, se incluye en un adjunto, con el valor 1, o se deja el mensaje tal y como está, con el valor 0. El valor predeterminado es 0. |
| rewrite_header | Define con que cadena de caracteres se añadirá al mensaje para identificarlo como Spam. El valor predeterminado es [SPAM], y puede cambiarse por lo que considere apropiado el administrador. Ejemplo: {¿Spam?} |
| whitelist_from | Se utiliza para definir que jamás se considere como Spam los mensajes de correo electrónico cuyo remitente sea un dominio o cuenta de correo electrónico en particular. Se pueden definir varias líneas. Ejemplo: whitelist_from *@midominio.algo whitelist_from *@alcancelibre.org whitelist_from *@hsbc.com.mx whitelist_from *@bancomer.com.mx whitelist_from *@banamex.com |
| whitelist_to | Si utiliza una lista de correo electrónico (majordomo o mailman), y se desea evitar que accidentalmente se considere Spam un mensaje de correo electrónico emitido por una de estas listas, se puede definir que nunca se considere Spam el correo emitido por dicha lista. Ejemplo: whitelist_to mailman-users@algo.algo |
| blacklist_from | Se puede definir que todo el correo electrónico proveniente de un dominio o cuenta de correo electrónico en particular siempre sea considerado como Spam. Ejemplo: blacklist_from alguien@spammer.com |
| ok_languages | Permite definir los códigos de los países cuyos lenguajes no serán considerados Spam. En el ejemplo a continuación, se establece que los idiomas español y portugués no se considerará como Spam: ok_languages pt es |
Hay una herramienta de configuración de SpamAssassin, que permite generar el fichero /etc/mail/spanassassin/local.cf, en http://www.yrex.com/spam/spamconfig.php.
El fichero /etc/sysconfig/spamassassin incluye el siguiente contenido:
### Override for your different local config #SOCKET=/var/run/spamass-milter/spamass-milter.sock ### Standard parameters for spamass-milter are: ### -P /var/run/spamass-milter.pid (PID file) ### ### Note that the -f parameter for running the milter in the background ### is not required because the milter runs in a wrapper script that ### backgrounds itself ### ### You may add another parameters here, see spamass-milter(1) #EXTRA_FLAGS="-m -r 15" |
De forma predeterminada, a través del parámetro -m, spmass-milter desactiva la modificación de el asunto del mensaje (Subject:) y la cabecera Content-Type:, lo cual es conveniente para añadir cabeceras y se procesado posteriormente, y, a través del parámetro -r 15, rechaza los mensajes de correo electrónico cuando éstos tienen asignados 15 puntos o más. Se pueden modificar el número de puntos mínimos para rechazar directamente el correo electrónico sospechoso de ser spam incremenatando el valor para el parámetro -r. La recomendación es asignar un valor mayor al definido en el fichero /etc/mail/spamassassin/local.cf. Si, por ejemplo, se establece en éste último required_hits 4.5 y rewrite_header Subject {Spam?} y en el fichero /etc/sysconfig/spamass-milter se establece EXTRA_FLAGS="-m -r 6", ocurrirá lo siguiente:
Basado sobre el ejemplo mencionado, el contenido del fichero /etc/sysconfig/spamass-milter quedaría del siguiente modo:
### Override for your different local config #SOCKET=/var/run/spamass-milter/spamass-milter.sock ### Standard parameters for spamass-milter are: ### -P /var/run/spamass-milter.pid (PID file) ### ### Note that the -f parameter for running the milter in the background ### is not required because the milter runs in a wrapper script that ### backgrounds itself ### ### You may add another parameters here, see spamass-milter(1) EXTRA_FLAGS="-m -r 6" |
Si se desea que el correo marcado con mínimo puntuaje para ser considerado Spam (igual o superior al valor definido para el parámetro required_hits del fichero /etc/mail/spamassassin/local.cf) se entrege en una carpeta diferente al buzón de entrada, para ser consultado a través de un webmail (Squirrelmail o GroupOffice) o bien un cliente con soporte IMAP (Microsoft Outlook, GNOME Evolution o Mozilla Thunderbird), se puede crear el fichero /etc/procmailrc con el siguiente contenido:
# Hacer pasar el correo por spamassassin :0fw | /usr/bin/spamc # Mover mensajes positivos sa Spam hacia la capeta mail/Spam del usuario :0: * ^X-Spam-Status: Yes $HOME/mail/Spam |
Lo anterior define una regla condicionada a que la cabecera del mensaje incluya X-Spam-Status: Yes, el cual es agregado por SpamAssassin cuando hay casos que superan el mínimo de puntos para ser considerado Spam, de modo que todo correo que incluya esta cabecera será almacenado en la carpeta mail/Spam propiedad del usuario a quien sea destinado el mensaje. Al estar en /etc/procmailrc, esta regla se aplica a todas la cuentas de usuario en el servidor. Combinado con todo lo anterior, ocurrirá lo siguiente:
A fin de que spamass-milter y spamasssin trabajen juntos, es necesario crear un directorio virtual de configuración para el usuario sa-milt que se utilizará para iniciar spamd, el cual corresponde al servicio spamassassin.
mkdir /var/lib/spamassassin |
Este directorio debe pertenecer al usuario sa-milt y grupo sa-milt.
chown sa-milt.sa-milt /var/lib/spamassassin |
Se edita el fichero /etc/sysconfig/spamassassin, y se añaden las opciones -u sa-milt -x --virtual-config-dir=/var/lib/spamassassin, las cuales especifican que se iniciará como el usuario sa-milt, que se deactivará la configuración por usuario y que se utilizará /var/lib/spamassassin como directorio virtual de configuración. De tal modo, el fichero debe quedar de la siguiente forma:
# Options to spamd SPAMDOPTIONS="-d -c -m5 -H -u sa-milt -x --virtual-config-dir=/var/lib/spamassassin" |
Se agrega al arranque del sistema y se inicia el servicio spamassasin del siguiente modo:
chkconfig spamassassin on service spamassassin start |
El servicio spamass-milter se agrega al arranque del sistema y se inicia del siguiente modo:
chkconfig spamass-milter on service spamass-milter start |
Al terminar, considerando que está instalado el paquete sendmail-mc, el cual permite reconfigurar Sendmail a partir del fichero /etc/mail/sendmail.mc, se debe reiniciar el servicio sendmail para que surtan efectos los cambios realizado en el fichero mencionado.
service sendmail restart |
Más documentos del mismo autor (Joel Barrios) en este enlace.
Alcance Libre
http://www.alcancelibre.org/staticpages/index.php/como-spamass-milter