Cos'è spf?

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:

  1. 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.
  2. 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".
  3. 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.