O que é DMARC?
DMARC (Domain-based Message Authentication, Reporting & Conformance) é um protocolo de autenticação de e-mail que verifica se um domínio autenticado por SPF ou DKIM está alinhado com o domínio no endereço From de uma mensagem. O proprietário de um domínio pode publicar uma preferência de tratamento solicitada para mensagens que falham na validação do DMARC e solicitar relatórios agregados ou relatórios de falha específicos da mensagem.
Por que o DMARC é essencial
SPF e DKIM autenticam identificadores de envio. Sozinhos, eles não verificam se um identificador autenticado está alinhado com o domínio no endereço From nem informam a preferência de tratamento do proprietário do domínio para mensagens que falham.
O DMARC resolve isso ao:
- Definir uma preferência de tratamento: none, quarantine ou reject para mensagens que falham no DMARC
- Verificar o alinhamento: pelo menos um identificador SPF ou DKIM autenticado deve estar alinhado com o domínio From
- Solicitar relatórios: relatórios agregados e relatórios de falha específicos da mensagem fornecem informações sobre os resultados de autenticação observados
Como o DMARC funciona
1. O remetente publica a política DMARC no DNS (registro TXT em _dmarc.domain.com)
2. O e-mail é enviado com From: [email protected]
3. O receptor verifica SPF e DKIM
4. O receptor verifica o alinhamento: o domínio autenticado corresponde ao cabeçalho From?
5. Decisão de tratamento: o receptor considera a política solicitada e outros sinais
6. Os relatórios podem ser enviados: os receptores participantes podem enviar os relatórios agregados ou os relatórios de falha específicos da mensagem solicitados
Alinhamento do DMARC
O DMARC exige alinhamento: o domínio no cabeçalho From deve estar alinhado com pelo menos um identificador autenticado de acordo com o modo relaxado ou estrito do registro:
- Alinhamento SPF: o domínio MAIL FROM validado pelo SPF ou o domínio HELO quando MAIL FROM é nulo
- Alinhamento DKIM: o domínio d= em uma assinatura DKIM válida
Sem alinhamento, SPF ou DKIM podem passar, enquanto o DMARC falha. O DMARC trata diretamente de formas específicas de falsificação que usam o domínio exato do endereço From. Ele não detecta domínios visualmente semelhantes nem o uso indevido do nome de exibição do remetente.
Formato do registro DMARC
Os registros DMARC são registros TXT em _dmarc.yourdomain.com:
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
Tags do DMARC
| Tag | Obrigatório | Descrição | Exemplo |
|---|---|---|---|
| v | Sim | Versão | v=DMARC1 |
| p | Recomendado (opcional) | Preferência de tratamento solicitada para e-mails que falham na validação do DMARC | p=none/quarantine/reject |
| rua | Não | URI de relatório agregado | rua=mailto:[email protected] |
| ruf | Não | URI de relatório de falha específico da mensagem | ruf=mailto:[email protected] |
| t | Não | Modo de teste da política | t=y or t=n |
| sp | Não | Política solicitada para subdomínios existentes | sp=reject |
| np | Não | Política solicitada para subdomínios inexistentes | np=reject |
| adkim | Não | Modo de alinhamento DKIM | adkim=s (strict) or adkim=r (relaxed) |
| aspf | Não | Modo de alinhamento SPF | aspf=s or aspf=r |
A tag pct é histórica. O padrão atual do DMARC não a usa mais para aplicar uma política a uma porcentagem de mensagens que falham. A tag p é recomendada, mas opcional; um registro válido em todos os outros aspectos, sem essa tag, é tratado como p=none.
Políticas do DMARC
p=none: não expressa uma preferência de tratamento para mensagens que falham. Os proprietários de domínios costumam usá-la enquanto analisam os relatórios.v=DMARC1; p=none; rua=mailto:[email protected]
p=quarantine: solicita que os receptores tratem as mensagens que falham na validação do DMARC como suspeitas.
v=DMARC1; p=quarantine; rua=mailto:[email protected]
p=reject: solicita que os receptores rejeitem as mensagens que falham na validação do DMARC. Os receptores consideram essa preferência junto com outros sinais, portanto ela não garante que as mensagens sejam rejeitadas.
v=DMARC1; p=reject; rua=mailto:[email protected]
Etapas de implementação do DMARC
Fase 1: Monitoramento (p=none)
Comece pelo monitoramento para entender seu ecossistema de e-mail:
v=DMARC1; p=none; rua=mailto:[email protected]
Analise os relatórios para identificar:
- Serviços legítimos de envio sem SPF/DKIM
- Remetentes não autorizados (falsificação)
- Problemas de alinhamento
Fase 2: Quarentena (p=quarantine)
Depois que as fontes legítimas estiverem autenticadas:
v=DMARC1; p=quarantine; rua=mailto:[email protected]
Revise os relatórios e confirme que o e-mail legítimo está autenticado antes de escolher uma política mais rígida. O padrão atual do DMARC não define uma implantação gradual por porcentagem.
Fase 3: Rejeição (p=reject)
Solicite a rejeição das mensagens que falham na validação do DMARC:
v=DMARC1; p=reject; rua=mailto:[email protected]
Relatórios do DMARC
Relatórios agregados (rua)
Recomenda-se que os receptores enviem relatórios XML agregados diariamente ou com maior frequência. Os relatórios resumem os fluxos de mensagens observados, portanto a disponibilidade e a cobertura dependem dos receptores que enviam relatórios:
- Volume de e-mails
- Taxas de aprovação e falha para SPF, DKIM e DMARC
- Endereços IP de envio
- Organizações destinatárias
Relatórios de falha (ruf)
Os relatórios específicos da mensagem podem incluir cabeçalhos ou conteúdo da mensagem. Nem todos os receptores os enviam, muitas vezes por questões de privacidade:
- Detalhes da falha de autenticação
Processamento de relatórios
Os relatórios agregados do DMARC estão em XML e podem ser difíceis de ler. Use serviços como:
- DMARC Analyzer
- Dmarcian
- Valimail
- Postmark DMARC
Como verificar o DMARC
A API de autenticação de e-mail da DomScan, que exige autenticação, custa 3 créditos por domínio e retorna o registro DMARC e as tags analisadas.
dig _dmarc.example.com TXT
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/email-auth?domain=example.com"
# Check dmarc.record and dmarc.tags in the JSON response
Problemas comuns do DMARC
Nenhum relatório recebido: confirme que o endereço de relatório definido em rua pode receber e-mails grandes; alguns provedores fazem filtragem. Falha em e-mail legítimo: verifique a configuração de SPF/DKIM de todos os serviços de envio; confirme o alinhamento. Falha em serviços de terceiros: muitos serviços exigem uma configuração personalizada de DKIM para o alinhamento do DMARC.O DMARC acrescenta alinhamento, uma preferência de tratamento solicitada e relatórios ao SPF e ao DKIM. Revise suas fontes de envio e seus relatórios antes de solicitar um tratamento mais rigoroso.