Cómo configurar spamass-milter.
Cómo configurar spamass-milter.
Autor: Joel Barrios DueñasCorreo electrónico: darksrham en gmail punto com Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2010 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.
Introducción.
Requisitos previos.
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».
Se requiere además leer y estudiar previamente la información del documento titulado «Cómo instalar y configurar Spamassassin.»
Acerca de spamass-milter.
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/
Acerca de SpamAssassin.
SpamAssassin es una implementación 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/
Equipamiento lógico necesario.
| • | sendmail (previamente configurado) | • | sendmail-cf |
| • | make | • | m4 |
| • | spamassassin | • | spamass-milter |
| • | perl-Mail-SPF | • | perl-Razor-Agent |
| • | pyzor |
Instalación a través de yum.
Si dispone de un servidor con CentOS 4 o 5 o bien Red Hat™ Enterprise Linux 4 o 5, puede utilizar el depósito yum de Alcance Libre para servidores en producción:
|
[AL-Server] name=AL Server para Enterprise Linux $releasever mirrorlist=http://www.alcancelibre.org/al/el$releasever/al-server gpgcheck=1 gpgkey=http://www.alcancelibre.org/al/AL-RPM-KEY |
La instalación solo requiere utilizar lo siguiente:
| yum -y install spamass-milter perl-Mail-SPF perl-Razor-Agent pyzor |
Procedimientos.
SELinux y el servicio spamass-milter.
A fin de que SELinux permita al servicio spamassassin conectarse a servicios externos, como razor o Pyzor, utilice el siguiente mandado:
| setsebool -P spamassassin_can_network 1 |
A fin de que SELinux permita a los usuarios del sistema utilizar spamassassin desde sus directorios de inicio, utilice el siguiente mandato:
| setsebol -P spamd_enable_home_dirs 1 |
Si se desea desactivar toda gestión de SELinux sobre los servicios spamass-milter y spamassassin, haciendo que todo lo anterior pierda sentido y eliminando la protección que brinda esta implementación, utilice los siguientes mandatos:
|
setsebol -P spamd_disable_trans 1 setsebol -P spamass_milter_disable_trans 1 |
Fichero /etc/mail/sendmail.mc.
Editar el fichero /etc/mail/sendmail.mc:
| vim /etc/mail/sendmail.mc |
Es necesario agregar el siguiente contenido en el fichero /etc/mail/sendmail.mc, justo arriba de MAILER(smtp)dnl.
dnl MASQUERADE_DOMAIN(localhost)dnl |
Si se combina con ClamAV Milter, quedaría del siguiente modo:
dnl MASQUERADE_DOMAIN(localhost)dnl |
Fichero /etc/sysconfig/spamass-milter.
Editar el fichero /etc/sysconfig/spamass-milter:
| vim /etc/sysconfig/spamass-milter |
El fichero /etc/sysconfig/spamass-milter incluye el siguiente contenido:
|
### Override for your different local config #SOCKET=/var/run/spamass-milter/spamass-milter.sock ### Standard parameters for spamass-milter are: |
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 incrementando 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 y en el fichero /etc/sysconfig/spamass-milter se establece EXTRA_FLAGS=”-m -r 10″, ocurrirá lo siguiente:
| 1. | Todos los mensajes marcados con 4.4 puntos o menos, se entregarán inmediatamente al usuario sin modificaciones visibles. |
| 2. | Todos los mensajes marcados desde 4.5 hasta 9.9 puntos se entregarán al usuario con el asunto modificado añadiendo a éste al inicio. |
| 3. | Todos los mensajes que estén marcados con 10.0 puntos o más serán rechazados automáticamente. |
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: |
Fichero /etc/procmailrc.
Si se desea que el correo marcado con una mínima puntuación para ser considerado Spam (igual o superior al valor definido para el parámetro required_hits del fichero /etc/mail/spamassassin/local.cf) se entregue 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:
| vim /etc/procmailrc |
Y añadirle el siguiente contenido:
|
# Hacer pasar el correo por spamassassin :0fw | /usr/bin/spamc # Mover mensajes positivos a Spam hacia la capeta ~/mail/Spam del usuario |
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:
| 1. | Todos los mensajes marcados con 4.4 puntos o menos, se entregarán inmediatamente al usuario sin modificaciones visibles. |
| 2. | Todos los mensajes marcados desde 4.5 hasta 9.9 puntos se entregarán al usuario con el asunto modificado añadiendo a éste al inicio y se almacenarán en la capeta ~/mail/Spam del usuario. |
| 3. | Todos los mensajes que estén marcados con 10.0 puntos o más serán rechazados automáticamente. |
Fichero /etc/sysconfig/spamassassin.
A fin de que spamass-milter y spamassassin trabajen juntos, es necesario exista el directorio de configuración para el usuario sa-milt que se utilizará para iniciar spamd, el cual corresponde al servicio spamassassin. Por lo general, este directorio se crea automáticamente al instalar el paquete spamassassin. En caso de que esté ausente, se puede crear fácilmente ejecutando:
| 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:
| vim /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 desactivará 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” |
Iniciar, detener y reiniciar el servicio spamass-milter.
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 aplicar cambios en la configuración 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 |
A fin de mantener actualizado el juego de reglas y filtros de Spamassassin, es conveniente actualizar éstos de vez en cuando, a lo sumo una o dos veces al mes. Los juegos de reglas y filtros de Spamassassin realmente sufren pocos cambios a lo largo del año y se almacenan en un sub-directorio dentro de /var/lib/spamassassin/. Solo es necesario conservar el sub-directorio con la versión más reciente. El siguiente mandato realizará la consulta y actualización de reglas y filtros de Spamassassin y reiniciará el servicio solamente si se descargó una actualización:
| /usr/bin/sa-update && /sbin/service spamassassin restart |
Última Edición martes 22 de junio, 2010 @14:04












