O que é DMARC?
DMARC (Domain-based Message Authentication, Reporting & Conformance) é um protocolo de autenticação de email que se baseia em SPF e DKIM. Permite que proprietários de domínio publiquem uma política especificando como servidores receptores devem manipular mensagens que falharam na autenticação, e fornece mecanismos de relatório para monitorar autenticação de email.
Por que DMARC é Essencial
SPF e DKIM sozinhos têm uma lacuna crítica: eles não dizem aos receptores o que fazer com mensagens falhadas. Um atacante pode enviar email falsificado sem SPF/DKIM, e receptores não têm orientação.
DMARC resolve isto por:
- Definir política: Rejeitar, colocar em quarentena ou permitir mensagens falhadas
- Exigir alinhamento: O header From deve combinar com domínios SPF/DKIM
- Habilitar relatórios: Relatórios agregados e forenses mostram resultados de autenticação
Como DMARC Funciona
1. Remetente publica política DMARC em DNS (registro TXT em _dmarc.domínio.com)
2. Email é enviado com From: user@domínio.com
3. Receptor verifica SPF e DKIM
4. Receptor verifica alinhamento: O domínio autenticado combina com From header?
5. Política aplicada: Baseado em registro DMARC (none, quarantine, reject)
6. Relatórios enviados: Relatórios agregados para endereços especificados
Alinhamento de DMARC
DMARC exige "alinhamento"—o domínio no header From deve combinar com:
- Alinhamento SPF: O domínio do remetente (MAIL FROM)
- Alinhamento DKIM: O domínio d= na assinatura DKIM
Sem alinhamento, SPF/DKIM passam mas DMARC falha.
Formato de Registro DMARC
Registros DMARC são registros TXT em _dmarc.seudomínio.com:
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
Tags de DMARC
| Tag | Exigido | Descrição | Exemplo |
|---|---|---|---|
| v | Sim | Versão | v=DMARC1 |
| p | Sim | Política | p=none/quarantine/reject |
| rua | Não | URI de relatório agregado | rua=mailto:reports@example.com |
| ruf | Não | URI de relatório forense | ruf=mailto:forensic@example.com |
| pct | Não | Percentual de política | pct=100 |
| sp | Não | Política de subdomínio | sp=reject |
| adkim | Não | Modo de alinhamento DKIM | adkim=s (strict) ou adkim=r (relaxed) |
| aspf | Não | Modo de alinhamento SPF | aspf=s ou aspf=r |
Políticas de DMARC
p=none: Apenas monitorar—não tomar ação em mensagens falhadasv=DMARC1; p=none; rua=mailto:dmarc@example.com
p=quarantine: Enviar mensagens falhadas para spam/junk
v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com
p=reject: Rejeitar mensagens falhadas completamente
v=DMARC1; p=reject; rua=mailto:dmarc@example.com
Caminho de Implementação de DMARC
Fase 1: Monitorar (p=none)
Comece com monitoramento para entender seu ecossistema de email:
v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com
Analise relatórios por 2-4 semanas para identificar:
- Serviços de envio legítimos faltando SPF/DKIM
- Remetentes não autorizados (spoofing)
- Problemas de alinhamento
Fase 2: Quarentena (p=quarantine)
Uma vez que fontes legítimas estão autenticadas:
v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc-reports@example.com
Use pct=10 para colocar em quarentena apenas 10% inicialmente, aumentando gradualmente.
Fase 3: Rejeitar (p=reject)
Proteção completa:
v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com
Relatórios de DMARC
Relatórios Agregados (rua)
Relatórios diários XML mostrando resultados de autenticação em todo seu email:
- Volume de email
- Taxas de pass/fail para SPF, DKIM, DMARC
- Endereços IP de envio
- Organizações receptoras
Relatórios Forenses (ruf)
Relatórios de falha individual (nem todos os receptores enviam esses devido a privacidade):
- Headers de mensagem completos
- Detalhes de falha de autenticação
Processamento de Relatório
Relatórios DMARC brutos são XML e difíceis de ler. Use serviços como:
- DMARC Analyzer
- Dmarcian
- Valimail
- Postmark DMARC
Verificando DMARC
dig _dmarc.example.com TXT
curl "https://domscan.net/v1/health?domain=example.com"
# Retorna status hasDMARC
Problemas Comuns com DMARC
Nenhum relatório recebido: Garanta que endereço rua possa receber emails grandes; alguns provedores filtram. Email legítimo falhando: Verificar configuração SPF/DKIM para todos os serviços de envio; verificar alinhamento. Serviços de terceiros falhando: Muitos serviços exigem configuração DKIM customizada para alinhamento DMARC.DMARC é a pedra angular da autenticação de email—implemente-o após SPF e DKIM estarem funcionando corretamente.