Che cos'è DMARC?
DMARC (Domain-based Message Authentication, Reporting & Conformance) è un protocollo di autenticazione delle email che verifica se un dominio autenticato tramite SPF o DKIM è allineato al dominio nell'indirizzo From di un messaggio. Il proprietario di un dominio può pubblicare una preferenza su come gestire i messaggi che non superano la convalida DMARC e richiedere report aggregati o report sui fallimenti relativi a singoli messaggi.
Perché DMARC è essenziale
SPF e DKIM autenticano gli identificatori del mittente. Da soli, però, non verificano se un identificatore autenticato è allineato al dominio nell'indirizzo From e non stabiliscono la preferenza del proprietario del dominio su come gestire i messaggi che non superano i controlli.
DMARC risolve questo problema:
- Specifica come gestire i messaggi: none, quarantine o reject per i messaggi che non superano DMARC
- Verifica l'allineamento: almeno un identificatore SPF o DKIM autenticato deve essere allineato al dominio From
- Richiede report: i report aggregati e i report sui fallimenti relativi a singoli messaggi forniscono informazioni sui risultati di autenticazione osservati
Come funziona DMARC
1. Il mittente pubblica la policy DMARC nel DNS (record TXT in _dmarc.domain.com)
2. L'email viene inviata con From: [email protected]
3. Il destinatario verifica SPF e DKIM
4. Il destinatario verifica l'allineamento: il dominio autenticato corrisponde all'header From?
5. Decisione di gestione: il destinatario considera la policy richiesta e altri segnali
6. I report possono essere inviati: i destinatari partecipanti possono inviare i report aggregati o i report sui fallimenti relativi a singoli messaggi richiesti
Allineamento DMARC
DMARC richiede l'allineamento: il dominio nell'header From deve essere allineato ad almeno un identificatore autenticato secondo la modalità relaxed o strict del record:
- Allineamento SPF: il dominio MAIL FROM convalidato da SPF oppure il dominio HELO quando MAIL FROM è nullo
- Allineamento DKIM: il dominio d= in una firma DKIM valida
Senza allineamento, SPF o DKIM possono superare il controllo mentre DMARC fallisce. DMARC affronta direttamente forme specifiche di spoofing che usano il dominio From esatto. Non rileva domini visivamente simili né l'uso improprio del nome visualizzato del mittente.
Formato del record DMARC
I record DMARC sono record TXT in _dmarc.yourdomain.com:
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
Tag DMARC
| Tag | Obbligatorio | Descrizione | Esempio |
|---|---|---|---|
| v | Sì | Versione | v=DMARC1 |
| p | Consigliato (facoltativo) | Preferenza richiesta su come gestire la posta che non supera la convalida DMARC | p=none/quarantine/reject |
| rua | No | URI del report aggregato | rua=mailto:[email protected] |
| ruf | No | URI del report sui fallimenti relativi a singoli messaggi | ruf=mailto:[email protected] |
| t | No | Modalità di test della policy | t=y or t=n |
| sp | No | Policy richiesta per i sottodomini esistenti | sp=reject |
| np | No | Policy richiesta per i sottodomini non esistenti | np=reject |
| adkim | No | Modalità di allineamento DKIM | adkim=s (strict) or adkim=r (relaxed) |
| aspf | No | Modalità di allineamento SPF | aspf=s or aspf=r |
Il tag pct è storico. Lo standard DMARC attuale non lo usa più per applicare una policy a una percentuale dei messaggi che falliscono. Il tag p è consigliato ma facoltativo; un record altrimenti valido che ne è privo viene trattato come p=none.
Policy DMARC
p=none: non esprime alcuna preferenza su come gestire i messaggi che non superano i controlli. I proprietari dei domini lo usano comunemente mentre esaminano i report.v=DMARC1; p=none; rua=mailto:[email protected]
p=quarantine: chiede ai destinatari di trattare come sospetti i messaggi che non superano DMARC.
v=DMARC1; p=quarantine; rua=mailto:[email protected]
p=reject: chiede ai destinatari di rifiutare i messaggi che non superano DMARC. I destinatari considerano questa preferenza insieme ad altri segnali, quindi non garantisce il rifiuto.
v=DMARC1; p=reject; rua=mailto:[email protected]
Percorso di implementazione DMARC
Fase 1: monitoraggio (p=none)
Inizia con il monitoraggio per comprendere il tuo ecosistema email:
v=DMARC1; p=none; rua=mailto:[email protected]
Analizza i report per identificare:
- Servizi di invio legittimi privi di SPF/DKIM
- Mittenti non autorizzati (spoofing)
- Problemi di allineamento
Fase 2: quarantena (p=quarantine)
Una volta autenticate le fonti legittime:
v=DMARC1; p=quarantine; rua=mailto:[email protected]
Esamina i report e conferma che la posta legittima sia autenticata prima di scegliere una policy più severa. Lo standard DMARC attuale non definisce una distribuzione percentuale.
Fase 3: rifiuto (p=reject)
Richiedi il rifiuto dei messaggi che non superano DMARC:
v=DMARC1; p=reject; rua=mailto:[email protected]
Report DMARC
Report aggregati (rua)
Si raccomanda ai destinatari di inviare report XML aggregati ogni giorno o più spesso. I report riassumono i flussi di messaggi osservati, quindi disponibilità e copertura dipendono dai destinatari che inviano report:
- Volume delle email
- Tassi di superamento/fallimento per SPF, DKIM, DMARC
- Indirizzi IP di invio
- Organizzazioni dei destinatari
Report sui fallimenti (ruf)
I report relativi a singoli messaggi possono includere intestazioni o contenuto del messaggio. Non tutti i destinatari li inviano, spesso per motivi di privacy:
- Dettagli del fallimento dell'autenticazione
Elaborazione dei report
I report DMARC aggregati sono in formato XML e possono essere difficili da leggere. Usa servizi come:
- DMARC Analyzer
- Dmarcian
- Valimail
- Postmark DMARC
Controllo di DMARC
L'API autenticata DomScan Email Authentication costa 3 crediti per dominio e restituisce il record DMARC e i tag analizzati.
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
Problemi comuni con DMARC
Nessun report ricevuto: assicurati che l'indirizzo rua possa ricevere email di grandi dimensioni; alcuni provider li filtrano. Email legittima che fallisce: controlla la configurazione SPF/DKIM per tutti i servizi di invio; verifica l'allineamento. Servizi di terze parti che falliscono: molti servizi richiedono una configurazione DKIM personalizzata per l'allineamento DMARC.DMARC aggiunge l'allineamento, una preferenza su come gestire i messaggi e il reporting a SPF e DKIM. Esamina le fonti di invio e i report prima di richiedere una gestione più severa.