Antes que nada aclaro que las configuraciones aqui expuestas son reglas que sin duda nos ayudaran a controlar el spam de una manera muy eficiente.

Pese a lo que vamos a ver a continuación es, aconsejable montar un sistema delante de nuestro Zimbra para poder bloquear estos mensajes, ya que aplicando estas las reglas que se describen en este post, lo que conseguimos es que aumenten los recursos (CPU, RAM, etc…) de nuestro sistema de Zimbra.

Primero debemos averiguar las versiones de filtros de spam que tenemos en nuestro zimbra.

[zimbra@mail ~]$ /opt/zimbra/amavisd/sbin/amavisd -V
amavisd-new-2.8.0 (20120630)
[zimbra@mail ~]$ /opt/zimbra/libexec/sa-learn -V
SpamAssassin version 3.4.0
[zimbra@mail ~]$ /opt/zimbra/dspam/bin/dspam –version | head -2

Las versiones de estas aplicaciones se actualizan automáticamente con la actualización de zimbra.

Para poder comprobar que funciona nuestro sistema antispam tenemos el siguiente enlace.

http://spamassassin.apache.org/gtube

Marcar mensajes spam.

La marcación del Spam a nivel de cuenta de correo, es una de las funcionalidades más interesantes del sistema antispam que nos brinda Zimbra. Cuando nos llega un mensaje que nosotros vemos que es un mensaje de spam, lo podemos marcar para que el sistema aprenda de dicho mensaje.

Captura de pantalla de 2014-08-13 16:51:29

Cuando instalas Zimbra, se se crean automáticamente dos cuentas: SPAM y HAM. Para evitar ataques contra estas cuentas, las cuentas no se llaman SPAM y HAM. Estas cuentas tienen la quota deshabilitada y la indexación de los ficheros adjuntos deshabilitados.

Cuando marcamos un mensaje como Spam, el mensaje es reenviado a la cuenta predefinida por el sistema (spam.asduXdas@dominio.tld) sin modificar las cabeceras, para que nuestro sistema aprenda de ese mensaje y lo ubica en la carpeta de correo no deseado del usuario que lo ha marcado. En la siguiente captura podemos ver como reenvía el mensaje de spam a la cuenta designada por el sistema:

Los mensajes que marcamos como Spam irán a parar a la cuenta de Spam. La otra cuenta (denominada ham.xdfrwsa@dominio.tld) es para cuando indicamos que un mensaje NO es Spam. Supongamos que nos hemos equivocado o el propio sistema se ha equivocado en la marcación del mensaje y ha ubicado dicho mensaje en la carpeta de correo no deseado, entonces simplemente le hemos de indicar que el mensaje no es SPAM.

Captura de pantalla de 2014-08-13 17:03:33

Una vez marcado el mensaje como un error (el mensaje no es spam), veremos en los logs que el mensaje se reenvía a la cuenta de HAM y automáticamente se ubicará el mensaje en la bandeja de entrada:

Los mensajes ubicados en la cuenta de Spam, son aprendidos por el sistema cada noche via crontrab, gracias al comando: zmtrainsa. Este comando se puede lanzar de forma manual para que aprenda de un buzón en concreto. La sintaxis del comando es: zmtrainsa spam|ham [folder]

Listas blancas y listas negras.

Existen varios lugares donde podemos ubicar dominios y cuentas en WhiteList y BlackList.

El primero sería a nivel de usuario, el cual se aplicaría solamente a la cuenta de correo. Para poder usar esta funcionalidad, hemos de hacer login en nuestra cuenta, irnos a nuestras preferencias y en las opciones de Mail, podremos observar el menú “Spam Mail Options”, que es donde ubicaremos los dominios o cuentas tanto en la WhiteList como en la BlackList.

zimbra-antispam-007

La otra opción, es hacerlo a nivel de servidor. De esta manera se aplicará a todos los usuarios ubicados en dicho servidor. Para realizar el procedimiento, lo que haremos es añadir las cuentas que queremos en la whitelist o la blacklist en nuestro fichero de configuración del SpamAssassin:

root@zimbra:~# su – zimbra
zimbra@mail:~$ vim /opt/zimbra/conf/sa/salocal.cf

blacklist_from cuenta_spam@dominio.es
whitelist_from *@gmail.com

Una vez realizadas las modificaciones tendremos que reiniciar los demonios correspondientes para que se apliquen los cambios:

zimbra@mail:~$ zmmtactl restart && zmamavisdctl stop && zmamavisdctl start

Sistema de Realtime Blackhole List (RBL)

Las RBL’s son listados de IPs que son detectados como posibles amenazas de spam, o que han sido detectados enviando spam. Estos listados pueden ser consultados (los gratuitos) por servidores de correo, en tiempo real, y si se detecta un mail que viene de un IP que aparece en las listas, el correo es bloqueado. Aquí tenéis un ejemplo, en el cual podemos ver como la RBL de barracuda ha bloqueado el mensaje

May 4 10:35:48 RBL postfix/smtpd[13315]: NOQUEUE: reject: RCPT from synthesisness-scorecard.volia.net[93.72.190.253]: 554 5.7.1 Service unavailable; Client host [93.72.190.253] blocked using b.barracudacentral.org; from= to= proto=ESMTP helo=

Para simplificar la administración de estos parámetros, los podremos administrar vía administración GUI. Las RBL’s gratuitas más conocidas y usadas, son SpamHaus y Barracuda. Para poder gestionarlas via consola, hemos de realizar los siguientes comandos:

root@mail:~# su – zimbra

zimbra@mail:~$ zmprov mcf +zimbraMtaRestriction “reject_rbl_client b.barracuracentral.org”

zimbra-antispam-008

Una vez realizados los comandos, podremos ver el resultado en la administración GUI:

zimbra-antispam-009

Existe un Script muy bueno, para ver la cantidad de mensajes que nuestro sistema de RBL’s está bloqueando. De esta manera poder optimizar nuestro sistema, cambiando la prioridad de nuestras RBL’s, en función de la cantidad de mensaje que nos esté bloqueando nuestro sistema de RBL’s:

Helo

El Helo es la funcionalidad, en la cual los servidores remotos se identifican cuando entregan un mensaje en nuestro servidor SMTP. Mediante el Helo, el servidor remoto nos indica su nombre:

May 4 06:26:25 HELO postfix/smtpd[5865]: NOQUEUE: reject: RCPT from unknown[36.88.11.255]: 504 5.5.2 : Helo command rejected: need fully-qualified hostname; from= to= proto=ESMTP helo=

El sistema de Zimbra nos ofrece tres posibilidades para bloquear los servidores que no cumplen este RFC:

reject_invalid_helo_hostname: rechazarán los intentos de conexión cuando la sintaxis hostname HELO es inválida.
reject_non_fqdn_helo_hostname: rechaza los correos que su helo no cumple el FQDN, por ejemplo como el caso anterior que el helo es Pc-PC, para aceptarlo tendría que ser: Pc-Pc.algunacoa.dom
reject_non_fqdn_sender: rechaza los correos que dicen provenir de direcciones sin un nombre de dominio completamente calificado (FQDN). En la práctica significa rechazar correos que provienen de usuario@equipo: la dirección debe anunciarse como usuario@equipo.example.com o usuario@example.com

Para simplificar la administración de estos parámetros, los podremos administrar vía administración GUI:

Razor y Pyzor

Razor y Pyzor, son filtros antispam que usan redes corporativas con bases de datos de mensajes spam. Comprueban las sumas de verificación (checksum) de un mensaje y las comparan con la base de datos (donde tienen sumas que saben que son spam).

Para aplicar estos filtros en nuestro sistema, deberemos instalar los correspondientes paquetes:

root@zimbra:~# aptitude update && aptitude install razor pyzor

Configuraremos Pyzor de la siguiente manera como usuario zimbra:

root@mail:~# su – zimbra
zimbra@zimbra:~$ pyzor –homedir /opt/zimbra/data/amavisd/.pyzor discover

zimbra@mail:~$ vim /opt/zimbra/conf/sa/sauser.cf
# pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor
pyzor_timeout 20

Y configuraremos Razor de la siguiente manera:

zimbra@zimbra:~$ razor-admin -home=/opt/zimbra/data/amavisd/.razor –create
zimbra@zimbra:~$ razor-admin -home=/opt/zimbra/data/amavisd/.razor –discover
zimbra@zimbra:~$ razor-admin -home=/opt/zimbra/data/amavisd/.razor -register -user oscar@ilba.cat

En alguna ocasión, me he encontrado que al registrar nuestro sistema de Zimbra en Razor, me ha dado algún error al registralo. Simplemente volviendo a lanza el comando de registro y esperar a que de un resultado como el siguiente:

zimbra-antispam-012

zimbra@zimbra:~$ vim /opt/zimbra/conf/sa/sauser.cf
# razor
use_razor2 1

Fuente:

http://www.jorgedelacruz.es

MFCP!!!