martes, 22 de octubre de 2013

Mejorando el filtrado del spamassassin en Zimbra

En este resumen vamos a ver los pasos para poder agregar herramientas ya conocidas que nos permitan mejorar la capacidad del filtrado del spam en Zimbra.

Datos:
Version de Zimbra: 8.0.4
SO: CentOS 6.2

Se asume que ya tenemos nuestro servidor Zimbra corriendo ...

A continuacion un breve resumen de lo que se usara...

- SPF(Sender Policy Framework)
Cuando un correo ingresa a nuestro servidor, el SPF revisa los datos de origen(IP), luego realiza una consulta a los servidores DNS(registro TXT para SPF) del dominio origen, comprueba si dicha IP esta autorizada a enviar o no.

- Razor
Es una red colaborativa de detección/notificación de spam. Cuando se recibe un spam nuevo, se informa a esa red de ese mensaje y a partir de ese momento, los servidores que reciban ese mismo mensaje y utilicen razor, lo detectará también como spam sin tener que configurar nada.

- Pyzor
Similar a Razor, se complementan de manera mutua.

Procedemos a instalar

1. SPF

# rpm -Uvh http://mirror.as24220.net/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install perl-Mail-SPF -y

Nos aseguramos que dentro del archivo /opt/zimbra/conf/spamassassin/init.pre tenga descomentado la linea
loadplugin Mail::SpamAssassin::Plugin::SPF


2. Razor

# yum install -y perl-Razor-Agent razor-agents

Configuramos Razor

# mkdir /opt/zimbra/amavisd/.razor
# chown -Rf zimbra:zimbra /opt/zimbra/amavisd/.razor
# su - zimbra
$ razor-admin -home=/opt/zimbra/amavisd/.razor -create
$ razor-admin -home=/opt/zimbra/amavisd/.razor -discover
$ razor-admin -home=/opt/zimbra/amavisd/.razor -register

Nos aseguramos que en el archivo /opt/zimbra/conf/spamassassin/v310.pre tenga descomentado la linea
loadplugin Mail::SpamAssassin::Plugin::Razor2

3. Pyzor

# yum -y install pyzor python

Configuramos pyzor

mkdir /opt/zimbra/amavisd/.pyzor
# chown zimbra:zimbra /opt/zimbra/amavisd/.pyzor
# su - zimbra
$ pyzor --homedir /opt/zimbra/amavisd/.pyzor discover


Nos aseguramos que en el archivo /opt/zimbra/conf/spamassassin/v310.pre tenga descomentado la linea
loadplugin Mail::SpamAssassin::Plugin::Pyzor

Adicionalmente instalaremos DCC, el cual tambien es una base de datos colaborativa com el Razor..

# wget http://rhyolite.com/anti-spam/dcc/source/dcc.tar.Z
# tar xzf dcc.tar.Z
# cd dcc-1.3.152
# ./configure --with-uid=zimbra
# make
# make install
# chown -R zimbra:zimbra /var/dcc

Hecho lo de arriba, ahora vamos al archivo /opt/zimbra/conf/spamassassin/local.cf y le agregamos al final

# vim /opt/zimbra/conf/spamassassin/local.cf
...

ok_languages en es 
ok_locales en es 
trusted_networks 127. 172.16.
skip_rbl_checks 0
use_razor2 1
use_pyzor 1
use_dcc 1
dcc_path /usr/local/bin/dccproc
dns_available yes 
score DCC_CHECK 4.000
score SPF_FAIL 10.000  
score SPF_HELO_FAIL 10.000
score RAZOR2_CHECK 2.500
score PYZOR_CHECK 2.500
score BAYES_99 4.300
score BAYES_90 3.500
score BAYES_80 3.000
bayes_ignore_header Received: from localhost
bayes_ignore_header Received: from mail.dominiolocal.com
...


Habilitamos el DCC en el archivo /opt/zimbra/conf/spamassassin/v310.pre

# vim /opt/zimbra/conf/spamassassin/v310.pre
...
loadplugin Mail::SpamAssassin::Plugin::DCC
...


Tambien habilitaremos el DSPAM, esto examina el contenido de cada mensaje y aprende qué tipo de contenido el usuario considera como spam...

Para ello, hacemos lo siguiente:
# su - zimbra
$ zmlocalconfig -e amavis_dspam_enabled=true

Finalmente reiniciamos el zimbra...

# su - zimbra
$ zmcontrol restart








viernes, 18 de octubre de 2013

Zimbra - zmstat-fd.pid not running

En un momento dado cuando veo el estado del servidor Zimbra, el estado del stats esta detenido

Ingresamos a la consola del Zimbra y vemos que un proceso no esta corriendo...

# su - zimbra

$ zmstatctl status
Running: zmstat-df
Running: zmstat-mtaqueue
Running: zmstat-mysql
process 4579 in /opt/zimbra/zmstat/pid/zmstat-fd.pid not running
Running: zmstat-io
Running: zmstat-allprocs
Running: zmstat-vm
Running: zmstat-cpu
Running: zmstat-proc
Running: zmstat-io-x
Running: zmstat-ldap

Este es un problema de permisos, para corregir ello ejecutamos el siguiente comando de zimbra como root

/opt/zimbra/libexec/zmfixperms

Claro, tambien debemos asegurarnos que el usuario y grupo propietario sea zimbra y finalmente reiniciamos el servicio

# su - zimbra
$ zmcontrol restart

Nos fijamos el status del stat y vemos que ya esta corriendo ...

$ zmcontrol status 
Host mail.dominio.com.pe
 antispam                Running
 ldap                    Running
 logger                  Running
 mailbox                 Running
 mta                     Running
 opendkim                Running
 snmp                    Running
 spell                   Running
 stats                   Running
 zmconfigd               Running


Espero le sirva a alguie mas ...!!!

miércoles, 16 de octubre de 2013

Reenvio en Postfix usando archivo aliases

Este es un pequeño recordatorio para hacer reenvio de correo en Postfix usando el archivo /etc/aliases

En este caso en particular se tiene un dominio virtual, aqui los datos para el ejemplo:

Dominio local: dominiolocal.com.pe
Dominio virtual: dominiovirtual.com.ec


Las cuentas de correo para el dominio local son:
useruno
userdos


Las cuentas de correo para el dominio virtual son:
e_useruno
e_userdos

Dato: el nombre del servidor es mail.dominiolocal.com.pe

Ahora si queremos hacer un reenvio de una cuenta local a otra seria sel siguiente modo:

Dentro del archivo /etc/aliases ponemos del siguiente modo

# vim /etc/aliases
...
#reenvio sin copia, el correo enviado a useruno llegara solo a la cuenta userdos
useruno: userdos@dominiolocal.com.pe
#reenvio con copia, el correo enviado a useruno llegara a ambas cuentas
useruno: useruno@dominiolocal.com.pe,userdos@dominiolocal.com.pe

#Para el caso de las cuentas virtuales seria del siguiente modo

#reenvio sin copia, el correo enviado a useruno llegara solo a la cuenta userdos
e_useruno: userdos@dominiovirtual.com.ec
#reenvio con copia, el correo enviado a e_useruno llegara a ambas cuentas
e_useruno: e_useruno@mail.dominiolocal.com.pe,userdos@dominiovirtual.com.ec
...

Luego de de guardar los cambios ejecutamos

# newaliases

Listo !