Come configurare i record SPF (Sender Policy Framework) per ridurre l’invio di spam

Come configurare i record SPF (Sender Policy Framework) per ridurre l’invio di spam

Chiunque abbia una mailing list gestita in proprio (ad esempio mediante PHPList) potrebbe avere questo problema: l’invio di un grosso quantitativo di email che arrivano a destinazione nelle rispettive cartelle di spam, con conseguente diluizione del target, riduzione del CTR, dei tassi di apertura delle email e così via.

Cos’è SPF?

Sender Policy Framework (in sigla SPF) è uno dei sistemi tradizionalmente più utilizzati per ridurre l’entità di questo problema: si tratta di una tecnica di validazione delle email inviate che permette di verificare a chi riceve (esempio i nostri iscritti) che la mail sia stata inviata effettivamente dal dominio autorizzato e proprietario, e non da altri che abbiano falsificato l’intestazione (cosiddetto email spoofing). SPF si basa su una lista di host autorizzati ad inviare email, che verrà specificata all’interno di un apposito record nella configurazione del DNS del dominio.

A cosa serve?

Si tratta di una tecnologia utilizzabile sui sistemi di invio delle newsletter e delle mailing list, pertanto, allo scopo di aumentare il tasso di invio a buon fine e non fare finire nello spam le email pianificate dall’utente. Bisogna ricordare che se SPF offre un supporto tecnologico piuttosto snello (la sintassi è relativamente semplice da usare, a parte forse l’uso dei quantificatori), una cattiva configurazione o più record TXT in conflitto tra loro potrebbero impedire completamente l’invio di email dal server. La configurazione va fatta in modo oculato, pertanto, evitando di inserire vincoli all’operatività del server ed impedirgli di funzionare al meglio.

Risposte fornite da SPF

Analizzando gli header di risposta delle email inviate è possibile risalire all’informazione relativa ad SPF, che potrà essere di più tipi diversi:

  • NONE indica che sull’invio della mail non è impostato SPF (potrebbe finire in spam);
  • NEUTRAL indica che nulla può essere detto a proposito di SPF
  • PASS indica che l’host è autorizzato all’invio
  • FAIL indica che l’host non è autorizzato all’invio (per cui tendenzialmente va in spam)
  • SOFT FAIL indica che l’host non è autorizzato e viene marcato da un flag (accept but mark)

Di seguito vengono indicate tutte le possibili risposte che possono essere fornite, con relativa spiegazione nel dettaglio.

Pass The SPF record designates the host to be allowed to send accept
Fail The SPF record has designated the host as NOT being allowed to send reject
SoftFail The SPF record has designated the host as NOT being allowed to send but is in transition accept but mark
Neutral The SPF record specifies explicitly that nothing can be said about validity accept
None The domain does not have an SPF record or the SPF record does not evaluate to a result accept
PermError A permanent error has occured (eg. badly formatted SPF record) unspecified
TempError A transient error has occured accept or reject

Il tipo di record che viene utilizzato per impostare SPF è il record TXT, che rappresenta un campo record testuale atto a contenere una stringa di testo appositamente formattata. Per la verità per un breve periodo (estate del 2005) l’ente IANA aveva assegnato un record specifico per SPF (tipo 99), ma questa convenzione è stata abbandonata in seguito ed è ancora necessario, ad oggi, ricorrere ad un record TXT per configurare correttamente SPF.

Esempio base di uso di SPF

Ad esempio possiamo decidere, mediante una stringa del genere inserita in un campo TXT del nostro dominio, di consentire ed autorizzare invii di posta dal dominio ml.tuodominio.it e solo dall’IP xxx.yyy.zzz.kkk:

 v=spf1 ip4:xxx.yyy.zzz.kkk include:ml.tuodominio.it -all

dove:

  • v=spf1 specifica una SPF versione 1
  • ip4:xxx.yyy.zzz.kkk indica l’IP versione 4 autorizzato ad inviare (dovrà corrispondere con quello del vostro server di posta)
  • include:ml.tuodominio.it esplicita che il dominio indicato è autorizzato ad inviare
  • -all è un qualificatore atto a respingere qualsiasi email che non rispetti i requisiti precedenti.

La sintassi di SPF è piuttosto avanzata e consente di realizzare stringhe di configurazione anche più raffinate o complesse, ma va tenuto in conto che non è l’unico sistema disponibile, e non è neanche il più raffinato. Inoltre può essere facilmente falsificato da uno spammer, che potrebbe impostare abusivamente un record TXT al fine di fingersi autorizzato ad inviare. Per queste situazioni si usa combinare SPF con altre tecniche come DKIM, che server di posta avanzati come Gmail – per la cronaca – includono già nativamente.

Esempi di configurazione SPF

Di seguito vengono riportati alcuni esempi pratici di configurazione di SPF.

v=spf1 mx a:pluto.example.net include:aspmx.googlemail.com -all

permette di impostare SPF dalla macchina pluto.example.net includendo il server di posta di Gmail ed escludendo tutte le altre macchine (-all)

v=spf1 mx -all
Consente l’invio solo ai domini dotati di un record MX, lo impedisce a tutti gli altri.
v=spf1 -all
Equivale ad imporre che il dominio non possa inviare email.
v=spf1 +all
SPF in questo caso viene completamente ignorato, chiunque può inviare email da questo dominio.
v=spf1 ip4:192.168.0.1/16 -all

Permette l’invio di email solo ad IP nel range indicato (ovvero tra 192.168.0.1 e 192.168.255.255).

(fonte: OpenSPF.org, RFC 7208)

Ti piace questo articolo?

0 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.