SPF, DKIM e DMARC: proteggere la posta aziendale dallo spoofing
Come funzionano i tre record DNS che autenticano la tua posta, in che ordine configurarli e perché senza DMARC chiunque può inviare email a nome del tuo dominio.
Il protocollo SMTP nasce nel 1982 senza alcun meccanismo di autenticazione del mittente. Il campo From: che vedi nel client di posta è testo libero: chiunque abbia un server SMTP può scrivere amministrazione@tuodominio.it e inviare. SPF, DKIM e DMARC sono i tre strati che, pubblicati come record DNS, permettono ai server riceventi di verificare se quel mittente è legittimo.
Senza questi record le tue email finiscono in spam su Gmail e Microsoft 365 — entrambi dal 2024 rifiutano o declassano i messaggi non autenticati — e il tuo dominio resta utilizzabile per truffe BEC (frodi con falso bonifico ai fornitori).
SPF: quali server possono inviare
SPF (Sender Policy Framework) è un record TXT che elenca gli IP e gli host autorizzati a inviare posta per il dominio.
v=spf1 ip4:80.71.239.10 include:_spf.google.com include:spf.protection.outlook.com -all
Elementi da conoscere:
ip4:/ip6:— indirizzi o subnet dei tuoi server SMTPinclude:— delega la verifica al record SPF di un terzo (Google Workspace, Microsoft 365, il tuo provider di newsletter)-all— hard fail: tutto ciò che non è elencato va rifiutato~all— soft fail: il messaggio passa ma viene marcato; utile solo in fase di rollout
Il limite dei 10 lookup. SPF consente al massimo 10 query DNS per valutazione, contando ogni include, a, mx, ptr e exists. Superato il limite il risultato è permerror e la verifica fallisce del tutto. Con tre o quattro servizi esterni ci si arriva facilmente: la soluzione è il flattening (sostituire gli include con gli IP risolti) accettando l'onere della manutenzione, oppure ridurre i servizi autorizzati.
Il punto debole di SPF: verifica il mittente di busta (MAIL FROM), non il From: visibile. Un attaccante può usare un dominio proprio in busta e falsificare comunque il From. Per questo SPF da solo non basta.
DKIM: firma crittografica del messaggio
DKIM (DomainKeys Identified Mail) aggiunge al messaggio un header DKIM-Signature contenente una firma RSA o Ed25519 calcolata su header selezionati e sul corpo. La chiave pubblica sta in un record TXT:
selector1._domainkey.tuodominio.it TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
Il selettore (selector1) permette di avere più chiavi contemporaneamente — indispensabile per la rotazione e per firmare da sistemi diversi (centralino che manda i voicemail via email, gestionale, piattaforma marketing).
Note operative:
- Usa chiavi a 2048 bit. Le 1024 sono ancora accettate ma considerate deboli
- Una chiave 2048 non entra in una singola stringa TXT da 255 caratteri: va spezzata in più stringhe concatenate. Molti pannelli DNS lo fanno da soli, altri no ed è la causa numero uno di DKIM che non valida
- Ruota le chiavi ogni 6-12 mesi pubblicando un nuovo selettore prima di dismettere il vecchio
- La firma sopravvive all'inoltro, a differenza di SPF che si rompe appena un server intermedio rilancia il messaggio
DMARC: la policy che lega tutto
DMARC (Domain-based Message Authentication, Reporting and Conformance) è il record che dice al ricevente cosa fare quando SPF e DKIM falliscono, e introduce il concetto di allineamento: non basta che SPF o DKIM passino, il dominio verificato deve corrispondere al dominio nel From: visibile. È questo che chiude il buco dello spoofing.
_dmarc.tuodominio.it TXT "v=DMARC1; p=none; rua=mailto:dmarc@tuodominio.it; pct=100; adkim=r; aspf=r"
Parametri principali:
| Tag | Valori | Significato |
|---|---|---|
p | none / quarantine / reject | Cosa fare con i messaggi non allineati |
rua | mailto: | Dove ricevere i report aggregati XML giornalieri |
pct | 1-100 | Percentuale di messaggi su cui applicare la policy |
adkim / aspf | r (relaxed) / s (strict) | Allineamento su dominio organizzativo o esatto |
Basta che uno fra SPF e DKIM passi in modo allineato perché DMARC dia esito positivo.
Sequenza di rollout consigliata
Non partire mai da p=reject: rischi di bloccare fatture, notifiche del gestionale e newsletter legittime.
- Pubblica SPF e DKIM per tutti i sistemi che inviano a nome del dominio. Fai un censimento vero: CRM, e-commerce, centralino, stampanti multifunzione con scan-to-email, applicativi interni
- Pubblica DMARC con
p=nonee un indirizzorua. Non cambia nulla per i destinatari, ma inizi a ricevere i report - Analizza i report per 3-4 settimane. L'XML grezzo è illeggibile: usa un aggregatore (Postmark DMARC, dmarcian, Valimail hanno tier gratuiti) e identifica ogni sorgente che invia senza allineamento
- Passa a
p=quarantineconpct=10, poi alza gradualmente a 100 monitorando i report - Arriva a
p=rejectsolo quando i report mostrano il 100% di allineamento per tutte le sorgenti legittime
Errori ricorrenti
- Più record SPF sullo stesso dominio: non è consentito, il risultato è
permerror. Va unificato tutto in un solo TXTv=spf1 - Sottodomini dimenticati: DMARC si eredita, ma puoi differenziare con il tag
sp=. Un dominio di posta non usato dovrebbe averev=spf1 -allep=reject - Inoltri automatici: rompono SPF. Se i tuoi utenti inoltrano verso indirizzi esterni, DKIM è l'unico ad arrivare intatto
- Record DKIM mai verificato: dopo la pubblicazione invia una mail di prova e controlla negli header originali che compaia
dkim=pass
Tutti e tre i record sono nel DNS: se gestisci la zona con noi, la configurazione si fa dall'area clienti senza propagazione ritardata oltre il TTL impostato.
Vuoi portare Velix a casa tua?
Verifica la copertura FTTH al tuo indirizzo in 30 secondi. Gratis, senza impegno.
Verifica copertura →