Perché validare la sintassi DMARC prima della pubblicazione?
Un record DMARC mal formattato viene ignorato silenziosamente da tutti i server destinatari. Gmail, Outlook, Yahoo: nessuno ti avviserà. Le tue email restano senza protezione contro spoofing e phishing.
Il validatore di sintassi DMARC analizza il tuo record prima della pubblicazione DNS. Rilevi gli errori immediatamente, senza aspettare 24-48 ore di propagazione per scoprire un problema.
Errori comuni rilevati:
- Tag v= mancante → Il record non viene riconosciuto come DMARC
- Policy p= assente → Nessuna istruzione di gestione per i server
- URI rua/ruf invalido → I report non vengono mai ricevuti
- Tag duplicati → Comportamento imprevedibile, spesso ignorato
Come validare il tuo record DMARC in 3 passi
Passo 1: Copiare il record DMARC
Prepara il tuo record DMARC completo. Esempio tipico:
v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@captaindns.com; adkim=r; aspf=r; pct=100
Se modifichi un record esistente, recupera il valore attuale dal tuo DNS:
dig TXT _dmarc.captaindns.com +short
Passo 2: Incollare e validare
Incolla il record nel campo sopra. Lo strumento analizza:
- La presenza dei tag obbligatori (v, p)
- La validità di ogni tag e valore
- Il formato degli URI di report (rua, ruf)
- La conformità alle specifiche RFC 7489
Passo 3: Correggere e pubblicare
La diagnosi elenca ogni tag con il suo stato:
- ✅ Valido → Tag corretto, pronto per la pubblicazione
- ❌ Errore → Correzione richiesta prima della pubblicazione
- ⚠️ Avviso → Funzionale ma miglioramento consigliato
Correggi gli errori, valida di nuovo, poi pubblica nel tuo DNS.
Cos'è un record DMARC?
DMARC (Domain-based Message Authentication, Reporting and Conformance) è un record TXT DNS pubblicato su _dmarc.tuodominio.com. Indica ai server destinatari:
- Quale policy applicare alle email che falliscono SPF e DKIM
- Dove inviare i report sui risultati dell'autenticazione
- Come allineare i domini SPF/DKIM con l'indirizzo From
Struttura di un record DMARC:
v=DMARC1; p=reject; rua=mailto:reports@captaindns.com; ruf=mailto:forensics@captaindns.com; adkim=s; aspf=s; pct=100
| Tag | Valore | Significato |
|---|---|---|
| v | DMARC1 | Versione del protocollo (obbligatorio) |
| p | reject | Policy: rifiutare email non autenticate |
| rua | mailto:... | Destinazione report aggregati |
| ruf | mailto:... | Destinazione report forensi |
| adkim | s | Allineamento DKIM rigoroso |
| aspf | s | Allineamento SPF rigoroso |
| pct | 100 | Applicare al 100% dei messaggi |
Dettaglio dei tag DMARC validati
Tag obbligatori
| Tag | Valori accettati | Descrizione |
|---|---|---|
| v | DMARC1 | Identifica il record come DMARC. Unico valore valido. |
| p | none, quarantine, reject | Policy per messaggi non allineati del dominio principale. |
Tag opzionali
| Tag | Valori accettati | Descrizione |
|---|---|---|
| sp | none, quarantine, reject | Policy per sottodomini (eredita da p se assente). |
| rua | URI mailto: o https: | Destinazioni report aggregati (XML giornaliero). |
| ruf | URI mailto: o https: | Destinazioni report forensi (per messaggio). |
| adkim | r (relaxed), s (strict) | Modalità allineamento DKIM. Default: relaxed. |
| aspf | r (relaxed), s (strict) | Modalità allineamento SPF. Default: relaxed. |
| pct | 1-100 | Percentuale di messaggi soggetti alla policy. Default: 100. |
| fo | 0, 1, d, s | Opzioni generazione report forensi. |
| ri | Secondi | Intervallo desiderato tra report aggregati. Default: 86400. |
| rf | afrf, iodef | Formato report forensi. |
Errori di sintassi frequenti
Errore 1: Record senza v=DMARC1
Sintomo: Il validatore mostra "not_dmarc_record"
Causa: Il record non inizia con v=DMARC1
Correzione:
- p=reject; rua=mailto:reports@captaindns.com
+ v=DMARC1; p=reject; rua=mailto:reports@captaindns.com
Errore 2: Policy p= mancante
Sintomo: "missing_policy" o "empty_policy"
Causa: Il tag p= è assente o vuoto
Correzione:
- v=DMARC1; rua=mailto:reports@captaindns.com
+ v=DMARC1; p=none; rua=mailto:reports@captaindns.com
Errore 3: URI rua/ruf invalido
Sintomo: "invalid_rua_uri" o "invalid_ruf_uri"
Causa: L'URI non rispetta il formato mailto: o https:
Esempi di correzione:
- rua=reports@captaindns.com # Manca mailto:
+ rua=mailto:reports@captaindns.com
- ruf="mailto:forensics@captaindns.com" # Virgolette vietate
+ ruf=mailto:forensics@captaindns.com
- rua=mailto: reports@captaindns.com # Spazio vietato
+ rua=mailto:reports@captaindns.com
Errore 4: Tag duplicato
Sintomo: "duplicate_tag"
Causa: Un tag appare più volte
Correzione:
- v=DMARC1; p=none; p=reject; rua=mailto:reports@captaindns.com
+ v=DMARC1; p=reject; rua=mailto:reports@captaindns.com
Errore 5: pct fuori range
Sintomo: "invalid_pct_value"
Causa: Il valore pct non è tra 1 e 100
Correzione:
- v=DMARC1; p=reject; pct=0 # 0 invalido
+ v=DMARC1; p=reject; pct=10 # Minimo 1
- v=DMARC1; p=reject; pct=150 # >100 invalido
+ v=DMARC1; p=reject; pct=100
Best practice per il deployment DMARC
1. Iniziare con p=none
Non passare direttamente a p=reject. Inizia osservando:
v=DMARC1; p=none; rua=mailto:dmarc@captaindns.com
Questa policy non blocca nulla ma genera report. Analizzali per 2-4 settimane.
2. Configurare rua fin dall'inizio
I report aggregati sono essenziali per:
- Identificare fonti legittime che falliscono l'autenticazione
- Rilevare tentativi di spoofing
- Validare la progressione verso p=quarantine poi p=reject
3. Progressione verso p=reject
Una volta che SPF e DKIM sono allineati su tutte le fonti legittime:
p=none→ Osservare (2-4 settimane)p=quarantine; pct=10→ Test sul 10% del trafficop=quarantine; pct=50→ Aumentare gradualmentep=quarantine; pct=100→ Quarantena completap=reject→ Protezione massima
4. Gestire i sottodomini con sp=
Di default, i sottodomini ereditano la policy p. Se invii email da sottodomini (marketing.captaindns.com), ricorda di:
- Configurare SPF/DKIM su ogni sottodominio
- Usare
sp=se la policy deve essere diversa
FAQ - Domande frequenti
D: Quali tag DMARC sono obbligatori?
R: Due tag sono obbligatori: v=DMARC1 (versione) e p= (policy). Senza questi tag, il record è invalido e viene ignorato dai server destinatari. Tutti gli altri tag sono opzionali.
D: Cosa significa l'errore "policy mancante"?
R: Il record non contiene il tag p= che definisce la policy. Aggiungi uno dei tre valori possibili:
p=none→ Nessuna azione, solo reportp=quarantine→ Contrassegnare come spamp=reject→ Rifiutare il messaggio
D: Come correggo un errore URI rua/ruf?
R: Gli URI devono seguire il formato esatto mailto:indirizzo@dominio.com o https://endpoint. Errori comuni:
- Dimenticare
mailto:prima dell'indirizzo - Virgolette attorno all'URI
- Spazi nell'indirizzo
- Indirizzo email invalido
D: Qual è la differenza tra rua e ruf?
R:
- rua (report aggregati): report giornalieri in formato XML, riepilogo statistico
- ruf (report forensi): report per singolo messaggio in errore
Inizia solo con rua. I report ruf generano molto traffico e possono contenere dati sensibili.
D: Cosa significa "pct fuori range"?
R: Il tag pct definisce la percentuale di messaggi soggetti alla policy p. Valori accettati: da 1 a 100. Se ometti pct, la policy si applica al 100% dei messaggi (comportamento predefinito).
D: Perché validare prima della pubblicazione DNS?
R: Un errore di sintassi rende il record invalido. I server destinatari lo ignorano silenziosamente: non ricevi alcun avviso, ma le tue email non hanno protezione DMARC. Valida sistematicamente prima di ogni modifica DNS.
D: Il validatore verifica la pubblicazione DNS?
R: No, questo strumento valida solo la sintassi del record. Per verificare che il record sia correttamente pubblicato e propagato nel DNS, usa l'Ispettore DMARC dopo la pubblicazione.
Strumenti complementari
| Strumento | Utilità |
|---|---|
| Ispettore DMARC | Verificare la pubblicazione e risolvere il record DMARC dal DNS |
| Generatore DMARC | Creare un record DMARC conforme alle specifiche |
| Ispettore SPF | Validare il record SPF del tuo dominio |
| Ispettore DKIM | Verificare la chiave pubblica DKIM e la firma |
| Tester email | Testare l'autenticazione completa inviando un'email reale |
Risorse utili
- RFC 7489 - Domain-based Message Authentication, Reporting and Conformance (DMARC) (specifica ufficiale)
- Google - Configurare DMARC (guida Gmail/Workspace)
- Microsoft - DMARC in Microsoft 365 (guida Outlook/M365)
- dmarc.org - Overview (documentazione del consorzio DMARC)