¿Qué es DMARC?
DMARC (Autenticación de Mensajes basada en Dominio, Reportes y Conformidad) es un protocolo de autenticación de correo que se basa en SPF y DKIM. Permite a los propietarios de dominios publicar una política especificando cómo los servidores receptores deben manejar los mensajes que fallan la autenticación, y proporciona mecanismos de reportes para monitorear la autenticación de correo.
Por qué DMARC es esencial
SPF y DKIM por sí solos tienen una brecha crítica: no dicen a los receptores qué hacer con mensajes que fallan. Un atacante puede enviar correo suplantado sin SPF/DKIM, y los receptores no tienen orientación.
DMARC soluciona esto por:
- Definir política: Rechazar, poner en cuarentena, o permitir mensajes que fallan
- Requerir alineación: El encabezado From debe coincidir con dominios SPF/DKIM
- Habilitar reportes: Los reportes agregados y forenses muestran resultados de autenticación
Cómo funciona DMARC
1. El remitente publica la política DMARC en DNS (registro TXT en _dmarc.dominio.com)
2. Se envía el correo con From: usuario@dominio.com
3. El receptor verifica SPF y DKIM
4. El receptor verifica la alineación: ¿El dominio autenticado coincide con el encabezado From?
5. Se aplica la política: Basado en el registro DMARC (none, quarantine, reject)
6. Se envían reportes: Reportes agregados a las direcciones especificadas
Alineación de DMARC
DMARC requiere "alineación"—el dominio en el encabezado From debe coincidir con:
- Alineación SPF: El dominio del remitente del sobre (MAIL FROM)
- Alineación DKIM: El dominio d= en la firma DKIM
Sin alineación, SPF/DKIM pasan pero DMARC falla.
Formato del registro DMARC
Los registros DMARC son registros TXT en _dmarc.tudominio.com:
_dmarc.ejemplo.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@ejemplo.com"
Etiquetas DMARC
| Etiqueta | Requerida | Descripción | Ejemplo |
|---|---|---|---|
| v | Sí | Versión | v=DMARC1 |
| p | Sí | Política | p=none/quarantine/reject |
| rua | No | URI de reporte agregado | rua=mailto:reports@ejemplo.com |
| ruf | No | URI de reporte forense | ruf=mailto:forensic@ejemplo.com |
| pct | No | Porcentaje de política | pct=100 |
| sp | No | Política de subdominio | sp=reject |
| adkim | No | Modo de alineación DKIM | adkim=s (estricto) o adkim=r (relajado) |
| aspf | No | Modo de alineación SPF | aspf=s o aspf=r |
Políticas DMARC
p=none: Solo monitorear—no tomar acción sobre mensajes que fallanv=DMARC1; p=none; rua=mailto:dmarc@ejemplo.com
p=quarantine: Enviar mensajes que fallan a spam/basura
v=DMARC1; p=quarantine; rua=mailto:dmarc@ejemplo.com
p=reject: Rechazar completamente los mensajes que fallan
v=DMARC1; p=reject; rua=mailto:dmarc@ejemplo.com
Ruta de implementación de DMARC
Fase 1: Monitorear (p=none)
Comienza con monitoreo para entender tu ecosistema de correo:
v=DMARC1; p=none; rua=mailto:dmarc-reports@ejemplo.com
Analiza reportes durante 2-4 semanas para identificar:
- Servicios de envío legítimos sin SPF/DKIM
- Remitentes no autorizados (suplantación)
- Problemas de alineación
Fase 2: Cuarentena (p=quarantine)
Una vez que las fuentes legítimas están autenticadas:
v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@ejemplo.com
Usa pct=10 para poner en cuarentena solo el 10% inicialmente, aumentando gradualmente.
Fase 3: Rechazo (p=reject)
Protección completa:
v=DMARC1; p=reject; rua=mailto:dmarc-reports@ejemplo.com
Reportes DMARC
Reportes agregados (rua)
Reportes XML diarios mostrando resultados de autenticación en todo tu correo:
- Volumen de correo
- Tasas de pass/fail para SPF, DKIM, DMARC
- Direcciones IP de envío
- Organizaciones receptoras
Reportes forenses (ruf)
Reportes de fallos individuales (no todos los receptores envían estos por privacidad):
- Encabezados completos del mensaje
- Detalles de fallos de autenticación
Procesamiento de reportes
Los reportes DMARC sin procesar son XML y difíciles de leer. Usa servicios como:
- DMARC Analyzer
- Dmarcian
- Valimail
- Postmark DMARC
Verificación de DMARC
dig _dmarc.ejemplo.com TXT
curl "https://domscan.net/v1/health?domain=ejemplo.com"
# Devuelve el estado hasDMARC
Problemas comunes de DMARC
No se reciben reportes: Asegúrate de que la dirección rua pueda recibir correos grandes; algunos proveedores filtran. Correo legítimo falla: Verifica la configuración de SPF/DKIM para todos los servicios de envío; verifica la alineación. Servicios de terceros fallan: Muchos servicios requieren configuración DKIM personalizada para alineación DMARC.DMARC es la piedra angular de la autenticación de correo—impleméntalo después de que SPF y DKIM estén funcionando correctamente.