activar spf en zimbra

22 de septiembre de 2009

Hay una persona que me matará cuando lea esta entrada. Seguro que me dirá algo como "¿cabroncete, después de 5 años me dices que no filtra por SPF?".

Se esperaba que con la versión 6 de Zimbra ya se trajera esto activado de serie... pero va ser que no. Y mucho peor, yo creía que ya lo traía de serie. Está muy bien que tú dominio ya esté preparado con los registros de SPF y esas cosas, ¿pero tú Zimbra los está utilizando?.

[root@zimbra ~]# dig txt google.com
...
google.com.   3600   IN   TXT   "v=spf1 include:_netblocks.google.com 
                                 ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"
...

La respuesta es no. No tengo ni puta idea de por qué no lo está utilizando sabiendo desde hace años todo el problema del spam y concretamente del phishing.

Quien hace uso de esta funcionalidad dentro de todos los módulos Zimbra es el SpamAssessin. Es más, lo intenta cargar al arrancar:
# cat /opt/zimbra/conf/spamassassin/init.pre | grep SPF
loadplugin Mail::SpamAssassin::Plugin::SPF

Lo que se intenta cargar es el módulo de Perl llamado "Mail::SPF::Query" que normalmente no está instalado en una distribución Linux, tampoco lo instala Zimbra y tampoco está como recomendación. ¿Raro no?.

Simplemente debemos instalar el módulo de Perl Mail::SPF::Query y todos los requisitos que previamente nos hace saber:
# perl -MCPAN -e shell
cpan> install Mail::SPF::Query
cpan> force install Mail::SPF::Query (utilizar este comando si hay algún 
problema durante la instalación)

Ahora solo queda reiniciar Zimbra y ver en el log como se hace uso del nuevo módulo de SPF:
# zcontrol stop && zmcontrol start
# cat /var/log/zimbra.log | grep SPF
Sep 22 21:57:52 zimbra amavis[31739]: extra modules loaded after 
daemonizing/chrooting: Mail/SPF/Query.pm

Enviamos una par de emails de pruebas y miramos el cuerpo del mensaje. Uno utilizado el módulo SPF:
X-Spam-Status: No, score=1.763 tagged_above=-10 required=6.6
 tests=[BAYES_50=0.001, HTML_MESSAGE=0.001, MISSING_SUBJECT=1.762,
 SPF_PASS=-0.001] autolearn=no

Y el otro sin utilizar el módulo de Perl:
X-Spam-Status: No, score=0.463 tagged_above=-10 required=6.6 tests=[AWL=1.299,
 BAYES_00=-2.599, HTML_MESSAGE=0.001, MISSING_SUBJECT=1.762]
 autolearn=no

Ver como ahora hay un nuevo filtro llamado SPF_PASS.

Más información:
- http://www.zimbra.com/forums/administrators/33120-zcs-6-0-open-source-enable-spf.html
- http://wiki.zimbra.com/index.php?title=Improving_Anti-spam_system#SPF
- http://www.abuses.es/eswl/doc/spamassassin-eswl.pdf

2 comentarios:

Ignacio dijo...

jajajja La verdad es que me reido mucho con esta entrada!! :) bueno lo importante es darle solución :)

Daniel dijo...

Para los que usen Ubuntu u otra distribución basada en Debian, recomiendo instalar el módulo mediante el comando:

apt-get install spf-tools-perl

instala todas las dependencias más fácilmente, yo lo intenté por medio de la consola de perl y no logré instalarlo.