¿Cómo usar el registro SPF para evitar el spoofing y mejorar la fiabilidad del correo electrónico?

Actualizado el 10 de octubre, 2016. Por BlueHosting.

El Convenio de Remitentes o SPF (Sender Policy Framework) es un registro de servicio de DNS que protege contra la falsificación de direcciones de correo electrónico. Esta técnica utilizada por atacantes, falsifica la identidad del propietario del dominio y es usada con fines maliciosos. A dicha técnica se le denomina spoofing. En este tutorial le mostramos como usar el servicio SPF para evitar el spoofing y proteger sus correos electrónicos.

Introducción

Un registro SPF adaptado cuidadosamente reducirá la probabilidad de que su nombre de dominio sea falsificado de forma fraudulenta, evitando que sus mensajes sean abanderados como spam antes de llegar a sus destinatarios. El spoofing de correo electrónico es la creación de mensajes de correo con una dirección falsa de remitente; algo que es bastante simple de ejecutar porque muchos servidores de correo electrónico no realizan autenticación. El spam y la suplantación de identidad o phishing en correos electrónicos se usan generalmente como spoofing para engañar al destinario sobre el origen del mensaje. Hay muchas medidas que pueden tomarse para evitar este problema: SPF, Sender ID, DKIM y DMARC. SPF es un sistema de validación diseñado para prevenir el spam a través de la detección de correos electrónicos con spoofing. Hoy en día, la gran mayoría de los mensajes de correo maliciosos llevan direcciones de remitente falsas. Las víctimas cuyas direcciones están siendo abusadas sufren muchas consecuencias: su reputación se ve afectada, tienen que perder tiempo clasificando correos rebotados y mal dirigidos o —aun peor— sus direcciones IP entran en listas negras.

El SPF es un estándar abierto que especifica un método técnico para prevenir la falsificación de direcciones de remitente. SPF permite que los administradores especifiquen a cuáles hosts se les permite enviar correos electrónicos de parte de un dominio dado al crear un registro SPF específico (o registro TXT) en el sistema de nombres de dominio DNS. Los intercambiadores de correo electrónico usan los registros DNS para verificar que los correos de un dominio dado estén siendo enviados de un host con permisos del administrador del dominio.

Beneficios

Agregar un registro SPF al archivo de zona de su DNS es la mejor manera de detener a los creadores de spam en la suplantación de su dominio. Además, el registro SPF reducirá el número de mensajes de correo electrónicos legítimos que son marcados como spam o rebotados a los servidores de correo remitentes. Desafortunadamente, el registro SPF no es 100% efectivo, ya que no todos los proveedores de correo electrónico lo verifican. Sin embargo, un gran porcentaje lo comprueba y notará una disminución significativa en la cantidad de correos rebotados y marcados como spam.

Ejemplo de registro SPF

Un registro SPF se añade al archivo de zona de su DNS como un registro TXT e identifica los servidores SMTP autorizados en su dominio:

TXT @ "v=spf1 a include:_spf.google.com ~all"

Si está usando el panel de administración de BlueHosting para la administración de su DNS, asegúrese de ingresar la parte entre comillas en el cuadro de texto apropiado. La siguiente tabla da una explicación de los parámetros del registro en el ejemplo:

Componentes Descripción
TXT El tipo de registro de zona DNS; los registros SPF se escriben como registros TXT.
@ El símbolo @ en un archivo DNS es un marcador de posición usado para representar "el dominio actual".
v=spf1 Identifica el registro TXT como un registro SPF, utilizando la versión 1 de SPF.
a Autoriza al host identificado en el registro A del dominio a enviar correos electrónicos.
include: Autoriza que los correos electrónicos sean enviados de parte del dominio de google.com.
~all Denota que esta lista tiene todas las inclusiones y que a ningún otro servidor se le permite enviar correos electrónicos.

Componentes de un registro SPF

Un registro SPF está conformado por el número de versión SPF seguido por cadenas de caracteres formados por mecanismos, calificadores y —en algunas ocasiones— modificadores. Los clientes SPF ignoran los registros TXT que no comienzan con la frase "v=spf1 ...".

Los registros SPF pueden definir cero o más mecanismos. Los mecanismos pueden ser utilizados para describir el conjunto de hosts que se designan como remitentes de correo "autorizados" para su dominio. La siguiente lista muestra algunos mecanismos comunes incluidos en un registro SPF:

all | ip4 | ip6 | a | mx | ptr | exists | include

Los mecanismos pueden ser precedidos con alguno (solo uno) de los cuatro calificadores:

Calificador Descripción
+ Aprobado ("pass"): la dirección aprobó la prueba y se acepta el mensaje. Ejemplo: v=spf1 +all.
- Fallo severo (hard fail): la dirección fallo la prueba; se hace rebotar cualquier correo electrónico que no cumpla las condiciones. Ejemplo: v=spf1 -all.
~ Fallo simple (soft fail): la dirección falló la prueba, pero el resultado no es definitivo; se acepta y se etiqueta cualquier mensaje que no cumpla las condiciones. Ejemplo: v=spf1 ~all.
? Neutro (neutral): la dirección no pasó la prueba o la falló; hacer cualquier cosa (probablemente se aceptará el correo). Ejemplo: v=spf1 ?all1.

Si no se incluye un calificador, el calificador + estará implícito.

Los registros SPF también definen 1 de 2 modificadores; o, ningún modificador en absoluto. Sin embargo, cada modificador aparece solo una vez.

redirect | exp

Los registros SPF se evalúan en un proceso de dos pasos: primero, se evalúan todos los mecanismos y calificadores. Luego, se evalúan todos los modificadores:

  1. Los mecanismos se evalúan de izquierda a derecha;
  2. Los modificadores se evalúan en el segundo paso y pueden estar en cualquier lugar del registro.

Mecanismos

Mecanismo Descripción
all Coincide con todas las IPs locales y remotas y va al final el registro SPF. Ejemplo: v=spf1 +all.
ip4 Especifica una sola dirección IPv4 o un rango aceptable de direcciones IPv4. Se asume una máscara /32 si no se incluye una longitud de prefijo de red. Ejemplo: v=spf1 ip4:192.168.0.1/16 -all.
ip6 El mismo concepto encontrado en ip4, pero —obviamente— con direcciones IPv6 en su lugar. Si no se incluye una longitud de prefijo de red, entonces se asume una máscara /128 (señalando una dirección de host individual). Ejemplo: v=spf1 ip6:1080::8:800:200C:417A/96 -all.
a Especifica todas las IPs en el registro A del DNS. Ejemplo: v=spf1 a:domain.com -all.
mx Especifica todos los registros A para cada registro MX del host. Ejemplo: v=spf1 mx mx:domain.com -all.
ptr Especifica todos los registros A para cada registro PTR del host. Ejemplo: "v=spf1 ptr:domain.com -all.
exists Especifica uno o más dominios generalmente señalados como excepciones a las definiciones SPF. Se realiza una solicitud A en el dominio provisto; si el resultado se encuentra ocurre una coincidencia. Ejemplo: v=spf1 exists:domain.com -all.
include Especifica otros dominios que son dominios autorizados. Ejemplo: v=spf1 include:outlook.microsoft.com -all.

El mecanismo "all"

El mecanismo all va normalmente al final del registro SPF y está precedido con un calificador, por ejemplo:

Ejemplo Descripción
"v=spf1 mx -all" Permite que los hosts MX del dominio envíen correos electrónicos de parte del dominio. Se prohíben todos los otros hosts.
"v=spf1 -all" El dominio no envía correos electrónicos en lo absoluto.
"v=spf1 +all" Esta configuración de SPF es inútil, ya que no limita los hosts que están autorizados a enviar correos electrónicos.

Modificadores

Los modificadores son opcionales y un modificador solo puede aparecer una vez en cada registro. Los modificadores desconocidos se descartan.

El modificador redirect envía la solicitud a otro dominio:

redirect=ejemplo.com

Esto significa que el registro SPF de ejemplo.com remplazaría al registro SPF del dominio actual. Este modificador es útil para aquellos que desean aplicar el mismo registro a varios dominios. Por ejemplo:

Ejemplo de entrada en el archivo de zona de ny.sudominio.com: TXT @ "v=spf1 redirect=_spf.sudominio.com".
Ejemplo de entrada en el archivo de zona de sf.sudominio.com: TXT @ "v=spf1 redirect=_spf.sudominio.com".
Ejemplo de entrada en el archivo de zona de am.sudominio.com: TXT @ "v=spf1 redirect=_spf.sudominio.com".
Ejemplo de entrada en el archivo de zona de _spf.yourdomain.com: TXT @ "v=spf1 mx:yourdomain.com -all".

Para mayor claridad, se recomienda que cualquier modificador redirect aparezca en el último término del registro.

El modificador exp dispone una explicación en el registro SPF.

exp=[macro-string]

Si una solicitud SPF produce un resultado fallido (FAIL), entonces se solicita dicha explicación y esta cadena de caracteres proporciona más información al usuario no conforme. La explicación se coloca generalmente en un registro o log SPF. Ejemplo: exp=spf-error. Un editor SPF puede especificar el texto de explicación que verá el remitente. De esta manera, el ISP puede dirigir a los usuarios que no cumplan a una página web que proporcione mayores instrucciones.

Consideraciones finales

Aunque no es necesario establecer un registro SPF en su servidor DNS para la evaluación de mensajes entrantes contra las políticas SPF publicadas en otros servidores DNS, es una buena práctica configurarlo. Configurar un registro SPF permite que otros servidores de correo electrónico usen el filtro SPF (si la característica está disponible en el servidor de correo) para proteger contra mensajes entrantes con spoofing o suplantación de identidad en direcciones de correo que podrían estar asociadas con su dominio. A medida que los registros SPF se implementen ampliamente, el filtrado SPF será más efectivo en la identificación de mensajes de spoofing.

Recursos adicionales

Puede consultar los siguientes recursos en busca de información adicional referente a este tema. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos certificar la actualidad o precisión de los contenidos externos.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...