lunes, septiembre 27, 2010

SPF para control de spam

Antecedente

Cuando un correo se envía de un servidor de correo a otro, típicamente no existe ninguna política o acuerdo entre los dos servidores para determinar si el correo es debidamente válido. De esta forma, se puede configurar un servidor de correo en la casa (u otro lugar al que se tenga acceso) y enviar correo haciéndose pasar por cuentas de correo de las cuales no es dueño y el servidor de correo destino no tiene como validar la autenticidad del correo electrónico. Esto es causa de una gran cantidad de spam en el mundo.

Solución

Como solución al problema planteado, se tiene disponible un esquema de políticas para envío y recepción de mensajes de correo electrónico entre servidores, se llama SPF, podríamos reconocerla como una extensión al protocolo de correo.

SPF es una política o estándar que se puede configurar para indicar desde cuales servidores de correo se autoriza el envío de correo para un dominio específico. De esta forma, correos enviados desde servidores no autorizados, deberán ser descartados por el destino. Es una política que no ha sido implementada masivamente (si ya hubiese sido implementada, habría menos spam en nuestros buzones de correo), pero cada vez más diferentes servidores de correo lo reconocen. Por ejemplo, Google y Hotmail reconocen esta política.

Para su configuración es necesario agregar un registro en el DNS del dominio remitente del correo, para indicar cuales servidores de correo están autorizados. De acuerdo a este punto, solo el dueño del dominio remitente puede configurar este dato en el DNS, por lo tanto, la configuración es considerada confiable.

Como ejemplo de un registro SPF se tiene el siguiente:

internexo.com. IN TXT "v=spf1 mx ptr ip4:205.234.223.184 -all"

Con esta política aplicada:
  • Servidores de correo destino que no reconocen SPF, no sufren ningún cambio y el servicio seguirá funcionando de la manera tradicional.
  • Servidores de correo destino que reconocen SPF, aceptarán de manera más confiable correos con origen en los servidores autorizados y negarán la recepción para los servidores no autorizados (si así se especifica), probablemente generadores de spam.
Para saber si un dominio tiene aplicado el control de spam mediante SPF, se puede hacer uso de la herramienta dig, disponible en Linux, se puede usar de la siguiente manera:

# dig google.com txt

En donde se obtiene un resultado semejante a:

google.com. 3471 IN TXT "v=spf1 include:_netblocks.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"

También se puede hacer uso de herramientas dig disponibles en web comohttp://www.lowtools.com/dig.php. Al introducir google.com txt en la caja de texto, obtendremos un resultado semejante.

Información adicional de conceptos generales, se puede encontrar en la dirección:http://es.wikipedia.org/wiki/Sender_Policy_Framework