Uno de lo problemas mas frecuentes es el el uso indiscriminado al enviar y recibir de spam mediante mail.
Para solucionar este problema en un servidor podemos instalar la herramienta SpamAssassin, que es un filtro que mediante algoritmos heurísticos permite identificar el spam consultando su base de datos en tiempo real analiza el texto del mail utilizando reglas básicas, gestiona comprobaciones sobre los encabezados y cuerpo del email, asignándole una puntuación según la probabilidad de que sea spam o email no deseado.
Cuando detecta un posible spam puede eliminar el correo, redirigirlo a un directorio seleccionado o bien agregar un etiqueta de aviso. Es una aplicación interesante si el servidor se utiliza para prestar servicio de hosting.
Puede ser instalado en cualquier distribución Linux, en esta ocasión veremos como realizar la instalación para un servidor con Centos, pero no es difícil adaptarlo a cualquier distro.
En la mayoría de las distro viene la aplicación en el repositorio sino podemos descargarla desde http://spamassassin.....org/index.html.
Para comenzar accederemos vía ssh a nuestro servidor y en la ventana de terminal
instalamos perl (mínimo Perl 5.8.8) y algunas dependencia para gestionar mail
yum install perl
yum install perl-Mail-DKIM.noarch
Luego instalamos el spamassasin
yum install spamassassin
Cuando haya finalizado de instalar, comenzamos a configúralo, creamos un usuario y un directorio para los filtro
useradd -d /home/spamfilter -s /bin/false spamfilter
chmod 766 /home/spamfilter
Con el editor nano o vi abrimos el archivo local.cf para definir las reglas del filtro
nano /etc/mail/spamassassin/local.cf
Por ejemplo podremos definir
# Puntuación para ser marcado spam
required_hits 5.0
# Texto que se antepondrá al asunto de los emails que sean spam
rewrite_header Subject [*****SPAM*****]
# Encapsular spam en un adjunto al email de aviso
report_safe 1
# Habilitar systema Bayes
use_bayes 1
# Autoaprendizaje
bayes_auto_learn 1
bayes_path /home/spamfilter/
bayes_file_mode 0666
# Comprobaciones de spam
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1
Luego guardamos el archivo con el nombre local.cf y salimos del editor. En la terminal reiniciamos el servicio
service spamassassin restart
Spamassasin se puede instalar en todo los paneles de control Cpanel, plesk, directadmin. Aquí podemos ver una versión de la configuración que realizamos en modo texto desde directadmin.
También podemos ver un sistema similar pero para el panel de control cpanel
Configurando el sistema antispam
Para optimizar el programa antispam podemos utilizar el comando sa -learn que permitirá definir alguno parámetros para entrenar el software. Por ejemplo desde la linea de comando tipeamos
sa-learn --spam --mbox ~/mail/spam
Esto sera chequear spam de las cuenta tipo mbox y enviar al directorio spam
sa-learn --ham --mbox /var/spool/mail/usuario
Esto significa email validos de cuentas mbox enviar a la cuenta del usuario
Todas esta configuraciones pueden ser utilizadas por el administrador, por usuarios con cuentas reseller o por usuarios individuales, ya que una vez instalado spamassasin se puede gestionar desde el panel de control, creando los nuevos filtros que entrenaran Spamassassin.
Este programa además puede aprender solo utilizando su algoritmo heurístico y las reglas que va añadiendo a su base de datos.