Ingegneria
SPF, DKIM e DMARC: guida completa all'autenticazione email
Perché le vostre fatture finiscono nello spam e come chiunque può inviare email a vostro nome. Come configurare SPF, DKIM e DMARC in sicurezza.
Due affermazioni sono probabilmente vere per il vostro dominio in questo preciso istante, ed entrambe vi costano denaro.
Chiunque può inviare email fingendosi la vostra azienda. A meno che non abbiate configurato una policy DMARC vincolante su quarantine o reject, i server riceventi non hanno alcuna disposizione per rifiutare un messaggio contraffatto inviato a vostro nome. Le truffe tramite false fatture ai clienti avvengono esattamente in questo modo.
Una parte delle vostre email legittime finisce nello spam. Da febbraio 2024 Google e Yahoo richiedono l'autenticazione obbligatoria per tutti i mittenti. Microsoft ha introdotto restrizioni analoghe. I domini privi di record corretti per SPF, DKIM e DMARC vengono sempre più filtrati o respinti alla radice.
Non si tratta di una questione marginale per l'IT. Se inviate conferme d'ordine, fatture commerciali, link di reimpostazione password o newsletter promozionali, questa è un'infrastruttura critica per il fatturato.
Ecco come funzionano i tre record e come configurarli senza interrompere la consegna delle email legittime.
SPF: quali server sono autorizzati a inviare per vostro conto
SPF è un record DNS di tipo TXT che elenca i server autorizzati a trasmettere messaggi di posta elettronica per il vostro dominio.
v=spf1 include:_spf.google.com include:servers.mcsv.net ~all
Analizziamo la sintassi: versione SPF 1; autorizza i server di Google Workspace; autorizza i server di Mailchimp; qualunque altro mittente viene classificato come soft fail.
I tre errori più gravi con SPF
Troppi lookup DNS. Ciascun meccanismo include, a, mx, ptr, exists e redirect comporta una query DNS, e gli include nidificati si sommano al conteggio. Il limite rigoroso stabilito dallo standard RFC è 10. Se lo superate, SPF restituisce l'errore permerror — che la maggior parte dei provider riceventi equipara a un fallimento totale, iniziando a respingere le vostre normali email aziendali.
Questo limite si raggiunge con facilità disarmante. Google Workspace più un CRM aziendale, una piattaforma di email marketing, un software di helpdesk e un tool di fatturazione, ciascuno con include nidificati, superano silenziosamente la soglia dei 10 lookup.
La soluzione consiste nel "flattening" (sostituire i meccanismi include: con i range IP diretti a cui puntano) oppure eliminare i servizi dismessi. Il flattening richiede però manutenzione continua: se il provider aggiorna i propri IP, il vostro SPF diventa errato. È preferibile eliminare prima gli include non più necessari.
Record SPF multipli. Un dominio deve possedere esattamente un solo record SPF. Pubblicare due record TXT distinti che iniziano entrambi con v=spf1 genera un permerror istantaneo. Accade spesso quando un nuovo fornitore aggiunge il proprio record anziché integrare la stringa preesistente. Riunite sempre tutte le istruzioni in un unico record.
Terminare il record con +all. Questa direttiva autorizza letteralmente l'intero pianeta a inviare email a nome del vostro dominio. È persino peggiore dell'assenza totale di SPF, perché afferma esplicitamente che ogni contraffazione è lecita. Compare solitamente quando qualcuno ha condotto test di debug e ha dimenticato di ripristinare il parametro corretto.
Impiegate ~all (soft fail) durante la fase di censimento dei servizi attivi, passando a -all (hard fail) solo quando siete certi che la lista dei mittenti sia esaustiva.
DKIM: la firma crittografica
DKIM aggiunge una firma digitale all'intestazione delle email in uscita, generata tramite una chiave privata custodita dal vostro fornitore di posta. La chiave pubblica corrispondente viene pubblicata nei vostri record DNS. Il server ricevente verifica la firma, certificando che il messaggio provenga autenticamente dal vostro dominio e non sia stato manomesso durante il trasporto.
Il record risiede all'indirizzo selettore._domainkey.vostrodominio.com, dove il selettore è stabilito dal provider — ad esempio google, selector1, k1, s1 e così via.
Due considerazioni operative essenziali:
Non è possibile enumerare i selettori dall'esterno. Qualsiasi strumento diagnostico che segnali "DKIM assente" sta semplicemente comunicando "non rilevato sui selettori convenzionali testati". La documentazione tecnica del vostro fornitore specifica l'esatto selettore utilizzato. Considerate il test DKIM dei verificatori pubblici come orientativo e non conclusivo.
Ogni piattaforma di invio necessita della propria firma DKIM. Google Workspace firma i messaggi inviati tramite Gmail, ma non firma le campagne trasmesse da Mailchimp. Ciascun servizio che invia email per vostro conto deve essere configurato singolarmente con la propria coppia di chiavi.
DMARC: la policy che coordina il sistema
SPF e DKIM producono riscontri tecnici. DMARC stabilisce come i destinatari debbano trattare tali riscontri ed esige l'allineamento (alignment): il dominio che ha superato il controllo SPF o DKIM deve coincidere con il dominio visualizzato nel campo From: dell'intestazione visibile all'utente.
L'allineamento è ciò che conferisce reale efficacia a DMARC. Senza di esso, un malintenzionato potrebbe superare SPF per un proprio dominio di comodo mostrando al contempo il vostro brand nel campo From:.
v=DMARC1; p=reject; rua=mailto:dmarc@vostrodominio.com; pct=100; adkim=s; aspf=s
p=— la policy di sicurezza:none,quarantineorejectrua=— l'indirizzo email a cui recapitare i report aggregati in formato XMLpct=— percentuale di messaggi a cui applicare la policy, per rilasci gradualiadkim=/aspf=— rigore di allineamento:sper strict (rigido),rper relaxed (flessibile)
La trappola della policy p=none
Una percentuale altissima di domini con record DMARC è ferma su p=none, spesso da anni.
p=none significa semplicemente: valuta, genera il report statistico e consegna comunque il messaggio. Non blocca assolutamente alcuno spoofing. I messaggi falsificati che usurpano il vostro nome continueranno a raggiungere la casella di posta dei clienti.
È il corretto punto di partenza — raccogliere i report serve per censire ogni sorgente legittima prima di impostare il blocco. Ma non è una configurazione finita. Un dominio fermo su p=none offre solo un'illusione di protezione, inducendo a credere erroneamente che la questione sia risolta.
Come passare all'applicazione vincolante in sicurezza
Il vero rischio nell'attivare il blocco è respingere comunicazioni legittime di cui ci si era dimenticati — il gestionale contabile, la piattaforma per le selezioni del personale o un vecchio server interno che invia report notturni. Il rilascio progressivo serve proprio a scovare queste fonti:
- Pubblicare
p=nonespecificando il tagrua=. Raccogliete i report per 2–4 settimane. - Analizzare i report. I report sono in formato XML; utilizzate un analizzatore automatico o un servizio dedicato. Individuate le sorgenti che trasmettono a vostro nome fallendo l'allineamento.
- Regolarizzare o autorizzare ogni mittente legittimo. Inseritelo in SPF, configurate DKIM o instradatelo attraverso un sottodominio dedicato.
- Passare a
p=quarantine; pct=10. Monitorate per una settimana. Incrementate la percentuale a 50, poi a 100. - Passare a
p=reject. Solo quando i report confermano che non vi sono falsi positivi.
Questo percorso richiede da uno a tre mesi per un'organizzazione strutturata. Avere fretta nel passaggio 3 è il modo sicuro per scoprire che l'amministrazione non riesce più a recapitare le fatture commerciali.
Due aspetti spesso trascurati
I sottodomini. DMARC si applica ai sottodomini tramite il parametro sp=. Se non specificato, i sottodomini ereditano la policy del dominio principale. Gli aggressori sfruttano specificamente sottodomini non presidiati — come mail.vostrodominio.com o billing.vostrodominio.com. Impostate esplicitamente sp=reject sui domini che non devono trasmettere posta dai sottodomini.
I domini registrati ma inattivi (parked). Tutti i domini secondari di proprietà che non inviano posta dovrebbero comunque pubblicare v=spf1 -all e v=DMARC1; p=reject;. Le registrazioni difensive e i vecchi marchi sono i bersagli prediletti per lo spoofing proprio perché nessuno pensa a proteggerli.
Una nota sul protocollo BIMI
Una volta raggiunta una policy vincolante di p=quarantine o p=reject, lo standard BIMI (Brand Indicators for Message Identification) permette di mostrare il vostro logo aziendale accanto ai messaggi nelle caselle di posta compatibili. Richiede l'acquisto di un certificato VMC (Verified Mark Certificate), con un costo indicativo di 1.000–1.500 dollari all'anno.
È un ottimo investimento d'immagine per chi invia volumi consistenti. Non migliora la deliverability in sé: è una funzionalità visiva accessibile solo a chi ha già completato l'intero processo di autenticazione tecnica.
Come verificare la vostra configurazione
Potete analizzare i record attivi di qualsiasi dominio tramite il nostro strumento gratuito di verifica deliverability email. Il tool interroga direttamente il DNS dal vostro browser e visualizza il testo reale dei record pubblicati, permettendovi di esaminarne l'esatta sintassi anziché mostrare un generico punteggio.
Oppure eseguite l'interrogazione da terminale:
dig +short TXT vostrodominio.com # visualizza il record SPF
dig +short TXT _dmarc.vostrodominio.com # visualizza il record DMARC
dig +short TXT google._domainkey.vostrodominio.com # verifica DKIM
dig +short MX vostrodominio.com # mail server in entrata
Ordine di priorità degli interventi
Partendo da zero:
- Pubblicare il record SPF indicando ogni servizio autorizzato all'invio, con chiusura
~all - Abilitare DKIM su ciascuno dei servizi censiti
- Pubblicare DMARC con policy
p=nonee indirizzorua=per la ricezione dei report - Analizzare i report per un mese, regolarizzando le anomalie riscontrate
- Passare alla policy
p=quarantine, e infine ap=reject - Proteggere i sottodomini e i domini secondari inattivi
- Rafforzare la chiusura di SPF portandola a
-all
I primi tre passaggi si completano in un pomeriggio. I punti 4 e 5 concentrano il lavoro tecnico più approfondito, ed è dove la maggior parte delle aziende si ferma. Portarli a termine è l'unico modo per impedire a chiunque di contraffare le vostre email.