💻 Tecnologia

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.

Redazione Velix15 settembre 20267 min di lettura
💻

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 SMTP
  • include: — 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:

TagValoriSignificato
pnone / quarantine / rejectCosa fare con i messaggi non allineati
ruamailto:Dove ricevere i report aggregati XML giornalieri
pct1-100Percentuale di messaggi su cui applicare la policy
adkim / aspfr (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.

  1. 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
  2. Pubblica DMARC con p=none e un indirizzo rua. Non cambia nulla per i destinatari, ma inizi a ricevere i report
  3. 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
  4. Passa a p=quarantine con pct=10, poi alza gradualmente a 100 monitorando i report
  5. Arriva a p=reject solo 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 TXT v=spf1
  • Sottodomini dimenticati: DMARC si eredita, ma puoi differenziare con il tag sp=. Un dominio di posta non usato dovrebbe avere v=spf1 -all e p=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 →