SPF (Sender Policy Framework)
SPF, acronimo di Sender Policy Framework, è un sistema di autenticazione email progettato per prevenire lo spoofing dell'indirizzo "From" (Mittente) nelle email. In sostanza, permette al dominio ricevente di verificare se un'email proveniente da un determinato dominio è stata inviata da un server autorizzato da quel dominio.
Come Funziona:
- Record SPF: Il dominio mittente pubblica un record SPF nel proprio DNS (Domain Name System). Questo record contiene un elenco di server autorizzati a inviare email per conto di quel dominio.
- Ricezione Email: Quando un server ricevente riceve un'email, estrae l'indirizzo "Return-Path" (anche noto come "Mail From") e verifica se l'indirizzo del server che ha inviato l'email (l'IP del server di invio) è presente nel record SPF del dominio specificato nel "Return-Path".
- Valutazione: Il server ricevente interpreta il record SPF e determina se l'email è autenticata o meno. Il risultato può essere:
- Pass: L'email è stata inviata da un server autorizzato.
- Fail: L'email è stata inviata da un server non autorizzato (spoofing potenziale).
- Softfail: L'email è stata inviata da un server non chiaramente autorizzato ma potrebbe non essere spoofed. Generalmente trattato con meno severità rispetto a un "Fail".
- Neutral: Il dominio non ha una politica SPF definita.
- TempError: Si è verificato un errore temporaneo durante la verifica.
- PermError: Si è verificato un errore permanente durante la verifica (ad esempio, sintassi errata nel record SPF).
Sintassi del Record SPF:
Un record SPF è un record TXT nel DNS. La sintassi base è:
v=spf1 [meccanismi] [modificatori]
-
v=spf1
: Indica la versione di SPF (attualmente solo spf1).
-
Meccanismi: Definiscono quali server sono autorizzati. I meccanismi più comuni sono:
ip4:<indirizzo_IP>
: Autorizza un singolo indirizzo IPv4. Vedi: ip4
ip6:<indirizzo_IPv6>
: Autorizza un singolo indirizzo IPv6. Vedi: ip6
a
: Autorizza l'indirizzo IP del record A del dominio.
mx
: Autorizza l'indirizzo IP dei server MX del dominio.
include:<dominio>
: Include il record SPF di un altro dominio. Fondamentale per delegare l'invio a servizi terzi. Vedi: include
all
: Indica come gestire i server non corrispondenti agli altri meccanismi. I qualificatori sono:
+all
: (default) Corrisponde a tutto. Non molto utile da solo.
-all
: Hard Fail. Indica che tutti i server non specificati devono essere rifiutati. Consigliato alla fine del record. Vedi: all
~all
: Soft Fail. Indica una raccomandazione di non accettare l'email, ma lascia al server ricevente la decisione finale.
?all
: Neutral. Non influenza la valutazione.
-
Modificatori: Forniscono informazioni aggiuntive. Uno dei più comuni è:
redirect=<dominio>
: Redireziona la verifica SPF a un altro dominio. Vedi: redirect
Esempio di Record SPF:
v=spf1 ip4:192.0.2.0/24 include:example.com -all
Questo record indica che:
- La rete 192.0.2.0/24 è autorizzata a inviare email.
- Il record SPF del dominio example.com è incluso nella valutazione.
- Qualsiasi altro server non specificato dovrebbe essere considerato non autorizzato (Hard Fail).
Vantaggi dell'Implementazione di SPF:
- Migliora la Deliverability: Aiuta a prevenire che le email vengano contrassegnate come spam.
- Protegge la Reputazione del Dominio: Previene lo spoofing del dominio, che può danneggiare la reputazione e causare problemi di blacklisting.
- Aumenta la Fiducia: Dimostra ai destinatari che le email sono autentiche.
Limitazioni:
- SPF non autentica l'indirizzo "From:". Autentica l'indirizzo "Return-Path" (Mail From). DKIM (DomainKeys Identified Mail) è usato per autenticare l'header "From:".
- SPF non funziona con le email inoltrate, a meno che il server di inoltro non implementi SRS (Sender Rewriting Scheme). Vedi: SRS
- Richiede la corretta configurazione del DNS.
In sintesi, SPF è un componente essenziale per l'autenticazione email, contribuendo a migliorare la deliverability, proteggere la reputazione del dominio e prevenire lo spoofing.