SPF (Convenio de Remitentes, del inglés Sender Policy Framework) es una protección contra la falsificación de direcciones en el envío de correo electrónico. Identifica, a través de los registros de nombres de dominio (DNS), a los servidores de correo SMTP autorizados para el transporte de los mensajes. Este convenio puede significar el fin de abusos como el spam y otros males del correo electrónico.

Generalmente algunos registrantes de deominio ponen un spf para el mismo, en otros casos no lo ponen y empiezan los problemas de spam, sin embargo si tu ya tienes un registro SPF para tu dominio, pero ¿tú Zimbra los está utilizando?. La respuesta es NO.

¿Quien hace uso de esta funcionalidad dentro de todos los módulos Zimbra? Es el SpamAssassin. Es más, lo intenta cargar al arrancar. 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, para hacerlos sigamos estos pasos:

  1. Verificamos si SpamAssassin soporta SPF

    grep SPF /opt/zimbra/conf/spamassassin/init.pre

    nos debe salir algo como esto:
    # SPF – perform SPF verification.
    loadplugin Mail::SpamAssassin::Plugin::SPF
    Bien si tenesmos eso en pantalla entonces podemos proceder con al activaci[on de SPF en zimbra.

  2. Instalamos los repositorios de epel.

    wget http://dl.fedoraproject.org/pub/epel/6/i386//epel-release-6-8.noarch.rpm

  3. Instalamos los paquetes perl-mail-spf y perl-Mail-SPF-Quer

    yum install perl-Mail-SPF perl-Mail-SPF-Query

  4. Agregamos un score en spamassassin para el filtro SPF.

    vi /opt/zimbra/conf/spamassassin/local.cf

    Y agrega o edita las siguientes lineas

    score SPF_FAIL 10.000
    score SPF_HELO_FAIL 10.000
    score SPF_SOFTFAIL 4.000

  5. Reiniciamos los servicios de zimbra

    zmcontrol restart
    zmamavisdctl restart

  6. Verificamos los logs filtrando el parametro SPF y veremos que ya hay registros de actividad

    cat /var/log/zimbra.log | grep SPF
    Jul 23 13:06:39 mail amavis[30206]: Module Mail::SPF v2.009
    Jul 24 09:15:20 mail amavis[13697]: Module Mail::SPF v2.009
    Jul 24 12:42:54 mail amavis[22802]: Module Mail::SPF v2.009

  7. Hagamos envíos de correo y debemos tener algo parecido a lo siguiente:

    X-Spam-Status: No, score=-1.909 tagged_above=-10 required=4
    tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001,
    RFC_ABUSE_POST=0.001, SPF_PASS=-0.001 T_RP_MATCHES_RCVD=-0.01]

MFCP!!!