Cos'è un record SPF e quali sono i suoi elementi?
SPF (Sender Policy Framework) è un record DNS di tipo TXT che specifica quali server di posta sono autorizzati a inviare e-mail per conto del tuo dominio. Protegge dallo spoofing — la contraffazione del tuo dominio da parte di mittenti non autorizzati.
Come funziona SPF?
Quando il server del destinatario riceve un messaggio, controlla il record SPF del dominio del mittente. Confronta l'indirizzo IP del server che ha inviato l'e-mail con l'elenco degli indirizzi consentiti nel record. Se l'IP non è nell'elenco — il messaggio può essere rifiutato o contrassegnato come spam.
Esempio di record SPF
v=spf1 ip4:203.0.113.0/24 include:_spf.google.com ~all
Elementi del record SPF
Versione
Ogni record SPF deve iniziare con
v=spf1.
Questa è l'unica versione del protocollo supportata.
Meccanismi
I meccanismi definiscono quali server sono autorizzati a inviare posta. Vengono verificati in ordine da sinistra a destra.
| Meccanismo | Esempio | Descrizione |
|---|---|---|
| ip4 | ip4:203.0.113.0/24 | Consente un indirizzo IPv4 specifico o un intervallo CIDR. |
| ip6 | ip6:2001:db8::/32 | Consente un indirizzo IPv6 specifico o un intervallo CIDR. |
| include | include:_spf.google.com | Include il record SPF di un altro dominio. Utilizzato quando si usano provider di posta esterni (Google, SendGrid ecc.). |
| a | a:mail.example.com | Consente gli indirizzi IP indicati dal record A del dominio specificato. Senza argomento controlla il dominio dall'intestazione. |
| mx | mx | Consente i server indicati dai record MX del dominio. Utile quando il server che riceve la posta è anche quello che la invia. |
| exists | exists:%{i}.example.com | Verifica se un determinato record DNS esiste. Raramente utilizzato, impiegato in configurazioni avanzate. |
| all | ~all | Corrisponde a tutti gli indirizzi IP. Viene sempre utilizzato alla fine del record come regola predefinita. |
Qualificatori
Ogni meccanismo può essere preceduto da un qualificatore che determina cosa fare quando il meccanismo corrisponde.
| Simbolo | Nome | Azione |
|---|---|---|
| + | Pass | Il server è autorizzato. Qualificatore predefinito. |
| - | Fail | Il server non è autorizzato. Il messaggio deve essere rifiutato. La politica più restrittiva. |
| ~ | SoftFail | Il server probabilmente non è autorizzato. Il messaggio viene accettato ma contrassegnato. Consigliato durante l'implementazione di SPF. |
| ? | Neutral | Nessuna politica definita. Trattato in modo simile all'assenza di un record SPF. |
Modificatori
I modificatori sono direttive opzionali che modificano il comportamento dell'intero record SPF.
| Modificatore | Descrizione |
|---|---|
| redirect | Reindirizza la verifica SPF a un altro dominio. Sostituisce l'intero record — non può essere utilizzato insieme a all. |
| exp | Indica il dominio con un messaggio che spiega il rifiuto. Raramente utilizzato. |
Limite di 10 query DNS
Meccanismi
include,
a,
mx
e
exists
eseguono query DNS. Lo standard SPF consente un massimo di 10 tali query — il superamento del limite genera un errore
permerror.