Sintaxis del registro SPF

por

Última actualización:
Tiempo de lectura: 5 minutos
Sintaxis del registro SPF

Puntos clave

  • Los registros SPF utilizan mecanismos, calificadores y modificadores para definir qué fuentes pueden enviar correos electrónicos en nombre de tu dominio.
  • Mecanismos como «include», «a», «mx», «ptr» y «exists» pueden activar búsquedas de DNS, mientras que «ip4», «ip6» y «all» no cuentan para el límite.
  • Los calificadores SPF determinan cómo gestionan los servidores receptores los remitentes que coinciden con ellos; -all indica «Fail» y ~all indica «SoftFail».
  • Un registro SPF puede provocar un PermError si supera el límite de 10 consultas DNS, lo que podría hacer que los correos electrónicos legítimos no superen la autenticación SPF.
  • Un dominio solo debe tener un registro SPF, y los errores de sintaxis —como la ausencia de «v=spf1», un formato incorrecto o el uso del comando «ptr», que ya no se utiliza— pueden provocar problemas de autenticación.

Un registro SPF es una cadena de texto única publicada como registro TXT del DNS. Actúa como un conjunto de reglas que definen exactamente qué direcciones IP están autorizadas a enviar correos electrónicos en nombre de tu dominio. Un registro con el formato adecuado siempre comienza con una etiqueta de versión, seguida de uno o varios mecanismos, y concluye con una regla de aplicación.

A continuación se muestra un registro SPF estándar desglosado en sus distintas partes:

v=spf1 ip4:192.0.2.0/24 include:_spf.google.com ~all

  • v=spf1: La etiqueta de versión que inicia el registro.
  • ip4:192.0.2.0/24: Mecanismo que autoriza un rango específico de direcciones IPv4.
  • incluir:_spf.google.com: Un mecanismo asociado a un dominio que apunta a la lista de direcciones IP autorizadas de un remitente externo.
  • ~todos: El calificador (~) y el mecanismo (all) que determinan la política de recurso para los remitentes no autorizados.

Si necesitas crear una nueva entrada para tu dominio, utiliza un generador de registros SPF para generar automáticamente la cadena exacta.

Mecanismos SPF

Los mecanismos son los componentes básicos de tu registro SPF. Indican al servidor de correo receptor cómo identificar las fuentes de envío autorizadas.

MecanismoCon qué combinaEjemploCuenta para el límite de 10 búsquedas
todoSiempre coincide. Se utiliza al final de un registro como regla general para cualquier dirección IP que no haya sido identificada por los mecanismos anteriores.~todosNo
incluyeCoincide si la dirección IP del remitente está autorizada por la política SPF del dominio especificado.incluir:_spf.google.com
aSe produce una coincidencia si la IP del remitente coincide con la dirección IP asociada al registro DNS A o AAAA del dominio.a:example.com
mxSe aplica si la dirección IP del remitente coincide con cualquiera de las direcciones IP que figuran en los registros MX del dominio.mx:ejemplo.com
ip4Coincide si la dirección IP del remitente se encuentra exactamente dentro del rango de red o subred IPv4 definido.IPv4: 192.0.2.0/24No
ip6Coincide si la dirección IP del remitente se encuentra exactamente dentro del rango de la red o subred IPv6 definido.ip6:2001:db8::/32No
ptrCoincide si el DNS inverso de la dirección IP apunta al dominio especificado. (Esta opción está obsoleta y se desaconseja encarecidamente debido a la carga que supone para el rendimiento).ptr:example.com
existeSe cumple si un registro A de DNS se resuelve correctamente para el nombre de dominio especificado.existe:example.com

El mecanismo «include»

El mecanismo «include» es uno de los componentes más utilizados en la autenticación moderna del correo electrónico. Indica a los servidores receptores que consulten y evalúen las reglas SPF de un servicio de terceros, como Google Workspace, Microsoft 365 o una plataforma de marketing. Si ese proveedor externo actualiza las direcciones IP de sus propios servidores, tu registro seguirá siendo válido sin necesidad de actualizaciones manuales.

El mecanismo completo

El mecanismo «all», que siempre se coloca al final de la cadena, actúa como la regla por defecto definitiva. Captura cualquier dirección IP del remitente que no haya coincidido con los mecanismos anteriores del registro. Para que sea efectivo, debe ir acompañado de un calificador (como «–» o «~») que indique al servidor receptor si debe rechazar o aceptar el correo no autorizado.

El mecanismo a

Este mecanismo autoriza la dirección IP asociada al registro A o AAAA de un dominio. Resulta especialmente útil cuando el servidor web que aloja tu sitio web principal también se utiliza para enviar correos electrónicos salientes, como notificaciones de formularios de contacto del sitio web o alertas del sistema.

El mecanismo mx

Si los servidores designados para recibir tu correo entrante (tal y como figuran en tus registros MX) también se encargan de enviar tus mensajes salientes, el mecanismo MX es la opción adecuada. Este mecanismo autoriza a esas direcciones IP específicas de los servidores de correo entrante a enviar correo saliente en nombre del dominio.

Calificadores SPF

Los calificadores actúan como prefijos asociados a los mecanismos (normalmente, el mecanismo «all»). Determinan exactamente cómo debe tratar el servidor receptor un correo electrónico cuando la dirección IP del remitente coincide con el mecanismo.

CalificadorResultadoSignificadoEjemplo
+PasarLa dirección IP está totalmente autorizada para enviar correos electrónicos. El símbolo «+» es opcional y se considera incluido por defecto.+todo
-FallaLa dirección IP no está autorizada en absoluto. El correo electrónico debe rechazarse por completo.-todos
~SoftfailLa dirección IP no está autorizada, pero el correo electrónico se acepta y, por lo general, se marca como spam o se pone en cuarentena.~todos
?NeutralNo se establece ninguna política explícita. El correo electrónico se trata como si no se aplicara ninguna regla SPF.?todos

Modificadores SPF

Los modificadores aportan instrucciones adicionales o detalles contextuales al registro SPF. Son opcionales y solo deben aparecer una vez, normalmente al final de la cadena.

ModificadorQué haceEjemploNotas
redirigirIndica al servidor receptor que ignore las reglas actuales y utilice, en su lugar, el registro SPF de otro dominio.v=spf1 redirect=example.comLa redirección se ignora por completo si en el registro también aparece un mecanismo «all».
expEspecifica un dominio personalizado que aloja un registro TXT que ofrece una explicación cuando falla una comprobación SPF.exp=explain.example.comRara vez se utiliza en las configuraciones modernas de autenticación de correo electrónico y, a menudo, los principales servidores receptores lo ignoran.

Resultados de la evaluación del SPF

Cuando un servidor de correo receptor procesa un mensaje entrante comparándolo con tu registro SPF, devolverá uno de los siete resultados de evaluación estandarizados en función de tu sintaxis.

ResultadoQué significaLo que suele hacer el receptor
PasarLa dirección IP del remitente ha coincidido correctamente con un mecanismo autorizado de tu registro.Acepta el correo electrónico, a la espera de nuevas comprobaciones de DMARC, DKIM y de spam en general.
FallaLa dirección IP del remitente coincidía con un mecanismo que llevaba el calificador «-».Descarta o rechaza el correo electrónico a nivel del servidor antes de que llegue a la bandeja de entrada.
SoftFailLa dirección IP del remitente coincidía con un mecanismo que llevaba el calificador «~».Acepta el correo electrónico, pero lo marca como sospechoso y, a menudo, lo envía a la carpeta de correo no deseado.
NeutralLa dirección IP del remitente coincidía con un calificador «?», o bien el registro no permitía llegar a una conclusión definitiva.Procesa el correo electrónico basándose estrictamente en los criterios del propio filtro antispam del servidor.
NingunoNo se ha encontrado ningún registro SPF válido para el dominio en cuestión.Considera el correo electrónico como no autenticado, lo que perjudica gravemente la capacidad de entrega.
PermErrorEl registro contiene un error de sintaxis permanente o supera el límite de 10 consultas.Falla inmediatamente la comprobación del SPF, lo que hace que el correo electrónico se considere no autenticado y, probablemente, sea rechazado.
Error de temperaturaUn tiempo de espera temporal del DNS o una interrupción de la red impidieron que se completara la comprobación.Aplaza momentáneamente el envío del correo electrónico e intenta volver a comprobarlo más tarde.

El límite de 10 consultas de DNS

Para evitar que los atacantes utilicen el SPF para lanzar ataques de denegación de servicio contra servidores DNS, la especificación del SPF impone un límite estricto. Un servidor receptor realizará un máximo de 10 consultas DNS para evaluar un único registro SPF.

Entre los mecanismos que requieren una consulta DNS en segundo plano se incluyen «include», «a», «mx», «ptr», «exists» y el modificador «redirect». Es importante destacar que mecanismos como «ip4», «ip6» y «all» funcionan al instante sin necesidad de consultas DNS, lo que significa que no se contabilizan en tu límite.

Si tu configuración supera las 10 consultas, los servidores receptores devolverán inmediatamente un error «SPF PermError». Esto invalida por completo tu política y provoca que los correos electrónicos legítimos no superen la autenticación. Las organizaciones que recurren a varios proveedores de correo electrónico externos (como un CRM, un servicio de atención al cliente o una plataforma de automatización de marketing) pueden alcanzar este umbral con mucha facilidad.

Para solucionar esta limitación, puedes implementar el solución SPF alojada de PowerDMARC. Esta solución condensa los mecanismos de tu dominio de terceros en direcciones IP simples, lo que reduce al instante el número de consultas. También deberías someter tu dominio a un comprobador de registros SPF para medir el total actual de consultas y detectar vulnerabilidades antes de que afecten a la capacidad de entrega. 

Comprueba tu SPF actual: búsqueda en segundos

Errores comunes en la sintaxis de SPF

Para crear un registro SPF que cumpla con los requisitos, es necesario respetar al pie de la letra las normas de formato. Un solo carácter fuera de lugar puede hacer que falle la autenticación. Estos son los errores sintácticos más frecuentes:

  • Más de un registro SPF en un dominio: Un dominio debe publicar exactamente un registro TXT que comience por v=spf1. La publicación de varios registros provoca un PermError inmediato.
  • Falta «v=spf1»: Si la cadena no comienza con esta etiqueta de versión exacta, los servidores receptores simplemente ignorarán el registro TXT.
  • Uso de +all: Esta combinación indica que, literalmente, todas las direcciones IP de Internet están autorizadas a enviar correos electrónicos en tu nombre, lo que, en la práctica, hace que el registro sea inútil.
  • PTR de seguimiento: El mecanismo ptr supone una carga enorme para los servidores receptores. Está oficialmente en desuso y, si se incluye, provocará problemas de rendimiento.
  • Se han superado las 10 consultas: Anidar demasiadas instrucciones «include» supera el límite de consultas DNS e invalida automáticamente el registro.
  • Espacios o dos puntos que faltan en los mecanismos: Los errores de formato, como escribir «include _spf.google.com» en lugar de la forma correcta «include:_spf.google.com», provocarán un error en la lectura de la sintaxis.

[MANTENER IGUAL: bloques de CTA existentes]

Preguntas frecuentes

¿Cuál es la sintaxis correcta del registro SPF?

Un registro SPF debe publicarse como un registro TXT de DNS que comience con la etiqueta de versión «v=spf1», seguida de las direcciones IP o mecanismos autorizados, separados por espacios, y que concluya con un mecanismo de reserva estricto, como «~all» o «-all».

¿Qué significa «~all» en un registro SPF?

El mecanismo «~all» indica una política de recambio SoftFail. Indica a los servidores receptores que cualquier dirección IP de remitente que no figure explícitamente en tu registro no está autorizada, pero que, aun así, el correo electrónico debe aceptarse y redirigirse a la carpeta de correo no deseado del destinatario.

¿Cuál es la diferencia entre «include» y «redirect»?

El mecanismo «include» evalúa las reglas SPF de otro dominio junto con las tuyas propias, lo que te permite combinar varias fuentes de envío. El modificador «redirect» indica al servidor receptor que ignore por completo tu registro y utilice, en su lugar, el registro SPF del dominio especificado.

¿Cómo puedo comprobar la sintaxis de mi registro SPF?

Puedes comprobar el formato y calcular el número de consultas activas introduciendo tu dominio en un verificador gratuito de registros SPF. Este te indicará al instante los errores sintácticos, los mecanismos obsoletos y las infracciones de los límites.

¿Puedo tener dos registros SPF?

No, publicar varios registros SPF para un mismo dominio incumple el protocolo básico. Si un servidor receptor detecta más de un registro que comience por «v=spf1», devolverá inmediatamente un PermError y rechazará la autenticación.

Sintaxis de SPF