¿Por qué inspeccionar un registro SPF publicado?
El registro SPF (Sender Policy Framework) publicado en tu DNS define qué servidores pueden enviar correos para tu dominio. Pero una vez publicado, puede cambiar sin que lo sepas: proveedores que modifican sus includes, límites de lookups alcanzados, propagación DNS incompleta.
Tres casos de uso principales:
- Después de publicar -> Verifica que el DNS devuelve tu SPF y los includes se resuelven
- Diagnóstico de entregabilidad -> Identifica por qué los destinatarios ven SPF fail o permerror
- Auditoría periódica -> Detecta derivas (lookups que aumentan, includes obsoletos)
Inspector SPF vs Validador de sintaxis
| Criterio | Validador de sintaxis | Inspector SPF |
|---|---|---|
| Cuándo usarlo | ANTES de publicar | DESPUÉS de publicar |
| Fuente de datos | Texto pegado manualmente | DNS en directo |
| Resolución de includes | No (solo sintaxis) | Sí (recursivo completo) |
| Conteo de lookups | Estimado | Real (con resolución) |
| Detección errores DNS | No | Sí (NXDOMAIN, timeout, CNAME) |
Flujo recomendado:
- Redacta tu SPF
- Valida la sintaxis con el Validador SPF
- Publica en tu DNS
- Inspecciona con esta herramienta para confirmar la propagación y el conteo real
¿Qué analiza exactamente el inspector?
Resolución DNS en directo
El inspector consulta el DNS para recuperar:
- Todos los registros TXT del dominio
- Filtrado de registros que empiezan por
v=spf1 - Detección de anomalías (varios SPF, CNAME en el camino)
Expansión recursiva de includes
Para cada include: encontrado, la herramienta:
- Resuelve el dominio destino
- Recupera su registro SPF
- Cuenta el lookup en el presupuesto de 10
- Repite recursivamente hasta los mecanismos finales
Ejemplo de árbol de resolución:
captaindns.com
├── include:_spf.google.com (1 lookup)
│ ├── include:_netblocks.google.com (2 lookups)
│ ├── include:_netblocks2.google.com (3 lookups)
│ └── include:_netblocks3.google.com (4 lookups)
└── include:servers.mcsv.net (5 lookups)
└── ip4:205.201.128.0/20 (sin lookup)
Diagnósticos devueltos
| Código | Descripción | Severidad |
|---|---|---|
lookup_no_spf | Ningún registro SPF encontrado | Error |
lookup_bad_rcode | Error DNS (NXDOMAIN, SERVFAIL) | Error |
lookup_multiple_spf | Varios registros SPF | Error |
lookup_limit_exceeded | Más de 10 lookups DNS | Error |
lookup_cycle | Bucle de referencia detectado | Error |
void_lookup_limit_exceeded | Más de 2 respuestas vacías | Error |
permissive_all | Política +all (autoriza a todos) | Advertencia |
softfail_all | Política ~all sin endurecimiento | Advertencia |
Casos de uso concretos
Caso 1: Verificación post-publicación
Situación: Acabas de publicar un nuevo SPF para captaindns.com.
Acción: Ejecuta la inspección para verificar:
- ✅ El registro es visible en el DNS
- ✅ Todos los includes se resuelven correctamente
- ✅ El total de lookups está por debajo de 10
Caso 2: Diagnóstico de fallo SPF
Síntoma: Los destinatarios ven SPF fail en tus correos.
Diagnóstico: El inspector revela:
- El servidor de envío (IP 203.0.113.50) no está en el SPF
- El include del proveedor cambió sin notificación
Acción: Añadir la IP o actualizar el include.
Caso 3: Permerror misterioso
Síntoma: SPF permerror intermitente en algunos destinatarios.
Diagnóstico: El inspector cuenta 11 lookups:
captaindns.com: 11 lookups (límite: 10)
├── include:_spf.google.com (4 lookups)
├── include:spf.protection.outlook.com (3 lookups)
├── include:amazonses.com (2 lookups)
└── include:sendgrid.net (2 lookups)
Acción: Reemplazar algunos includes por ip4/ip6 directos, usar un subdominio dedicado o aplanar tu SPF con el SPF Flattener.
Caso 4: Auditoría de seguridad periódica
Situación: Auditoría trimestral de la configuración de correo.
Verificación:
- El SPF usa
-all(hard fail) y no~all(soft fail) - Ningún include hacia dominios abandonados
- Los rangos IP corresponden a los servidores activos
- El contador de lookups tiene margen de seguridad (≤8 recomendado)
FAQ - Preguntas frecuentes
P: ¿Cuál es la diferencia entre el inspector SPF y el validador de sintaxis?
R: El validador de sintaxis verifica un registro SPF ANTES de publicar (sin conexión, texto pegado). El inspector analiza un SPF YA PUBLICADO consultando el DNS en directo y resolviendo recursivamente todos los includes.
P: ¿Cuántos lookups DNS se permiten para SPF?
R: La RFC 7208 limita la evaluación SPF a 10 lookups DNS. Cada include, a, mx, ptr y exists cuenta. El inspector muestra el total real tras la resolución recursiva.
P: ¿Por qué mi SPF muestra "permerror"?
R: Un permerror ocurre cuando:
- Más de 10 lookups DNS
- Bucle de referencia (A incluye B que incluye A)
- Sintaxis inválida
- Más de 2 respuestas DNS vacías
El inspector identifica la causa exacta.
P: ¿Cómo resuelve la herramienta los includes?
R: El inspector sigue cada include: recursivamente: recupera el SPF del dominio destino, cuenta el lookup y repite hasta los mecanismos finales (ip4, ip6) o hasta alcanzar el límite.
P: ¿Puedo probar con diferentes resolveres DNS?
R: Sí. Elige Google (8.8.8.8), Cloudflare (1.1.1.1) o un resolver personalizado para verificar la propagación y confirmar que todos los servidores ven la misma política.
P: ¿Qué hacer si el inspector no encuentra un SPF?
R: Verifica en tu interfaz DNS que:
- Existe un registro TXT
- Empieza por
v=spf1 - Solo hay un SPF (varios = permerror)
- La propagación DNS está completa (puede tardar hasta 48h)
P: ¿El inspector también valida la sintaxis?
R: Sí, el inspector valida la sintaxis de cada SPF encontrado. Pero para probar un borrador ANTES de publicar, usa el Validador de sintaxis SPF.
Herramientas complementarias
| Herramienta | Utilidad |
|---|---|
| Generador SPF | Crear un registro SPF con proveedores preconfigurados |
| SPF Flattener | Aplanar tu SPF para cumplir el límite de 10 DNS lookups |
| Validador sintaxis SPF | Probar sintaxis ANTES de publicar |
| Inspector DKIM | Validar tu firma DKIM |
| Inspector DMARC | Configurar y probar tu política DMARC |
| Analizador de encabezados email | Diagnosticar SPF/DKIM/DMARC en un correo recibido |
Recursos útiles
- RFC 7208 - Sender Policy Framework (especificación oficial SPF)
- Google - Configurar SPF (guía Google Workspace)
- Microsoft - SPF para Microsoft 365 (guía Outlook/M365)