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. La 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.

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 / mxalmeno 1
ptr1 (sconsigliato dalla RFC)
exists1
redirect=1 (più ciò che risolve)
ip4: / ip6: / all0

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 asseriamo 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 gli obiettivi IPv6 cambiano circa 2,1 volte più spesso degli IPv4. Valori indicativi, secondo la telemetria di AutoSPF.

C'è anche una trappola di dimensione: l'appiattimento risolve il limite dei lookup ma peggiora quello della dimensione (255 caratteri per stringa, 512 byte UDP, circa 450-600 caratteri di limite pratico). Il record si gonfia di decine di blocchi ip4 e ip6.

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 fresco 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 è stretto: hai già sfoltito, non puoi delegare né passare a una soluzione hosted, sei genuinamente 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 pubblicarne uno.

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: La 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: Il limite di dimensione (255 caratteri per stringa, 512 byte UDP) è separato da quello dei lookup. Appiattendo scambi il problema dei lookup con quello della dimensione. Lo strumento suddivide automaticamente in sottodomini per restare sotto i limiti.


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