Muchas veces nos llega un correo de un supuesto conocido que nada tiene que ver con este, incluso la mayoría de las veces el correo estará escrito en un lenguaje que el contacto que aparece (tipo pepe@aquiestoy.es) desconoce. Esto es una práctica común en el mundo del spam.

Para evitar que ocurra esto, desde 2004 el proveedor americano AOL, comenzó a utilizar SPF (originalmente Sender Permitted From pero renombrado al final como Sender Policy Framework).

[image align=”center” src=”/wp-content/uploads/2012/11/spf.jpg” width=”512″ height=”361″ alt=”SPF. Esquema de funcionamiento” lightbox=”true”]

Esta técnica se basa en identificar, usando los registros de nombres de dominio (DNS), los servidores de correo SMTP autorizados para enviar los mensajes de un dominio determinado. Esto es, publicamos que, por ejemplo el servidor gya.es sólo puede enviar correos desde la IP x.x.x.x. Con esto conseguimos que cuando un servidor de correo recibe un mensaje de xxx@gya.es, puede consultar, siempre que lo tenga implementado, los registros DNS para saber si el correo proviene de una direccion IP de gya.es y no de otra cualquiera que intenta usar fraudulentamente esa dirección.

Microsoft, como es habitual ha intentado imponer su propia solución, Caller-ID, para complicar el panorama. Esta solución es muy similar al SPF, salvo en que usa para el almacenamiento de información en los DNS código XML y es propietaria de Microsoft.

Cómo se hace

Para implementar un registro SFP en nuestro servidor DNS, basta añadir un registro de tipo TXT. Normalmente bastaría con:

v=spf1 a mx ip4:X.X.X.X ~all

La explicación breve de los comandos es:
[list type=”disc”]

  • v= define la versión usada de SPF (versión 1)
  • mx autoriza el enví­o de emails desde los servidores con la IP de los registros MX
  • ptr autoriza el enví­o de emails desde los servidores bajo el dominio midominio.com
  • ip4 autoriza el enví­o de emails desde los servidores con la ip definida
  • include autoriza el enví­o de emails desde los servidores del dominio especificado
  • +all Si autoriza explí­citamente, el enví­o de emails desde servidores no declarados en el registro SPF
  • -all No autoriza explí­citamente, el enví­o de emails desde servidores no declarados en el registro SPF
  • ?all Si autoriza, el enví­o de emails desde servidores no declarados en el registro SPF, declarándose neutral ante los declarados
  • ~all Si autoriza, el enví­o de emails desde servidores no declarados en el registro SPF, recomendando los declarados
  • [/list]

    Microsoft publica un asistente que nos ayudará a definir nuestro registro SPF correctamente.

    Para saber si un servidor de correo usa o no registro SPF en sus DNS podemos usar el siguiente validador, www.kitterman.com, o abrir una ventana de comandos y desde el indicador de comandos teclear:

    nslookup -type=txt dominio.com

    Si queremos completar la información, en www.openspf.org hay abundante documentación.