¿Por qué validar la sintaxis DMARC antes de publicar?
Un registro DMARC mal formateado es ignorado silenciosamente por todos los servidores destinatarios. Gmail, Outlook, Yahoo: ninguno te alertará. Tus emails quedan sin protección contra el spoofing y phishing.
El validador de sintaxis DMARC analiza tu registro antes de la publicación DNS. Detectas los errores inmediatamente, sin esperar 24-48h de propagación para descubrir un problema.
Errores comunes detectados:
- Etiqueta v= faltante → El registro no se reconoce como DMARC
- Política p= ausente → Sin instrucciones de tratamiento para los servidores
- URI rua/ruf inválido → Los reportes nunca se reciben
- Etiquetas duplicadas → Comportamiento impredecible, frecuentemente ignorado
Cómo validar tu registro DMARC en 3 pasos
Paso 1: Copiar el registro DMARC
Prepara tu registro DMARC completo. Ejemplo típico:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@captaindns.com; adkim=r; aspf=r; pct=100
Si modificas un registro existente, recupera el valor actual desde tu DNS:
dig TXT _dmarc.captaindns.com +short
Paso 2: Pegar y validar
Pega el registro en el campo de arriba. La herramienta analiza:
- La presencia de etiquetas obligatorias (v, p)
- La validez de cada etiqueta y valor
- El formato de los URIs de reporte (rua, ruf)
- El cumplimiento de las especificaciones RFC 7489
Paso 3: Corregir y publicar
El diagnóstico lista cada etiqueta con su estado:
- ✅ Válido → Etiqueta correcta, lista para publicación
- ❌ Error → Corrección requerida antes de publicar
- ⚠️ Advertencia → Funcional pero mejora recomendada
Corrige los errores, valida nuevamente y luego publica en tu DNS.
¿Qué es un registro DMARC?
DMARC (Domain-based Message Authentication, Reporting and Conformance) es un registro TXT DNS publicado en _dmarc.tudominio.com. Indica a los servidores destinatarios:
- Qué política aplicar a los emails que fallan SPF y DKIM
- Dónde enviar los reportes de autenticación
- Cómo alinear los dominios SPF/DKIM con la dirección From
Estructura de un registro DMARC:
v=DMARC1; p=reject; rua=mailto:reports@captaindns.com; ruf=mailto:forensics@captaindns.com; adkim=s; aspf=s; pct=100
| Etiqueta | Valor | Significado |
|---|---|---|
| v | DMARC1 | Versión del protocolo (obligatoria) |
| p | reject | Política: rechazar emails no autenticados |
| rua | mailto:... | Destino de reportes agregados |
| ruf | mailto:... | Destino de reportes forenses |
| adkim | s | Alineación DKIM estricta |
| aspf | s | Alineación SPF estricta |
| pct | 100 | Aplicar al 100% de los mensajes |
Detalle de las etiquetas DMARC validadas
Etiquetas obligatorias
| Etiqueta | Valores aceptados | Descripción |
|---|---|---|
| v | DMARC1 | Identifica el registro como DMARC. Único valor válido. |
| p | none, quarantine, reject | Política para mensajes no alineados del dominio principal. |
Etiquetas opcionales
| Etiqueta | Valores aceptados | Descripción |
|---|---|---|
| sp | none, quarantine, reject | Política para subdominios (hereda de p si está ausente). |
| rua | URI mailto: o https: | Destinos de reportes agregados (XML diario). |
| ruf | URI mailto: o https: | Destinos de reportes forenses (por mensaje). |
| adkim | r (relaxed), s (strict) | Modo de alineación DKIM. Por defecto: relaxed. |
| aspf | r (relaxed), s (strict) | Modo de alineación SPF. Por defecto: relaxed. |
| pct | 1-100 | Porcentaje de mensajes sujetos a la política. Por defecto: 100. |
| fo | 0, 1, d, s | Opciones de generación de reportes forenses. |
| ri | Segundos | Intervalo deseado entre reportes agregados. Por defecto: 86400. |
| rf | afrf, iodef | Formato de reportes forenses. |
Errores de sintaxis frecuentes
Error 1: Registro sin v=DMARC1
Síntoma: El validador muestra "not_dmarc_record"
Causa: El registro no comienza con v=DMARC1
Corrección:
- p=reject; rua=mailto:reports@captaindns.com
+ v=DMARC1; p=reject; rua=mailto:reports@captaindns.com
Error 2: Política p= faltante
Síntoma: "missing_policy" o "empty_policy"
Causa: La etiqueta p= está ausente o vacía
Corrección:
- v=DMARC1; rua=mailto:reports@captaindns.com
+ v=DMARC1; p=none; rua=mailto:reports@captaindns.com
Error 3: URI rua/ruf inválido
Síntoma: "invalid_rua_uri" o "invalid_ruf_uri"
Causa: El URI no respeta el formato mailto: o https:
Ejemplos de corrección:
- rua=reports@captaindns.com # Falta mailto:
+ rua=mailto:reports@captaindns.com
- ruf="mailto:forensics@captaindns.com" # Comillas prohibidas
+ ruf=mailto:forensics@captaindns.com
- rua=mailto: reports@captaindns.com # Espacio prohibido
+ rua=mailto:reports@captaindns.com
Error 4: Etiqueta duplicada
Síntoma: "duplicate_tag"
Causa: Una etiqueta aparece varias veces
Corrección:
- v=DMARC1; p=none; p=reject; rua=mailto:reports@captaindns.com
+ v=DMARC1; p=reject; rua=mailto:reports@captaindns.com
Error 5: pct fuera de rango
Síntoma: "invalid_pct_value"
Causa: El valor pct no está entre 1 y 100
Corrección:
- v=DMARC1; p=reject; pct=0 # 0 inválido
+ v=DMARC1; p=reject; pct=10 # Mínimo 1
- v=DMARC1; p=reject; pct=150 # >100 inválido
+ v=DMARC1; p=reject; pct=100
Buenas prácticas de implementación DMARC
1. Comenzar con p=none
No pases directamente a p=reject. Comienza observando:
v=DMARC1; p=none; rua=mailto:dmarc@captaindns.com
Esta política no bloquea nada pero genera reportes. Analízalos durante 2-4 semanas.
2. Configurar rua desde el inicio
Los reportes agregados son esenciales para:
- Identificar fuentes legítimas que fallan la autenticación
- Detectar intentos de spoofing
- Validar la progresión hacia p=quarantine y luego p=reject
3. Progresión hacia p=reject
Una vez que SPF y DKIM estén alineados en todas las fuentes legítimas:
p=none→ Observar (2-4 semanas)p=quarantine; pct=10→ Probar con el 10% del tráficop=quarantine; pct=50→ Aumentar progresivamentep=quarantine; pct=100→ Cuarentena completap=reject→ Protección máxima
4. Gestionar subdominios con sp=
Por defecto, los subdominios heredan la política p. Si envías emails desde subdominios (marketing.captaindns.com), recuerda:
- Configurar SPF/DKIM en cada subdominio
- Usar
sp=si la política debe ser diferente
FAQ - Preguntas frecuentes
P: ¿Qué etiquetas DMARC son obligatorias?
R: Dos etiquetas son obligatorias: v=DMARC1 (versión) y p= (política). Sin estas etiquetas, el registro es inválido e ignorado por los servidores destinatarios. Todas las demás etiquetas son opcionales.
P: ¿Qué significa el error "política faltante"?
R: El registro no contiene la etiqueta p= que define la política. Agrega uno de los tres valores posibles:
p=none→ Sin acción, solo reportesp=quarantine→ Marcar como spamp=reject→ Rechazar el mensaje
P: ¿Cómo corrijo un error de URI rua/ruf?
R: Los URIs deben seguir el formato exacto mailto:direccion@dominio.com o https://endpoint. Errores comunes:
- Olvidar
mailto:antes de la dirección - Comillas alrededor del URI
- Espacios en la dirección
- Dirección de email inválida
P: ¿Cuál es la diferencia entre rua y ruf?
R:
- rua (reportes agregados): reportes diarios en formato XML, resumen estadístico
- ruf (reportes forenses): reporte por mensaje individual en fallo
Comienza solo con rua. Los reportes ruf generan mucho tráfico y pueden contener datos sensibles.
P: ¿Qué significa "pct fuera de rango"?
R: La etiqueta pct define el porcentaje de mensajes sujetos a la política p. Valores aceptados: 1 a 100. Si omites pct, la política se aplica al 100% de los mensajes (comportamiento por defecto).
P: ¿Por qué validar antes de publicar en DNS?
R: Un error de sintaxis hace que el registro sea inválido. Los servidores destinatarios lo ignoran silenciosamente: no recibes ninguna alerta, pero tus emails no tienen protección DMARC. Valida sistemáticamente antes de cada modificación DNS.
P: ¿El validador verifica la publicación DNS?
R: No, esta herramienta solo valida la sintaxis del registro. Para verificar que el registro esté correctamente publicado y propagado en el DNS, usa el Inspector DMARC después de la publicación.
Prepárese para DMARCbis
DMARCbis es el próximo Proposed Standard IETF que reemplaza al RFC 7489. Introduce nuevos tags (np, t, psd), elimina los tags obsoletos (pct, rf, ri) y reemplaza la Public Suffix List por un algoritmo tree walk DNS. Verifique la compatibilidad de su dominio con el DMARCbis Checker o genere un registro conforme con la herramienta de migración DMARCbis.
Herramientas complementarias
| Herramienta | Utilidad |
|---|---|
| Inspector DMARC | Verificar la publicación y resolver el registro DMARC desde DNS |
| Generador DMARC | Crear un registro DMARC conforme a las especificaciones |
| Inspector SPF | Validar el registro SPF de tu dominio |
| Inspector DKIM | Verificar la clave pública DKIM y la firma |
| Probador de email | Probar la autenticación completa enviando un email real |
| Monitoring DMARC | Monitoreo DMARC automatizado y continuo para tus dominios |
Recursos útiles
- RFC 7489 - Domain-based Message Authentication, Reporting and Conformance (DMARC) (especificación oficial)
- Google - Configurar DMARC (guía Gmail/Workspace)
- Microsoft - DMARC en Microsoft 365 (guía Outlook/M365)
- dmarc.org - Overview (documentación del consorcio DMARC)