Utilidad de los registros SPF para evitar SPAM

por | 15 de diciembre de 2009

Un escenario muy común en los sistemas de correo es tener un servidor relay externo que es el que envía realmente los correos.

El spoofing con direcciones de correo ajenas es una técnica muy común entre los spammers

El spoofing con direcciones de correo ajenas es una técnica muy común entre los spammers

Esto a veces puede suponer un problema porque algún sistema receptor interprete que se está haciendo spoofing (falsificación) de nuestras direcciones de correo al comprobar que el que el servidor que envía (relay) no coincide con nuestro dominio.

Para dar crédito a nuestro relay permitiendo que envíe con nuestras direcciones de correo podemos crear un registro SPF (Sender Policy Framework) en nuestro dominio.

Eso se hace añadiendo un registro TXT a la zona DNS de una de las siguientes formas:

Una primera forma es comprobar mediante resolución inversa que la ip desde la que se envía coincide con la del dominio otrodominio.com según el registro PTR del mismo:

@ 10800 IN TXT "v=spf1 ptr:otrodominio.com ~all"

De esta forma nuestro propio dominio le está indicando a los servidores destino que una máquina de otro dominio está autorizada a enviar emails con nuestro dominio como parte derecha de la dirección de correo sin que ello se considere una falsificación.

También podemos utilizar include para delegar la comprobación del registro spf a otro dominio/subdominio:

@ 10800 IN TXT "v=spf1 include:servidorelay.otrodominio.com ~all"

Y también podemos especificar algo como:

@ 10800 IN TXT "v=spf1 mx mx:otrodominio.com ~all"

En este caso le estamos diciendo a los servidores destino que el mx del dominio otrodominio.com está autorizado a enviar emails con nuestro dominio en la parte derecha de las direcciones de correo.

Pero una de las formas más utilizadas es indicar un rango de IP’s autorizadas a realizar estos envíos y esto se haría de la forma:

@ 10800 IN TXT "v=spf1 ip4:213.71.94.72/31 ip4:211.72.94.75/31 ~all"

Para más información: http://es.wikipedia.org/wiki/Sender_Policy_Framework