Glossário

DMARC

Domain-based Message Authentication, Reporting and Conformance

Política publicada no DNS que instrui os servidores receptores sobre o que fazer com mensagens que usam o domínio no remetente e falham nas verificações de SPF e DKIM, e que envia relatórios de quem está enviando em nome do domínio.

Padrão
RFC 7489 (2015)
Publicado em
DNS, registro TXT em _dmarc.dominio
Depende de
SPF (RFC 7208) e DKIM (RFC 6376)
Políticas
none, quarantine, reject
Definição

O que DMARC significa

5 parágrafos · 2 min de leitura

DMARC (Domain-based Message Authentication, Reporting and Conformance) é uma política publicada no DNS do domínio que instrui os servidores de e-mail receptores sobre o que fazer com mensagens que usam o domínio no remetente e falham nas verificações de autenticação. Está definida na RFC 7489, de 2015, e depende de dois mecanismos anteriores: o SPF, que lista os servidores autorizados a enviar em nome do domínio, e o DKIM, que assina as mensagens com uma chave publicada no DNS.

Os três registros são publicados como TXT no DNS. O SPF fica no próprio domínio e lista endereços e serviços autorizados, terminando em uma instrução sobre o que fazer com os demais. O DKIM fica em um seletor, como selector1._domainkey.dominio, e contém a chave pública usada para verificar a assinatura. O DMARC fica em _dmarc.dominio e traz a política (p=), o endereço para relatórios (rua=) e, opcionalmente, a fração de mensagens sujeitas à política (pct=).

Ao receber uma mensagem, o servidor verifica se ela passa em SPF ou em DKIM e se o domínio verificado é o mesmo que aparece no campo De, o que se chama alinhamento. Se ao menos uma verificação passa alinhada, a mensagem é entregue. Se nenhuma passa, o servidor aplica a política do DMARC: com p=none, entrega e apenas reporta; com p=quarantine, encaminha para spam; com p=reject, recusa a mensagem.

Os relatórios agregados, enviados diariamente ao endereço em rua=, listam quais servidores enviaram mensagens com o domínio e o resultado das verificações em cada um. É com eles que a organização descobre serviços legítimos ainda não incluídos no SPF ou no DKIM, como plataformas de disparo e sistemas de cobrança, antes de tornar a política restritiva. A sequência usual é publicar p=none com relatórios, corrigir as fontes legítimas e então passar a p=quarantine e a p=reject.

Um domínio sem DMARC, ou com p=none por tempo indefinido, pode ser usado como remetente por qualquer servidor, e boa parte dos destinos aceita a mensagem. O cidguard verifica SPF, DKIM e DMARC de cada domínio a cada ciclo, aponta o que falta para a política chegar a p=reject e inclui o resultado no pilar de identidade da nota.

Zona DNS

Os três registros no DNS

Os três são registros TXT. O SPF e o DKIM autenticam; o DMARC decide o que acontece quando a autenticação falha e para onde vão os relatórios.

SPF
empresa.com.brTXTv=spf1 include:_spf.provedor-de-email.com -all

Lista os servidores autorizados a enviar em nome do domínio. O -all no final instrui a recusar os demais.

DKIM
selector1._domainkey.empresa.com.brTXTv=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A…

Chave pública que permite ao receptor verificar a assinatura de cada mensagem. O seletor identifica qual chave foi usada.

DMARC
_dmarc.empresa.com.brTXTv=DMARC1; p=reject; rua=mailto:dmarc@empresa.com.br; pct=100

A política aplicada quando as verificações falham (p=), o endereço que recebe os relatórios (rua=) e a fração de mensagens sujeita à política (pct=).

Decisão

O que o servidor receptor decide

A verificação acontece a cada mensagem recebida. Passar em SPF ou em DKIM não basta: o domínio verificado precisa ser o mesmo que aparece no campo De, o que se chama alinhamento.
A cada mensagem recebida

A mensagem passa em SPF ou em DKIM com o domínio alinhado ao remetente?

sim
EntregueA mensagem segue para a caixa de entrada. O resultado entra no relatório diário enviado ao domínio.
nãoAplica a política publicada em p=
p=none
Entrega e reportaNenhuma ação sobre a mensagem. Serve para observar as fontes de envio antes de restringir.
p=quarantine
Envia para spamA mensagem é entregue na pasta de spam ou de quarentena do destinatário.
p=reject
RecusaA mensagem não é entregue. É o estado esperado para um domínio protegido.
Continue por aqui

Termos e páginas relacionados