Vai al contenuto principale

SPF Flattener

Verifica il budget di ricerche prima di appiattire: la maggior parte dei record non ne ha bisogno

Appiattire l'SPF è spesso la soluzione sbagliata. L'RFC 7208 limita SPF a 10 ricerche DNS; oltre, si ottiene un permerror e la posta può rompersi. Questo strumento misura il budget di ricerche, segnala il rischio di cambio IP creato da un appiattimento statico e mostra opzioni più sicure (sfoltire, delega a sottodomini, DKIM/DMARC) prima di appiattire come ultima risorsa.

Il dominio di cui vuoi appiattire il record SPF.

Punti chiave dello strumento

Verdetto e budget di ricerche

Vedi subito se sei ok, vicino al limite o oltre, con il conteggio esatto delle ricerche e delle void lookup su 10.

Rischio di cambio IP segnalato

Ogni provider riceve un badge di churn (basso, medio, alto): sai quanto è fragile un appiattimento statico prima ancora di farlo.

Raccomandazioni in ordine di rischio

Le correzioni sono ordinate dalla più sicura alla più rischiosa: sfoltire, delega a sottodomini, macro, hosted, DKIM/DMARC.

Rilevamento delle void lookup

Lo strumento conta anche le ricerche a vuoto: oltre 2 scattano un permerror separato che molti checker ignorano.

Appiattimento come ultima risorsa

Se proprio serve, ottieni un record TXT pronto da copiare con split automatico, sapendo che è un debito di manutenzione da risincronizzare.

Cos'è l'SPF flattening (e cosa non è)

L'appiattimento SPF sostituisce i meccanismi che costano una ricerca DNS (include:, a, mx, redirect, exists) con indirizzi IP letterali (ip4: / ip6:). Funziona sulla carta perché ip4, ip6 e all costano zero ricerche. Ma c'è un prezzo nascosto: l'appiattimento congela una delega viva in un'istantanea statica.

Attenzione a non confondere due cose diverse:

  • Appiattimento statico: risolvi gli IP una volta e li pubblichi così come sono. Da quel momento il record non riflette più i cambiamenti dei provider.
  • SPF dinamico (macro o hosted): il record si aggiorna da solo e non accumula debito di obsolescenza.

Sono approcci distinti: non trattarli come la stessa cosa. Lo SPF Flattener di CaptainDNS produce un appiattimento statico, e te lo dice chiaramente.

Esempio, prima dell'appiattimento:

v=spf1 include:_spf.google.com include:sendgrid.net include:servers.mcsv.net mx ~all

Questo record consuma diverse ricerche DNS (Google da solo ne usa più di una).

Esempio, dopo l'appiattimento:

v=spf1 ip4:209.85.128.0/17 ip4:74.125.0.0/16 ip4:167.89.0.0/17 ip4:198.2.128.0/18 ip4:205.201.128.0/20 ~all

Il risultato consuma zero ricerche, ma è un'istantanea congelata: dal momento in cui un provider cambia un IP, il tuo record è già obsoleto.


Il limite di 10 ricerche DNS e il permerror

La RFC 7208 §4.6.4 impone un massimo di 10 ricerche DNS durante la valutazione SPF. Ecco il costo per meccanismo:

MeccanismoCosto in ricerche
include:1 (più l'albero che risolve)
a / mx1 ciascuno
ptr1 (sconsigliato dalla RFC)
exists1
redirect=1 (più ciò che risolve)
ip4: / ip6: / all0

Da non confondere con un secondo limite, posto dalla stessa sezione: le risoluzioni di indirizzo generate da uno stesso termine mx sono limitate a 10 query A/AAAA, ma non gravano sul budget di 10 ricerche. Un mx su un dominio con 5 server costa 1, non 5.

Quando superi i 10, scatta un permerror, ed è un doppio guaio. Da un lato la posta legittima può essere rifiutata o finire nello spam; dall'altro gli spoofer non sono più bloccati in modo affidabile, e l'allineamento DMARC salta per tutti i flussi. Un permerror non è un avviso minore: è una falla di sicurezza e di delivery insieme.

C'è un secondo limite, spesso dimenticato: oltre 2 void lookup (ricerche DNS che non restituiscono nulla) si ottiene comunque un permerror. La maggior parte dei checker non lo segnala; lo SPF Flattener conta le void lookup e te le mostra accanto al budget di ricerche.

Distingui anche due tipi di permerror diversi: quello da troppe ricerche e quello da errore di sintassi (o da SPF multipli sullo stesso dominio). L'appiattimento non corregge né la sintassi né i record duplicati. Lo strumento intercetta questi casi con il verdetto error e ti rimanda allo SPF Syntax Check o allo SPF Record Check. Per capire bene questo errore, vedi la guida SPF troppe ricerche DNS e la guida al permerror SPF.


Perché l'appiattimento è rischioso (cambio IP)

Il cuore del problema è il cambio degli IP (churn). Un appiattimento statico crea tre rischi:

  • Falsi negativi: un nuovo IP legittimo del tuo provider non è nel record e l'SPF fallisce.
  • Superficie di spoofing: un IP dismesso resta autorizzato e può essere sfruttato.
  • Guasti intermittenti: fallimenti difficili da diagnosticare, perché il record sembra valido ma è sfasato rispetto alla realtà.

Due dati concreti, gli unici che riportiamo, perché documentati:

  • Caso Mailhardener: dopo un appiattimento, l'aggiunta di un IP di bilanciamento di carico da parte di un provider ha fatto fallire l'SPF su circa 1 messaggio su 20. Un caso reale, non una statistica generale.
  • Telemetria AutoSPF: un include di terze parti cambia in media circa ogni 11,5 giorni, e le destinazioni IPv6 cambiano circa 2,1 volte più spesso di quelle IPv4. Valori indicativi, secondo la telemetria di AutoSPF.

C'è anche una trappola di dimensione: l'appiattimento risolve il limite dei lookup ma fa crescere il record, che si gonfia di decine di blocchi ip4 e ip6. Una stringa TXT contiene al massimo 255 caratteri e la RFC 7208 consiglia di restare sotto circa 450 caratteri (una risposta DNS di 512 byte via UDP). Oltre, il record resta valido, ma la sua risposta DNS può richiedere il passaggio a TCP.

Provider come Microsoft 365 / Exchange Online e Google Workspace pubblicano range di IP ampi e in continuo cambiamento: per questo un appiattimento statico dei loro range è fragile. Lo SPF Flattener assegna a ogni provider un badge di churn (basso, medio, alto): è una classificazione editoriale per orientarti, non una cadenza inventata.

Per misurare l'impatto sulla ricezione, vedi il punteggio di deliverability.


Le alternative da provare prima di appiattire

Questa è la parte importante. Le raccomandazioni dello strumento sono ordinate dal rischio più basso a quello più alto: prova nell'ordine.

  1. Sfoltire prima di tutto: rimuovi gli include: inutilizzati o che non passano mai, elimina i ptr (sconsigliati dalla RFC), togli gli a e mx ridondanti, deduplica. Spesso basta questo per rientrare sotto i 10 senza congelare alcun IP. Incrocia i dati con i report aggregati DMARC.
  2. Delega a un sottodominio: un sottodominio dedicato per ogni flusso, ciascuno con un budget proprio di 10 ricerche. Non temere per il DMARC: con l'allineamento rilassato (aspf=r) il flusso resta allineato e il DMARC non si rompe.
  3. Macro SPF (RFC 7208 §7): record dinamico, senza debito di obsolescenza; opzione avanzata. Vedi SPF flattening contro macro per la differenza.
  4. SPF hosted / CNAME auto-aggiornante: resta sempre aggiornato; in cambio, accetti onestamente il lock-in del fornitore e la perdita di controllo diretto sul DNS.
  5. Spostare la fiducia su DKIM e DMARC (con ARC e SRS): è la chiave concettuale. L'appiattimento non risolve mai i fallimenti su inoltri e mailing list, perché l'SPF verifica l'IP che si connette, che cambia a ogni inoltro. La robustezza arriva dal DKIM (sopravvive ai relay) e dall'allineamento DMARC via DKIM, con ARC e SRS a coprire l'inoltro.

Quando appiattire è davvero giustificato

Il caso è ristretto: hai già sfoltito, non puoi delegare né passare a una soluzione hosted, sei realmente oltre i 10 con mittenti tutti essenziali, e ti impegni a risincronizzare il record. Non è una correzione una tantum, è debito di manutenzione.

Anche allora, quando puoi, preferisci il dinamico (macro o hosted) allo statico. Se appiatti staticamente: monitora di continuo con lo SPF Record Check e accetta il rischio di churn che hai appena letto. In una riga: un appiattimento statico una tantum è un debito, non una soluzione.


Come leggere il verdetto dello strumento

Lo SPF Flattener restituisce cinque verdetti chiari:

  • ok: sei sotto il limite, non serve appiattire. Lascia il record com'è.
  • at_risk: sei vicino al limite, monitora ed eventualmente sfoltisci.
  • over_limit: permerror per troppe ricerche, correggi in via prioritaria.
  • error: non si può appiattire finché non risolvi la sintassi o gli SPF multipli.
  • missing: nessun SPF pubblicato, comincia col crearne uno con lo SPF Generator.

Accanto al verdetto trovi il budget di ricerche ("X / 10 ricerche", "V / 2 void"). Tienilo a mente: un verdetto verde significa lasciar stare il record.


Domande frequenti

D: Cos'è l'SPF flattening e mi serve davvero?

R: L'appiattimento sostituisce i meccanismi include:, a, mx e redirect con gli IP che risolvono. Ma la maggior parte dei record sotto i 10 lookup non ne ha bisogno. Se lo strumento mostra un verdetto verde, lascia il record com'è.


D: Come funziona il limite di 10 DNS lookup SPF (RFC 7208)?

R: L'RFC 7208 §4.6.4 fissa un massimo di 10 ricerche. Ogni include, a, mx, ptr, exists e redirect conta; ip4, ip6 e all contano zero. Oltre i 10 è permerror. Esiste anche un limite separato: oltre 2 void lookup si ottiene comunque un permerror.


D: Come correggere l'errore "too many DNS lookups" o il permerror?

R: Non appiattire d'istinto. Sfoltisci prima gli include inutilizzati, rimuovi i ptr, deduplica: di solito basta a rientrare sotto i 10. Poi valuta la delega a un sottodominio. L'appiattimento viene per ultimo. Vedi la guida SPF troppe ricerche DNS.


D: L'appiattimento SPF è sicuro?

R: Comporta un rischio reale: un appiattimento statico congela gli IP dei provider. Un caso documentato (Mailhardener) racconta che l'aggiunta di un IP di bilanciamento ha fatto fallire l'SPF su circa 1 messaggio su 20. Secondo la telemetria di AutoSPF, un include di terze parti cambia in media circa ogni 11,5 giorni. Meglio preferire le opzioni dinamiche.


D: Quali sono le alternative all'appiattimento?

R: In ordine di rischio crescente: sfoltire, delega a sottodominio (con aspf=r), macro SPF, hosted/CNAME, e infine spostare la fiducia su DKIM e DMARC.


D: L'appiattimento rompe il DMARC o risolve i problemi di inoltro?

R: No. Non risolve i fallimenti su inoltri e mailing list, perché l'SPF verifica l'IP che si connette. La robustezza arriva dall'allineamento DKIM; la delega a un sottodominio con aspf=r mantiene intatto l'allineamento DMARC.


D: Appiattimento statico o SPF hosted/dinamico: che differenza c'è?

R: Lo statico è un'istantanea congelata che si degrada; il dinamico (macro o hosted) si aggiorna da solo. Non confonderli.


D: L'appiattimento ha risolto le ricerche ma ora il record è troppo lungo: perché?

R: Una stringa TXT contiene al massimo 255 caratteri (un record più lungo si pubblica in più stringhe) e la RFC 7208 consiglia di restare sotto circa 450 caratteri, perché la risposta DNS stia in 512 byte via UDP. Queste regole di dimensione sono separate dal limite dei lookup. Oltre i 450 caratteri il record resta valido; la sua risposta DNS, più pesante, può richiedere il passaggio a TCP. Appiattendo, il record cresce: per restare sotto la dimensione consigliata, puoi suddividerlo in sottodomini dedicati.


D: SPF Flattener, SPF Generator o SPF Checker: quale uso?

R: Lo SPF Checker diagnostica; lo SPF Generator costruisce un record nuovo; lo SPF Flattener è l'ottimizzatore consultivo di ultima risorsa.


Strumenti complementari

StrumentoUtilità
SPF Record CheckDiagnostica l'SPF pubblicato e monitoralo dopo ogni modifica
SPF Syntax CheckValida la sintassi SPF prima della pubblicazione
SPF GeneratorCostruisci un record SPF nuovo con i tuoi provider
DMARC Record CheckVerifica l'allineamento DMARC dei tuoi flussi
DMARC GeneratorConfigura un record DMARC robusto
DKIM Record CheckVerifica la firma DKIM, la base della robustezza
Mail TesterConvalida l'autenticazione end-to-end di un invio reale
Mail Domain CheckAudit completo dell'autenticazione email del dominio
IP Blacklist CheckControlla la reputazione degli IP mittenti
Domain Blacklist CheckControlla la reputazione del dominio

Risorse utili