Il ruolo dei record SPF nella sicurezza della posta elettronica
Il protocollo SPF (Sender Policy Framework) costituisce uno dei pilastri fondamentali per l'autenticazione delle email e la prevenzione dello spoofing, ovvero la falsificazione dell'indirizzo del mittente. Attraverso la pubblicazione di un record TXT nel DNS (Domain Name System), l'amministratore di un dominio specifica quali host e indirizzi IP sono autorizzati a inviare messaggi a nome di quel dominio.
Durante la ricezione di un'email, il server di posta del destinatario interroga il DNS del dominio del mittente, estrae il record SPF e verifica se l'indirizzo IP del server di invio corrisponde a uno dei blocchi autorizzati. Una corretta configurazione di questo record riduce drasticamente la possibilità che soggetti malintenzionati inviino email di phishing o spam abusando del nome del dominio aziendale.
Sintassi del record SPF e termini principali
Un record SPF è composto da una stringa di testo strutturata in diversi elementi, definiti termini, che si dividono principalmente in meccanismi e modificatori. L'analisi dettagliata di questi componenti permette di comprendere l'esatto comportamento del criterio di autenticazione:
v=spf1: Rappresenta la versione del protocollo. Deve essere obbligatoriamente il primo termine del record e non può essere presente più di una volta all'interno dello stesso record.- Meccanismi di inclusione e indirizzamento: Termini come
include,a,mx,ptredexistsindicano al server ricevente come determinare se un IP è autorizzato. Ad esempio,includedelega la verifica a un record SPF di un provider esterno, mentreip4eip6definiscono intervalli di indirizzi IP specifici. - Il meccanismo
all: Posizionato solitamente alla fine del record, definisce la politica da applicare a tutti i mittenti che non hanno trovato una corrispondenza nei meccanismi precedenti. - Modificatori: Elementi come
redirectconsentono di reindirizzare l'intera valutazione SPF a un altro nome di dominio.
Ogni meccanismo può essere preceduto da un qualificatore che determina l'esito della verifica:
+(Pass): Il mittente è autorizzato (qualificatore predefinito se omesso).-(Fail): Il mittente non è autorizzato (rifiuto o blocco).~(SoftFail): Il mittente non è autorizzato, ma si consiglia l'accettazione con marcatura come sospetto.?(Neutral): Nessuna indicazione sulla validità del mittente.
Il limite delle 10 ricerche DNS e l'errore permanente
Una delle regole più critiche nella progettazione di un record SPF è il limite massimo di 10 ricerche DNS. La specifica tecnica impone che la valutazione completa di un record SPF non debba innescare più di 10 query DNS per evitare di sovraccaricare i server dei destinatari e prevenire attacchi di tipo Denial of Service (DoS) basati su DNS.
I termini che incrementano questo contatore all'interno del record analizzato sono include, a, mx, ptr, exists e redirect. Se la valutazione complessiva supera la soglia di 10 ricerche, i server di posta che ricevono il messaggio devono interrompere il controllo e restituire un errore permanente (PermError). Questo scenario invalida l'efficacia di SPF, portando spesso alla mancata consegna delle email legittime o al loro recapito nella cartella spam.
È fondamentale considerare che il limite di 10 ricerche si applica in modo ricorsivo. Ciò significa che se il record principale contiene un termine include verso un provider esterno, le ricerche DNS richieste dal record di quel provider si sommano a quelle del record principale, riducendo il margine disponibile.
Rischi di criterio e configurazioni sconsigliate
L'analisi di un record SPF permette di evidenziare scelte di configurazione che, pur essendo sintatticamente valide, espongono il dominio a rischi di sicurezza o a problemi di prestazioni:
- L'uso di
+all: Questo valore autorizza esplicitamente qualsiasi mittente sulla rete a inviare email a nome del dominio, vanificando completamente lo scopo e l'utilità del protocollo SPF. - L'uso di
?all: Restituisce un risultato neutro per tutti i mittenti non mappati, offrendo ai server riceventi pochissime indicazioni su come gestire i messaggi non autorizzati. - Il meccanismo
ptr: L'uso diptrè fortemente sconsigliato dalle specifiche tecniche poiché richiede un numero elevato di query DNS inverse, risultando lento, inefficiente e spesso inaffidabile. - Assenza di una politica terminale: Se un record non definisce né il meccanismo
allné il modificatoreredirect, i mittenti che non corrispondono ad alcun termine riceveranno un risultato neutro, indebolendo la protezione del dominio.
Funzionamento dello strumento di verifica
Lo strumento "Verifica record SPF" esegue un'analisi locale del testo inserito per facilitare la scomposizione dei termini e la stima delle ricerche DNS.
Elaborazione e privacy dei dati
Il processo di analisi avviene interamente all'interno del browser dell'utente. Il testo inserito non viene caricato su server esterni né salvato. Lo strumento non effettua query DNS reali, non interroga la rete per espandere i record dei provider inclusi, non testa indirizzi IP di invio e non simula la risposta finale di un server di posta ricevente.
Regole di convalida e messaggi di errore
Il testo inserito come input deve rispettare un limite massimo di 20.000 caratteri. Se l'input è vuoto o non valido, l'interfaccia mostra i messaggi Prima incolla un record SPF. o Inserisci un record SPF supportato.. Se il testo supera la lunghezza massima consentita, viene mostrato l'errore Questo record è insolitamente grande. Mantienilo sotto i 20.000 caratteri.. I segmenti di testo DNS racchiusi tra virgolette vengono uniti automaticamente prima di avviare l'analisi.
Durante la scansione del record, lo strumento applica le seguenti regole di controllo e segnala le relative anomalie:
| Scenario rilevato | Messaggio di avviso o errore visualizzato |
|---|---|
| Mancanza del prefisso iniziale | Il record deve iniziare con v=spf1. |
| Posizione errata della versione | Termine ‹term›: v=spf1 deve essere il primo termine. |
| Presenza di più dichiarazioni di versione | Il record contiene più di un termine v=spf1. |
| Meccanismo non standard | Termine ‹term›: “‹detail›” non è un meccanismo SPF riconosciuto. |
| Valore mancante o errato | Termine ‹term›: il valore di ‹detail› manca o non è valido. |
| Errore di sintassi IPv4 | Termine ‹term›: inserisci un indirizzo IPv4 o un intervallo CIDR valido. |
| Errore di sintassi IPv6 | Termine ‹term›: inserisci un indirizzo IPv6 o un intervallo CIDR valido. |
| Modificatore ripetuto | Termine ‹term›: il modificatore ‹detail› compare più di una volta. |
| Qualificatore su modificatore | Termine ‹term›: un modificatore non può avere un qualificatore +, -, ~ o?. |
Più di un meccanismo all |
Termine ‹term›: più di un meccanismo all rende più difficile esaminare il criterio. |
Termini posizionati dopo all |
I termini dopo all non sono raggiungibili durante la valutazione SPF. |
Coesistenza di redirect e all |
redirect viene ignorato perché il record contiene anche all. |
| Superamento del limite di ricerche | Questo record contiene già ‹detail› termini che attivano DNS, oltre il limite SPF di 10. |
Domande frequenti (FAQ)
Come viene calcolata la stima delle ricerche DNS SPF?
La stima conta i termini include, a, mx, ptr, exists e redirect nel record incollato. I record inclusi e reindirizzati possono aggiungere altre ricerche, quindi un controllo locale non può conoscere il totale ricorsivo finale.
Cosa succede se SPF richiede più di 10 ricerche DNS?
I server che ricevono SPF devono considerare errore permanente una valutazione che supera il limite di 10 termini con ricerca DNS. Il limite copre l'intera catena include e redirect, non solo il primo record.
Un risultato senza problemi dimostra che la configurazione SPF funziona?
No. Questa pagina controlla solo il testo incollato. Non interroga DNS, non espande i record del provider, non verifica un IP mittente e non conferma la risposta di un server di posta ricevente.