Configurare il record SPF per rafforzare la reputazione del mittente ed inviare una newsletter a prova di spam
Per inviare una mail, ed esser certi di non finire in spam, occorre impostare alcuni record DNS: i record PTR, SPF, DKIM e DMARC.
I record SPF ( Sender Policy Framework), assieme al record DKIM, permettono ai server che ricevono le email di verificare l’autenticità del mittente, validando la reputazione del mittente e quindi della posta elettronica da lui inviata, valutando quale mail considerare come spam e quale una comunicazione legittima. Per evitare che le proprie email vengano classificate come spam, e quindi per aumentare il tasso di email consegnate (la "deliverability"), vanno configurati, nella gestione DNS del dominio della mail in oggetto, due record denominati SPF e DKIM. In questo articolo ci occupiamo del record SPF.
Una tecnica molto utilizzata dagli spammer consiste nell’inviare e-mail fasulle con l'obiettivo di porre in atto azioni fraudolente (ad esempio phishing) e che riportano come MITTENTE nomi a dominio uguali a quelli reali riuscendo, in molti casi, ad ingannare il destinatario.
I messaggi di posta elettronica contengono due indirizzi in cui è indicato il mittente:
- l'indirizzo che appare subito quando riceviamo la mail ("DA" o "FROM"). Questo indirizzo si chiama "header from"
- l'indirizzo visibile solo aprendo il sorgente del messaggio, o visualizzando le intestazioni (gli "header") del messaggio: è il RETURN PATH. Questo indirizzo si chiama "envelope from" ed indica, al server di posta che riceverà la mail, l'indirizzo a cui restituire o rimbalzare il messaggio se non può essere consegnato.
Ecco un estratto dagli header di una email:
...
Return-Path: <comunicazioni@staff.aruba.it>
Delivered-To: google.it-pippo@google.it
Received: (qmail 10992 invoked by uid 89); 2 Jul 2018 21:29:22 -0000
...
From: comunicazioni@staff.aruba.it
To: pippo@google.it
...
Entrambi gli indirizzi possono essere contraffatti. Per consentire al server che riceve la mail di verificare che il mittente sia effettivamente autorizzato ad inviare mail per quel dominio, occorre aggiungere un record SPF nel DNS del dominio in questione.
Un record SPF è un particolare record TXT, creato nel DNS del dominio associato alla nostra email, in cui viene indicato chi, o meglio quale IP, può inviare email per quel dominio.
In sintesi succede quanto segue:
- Il server che riceve la posta elettronica verifica il dominio presente nel RETURN PATH, interroga il DNS del dominio, cercando il record SPF: viene effettuata una query DNS TXT e così viene verificato che l’IP da cui l’email proviene sia tra quelli autorizzati dal record SPF
- Se viene trovato il record SPF e questa corrispondenza non viene rispettata, il messaggio verrà rifiutato oppure segnalato come spam.
- Se invece non è presente il record SPF il controllo sull'indirizzo IP di invio non viene effettuato.
Attualmente i maggiori servizi di posta, come ad esempio Gmail, Hotmail, Libero,... effettuano l'autenticazione tramite SPF per verificare l’identità del mittente e, dunque, verificare che l’indirizzo IP da cui proviene l’email sia tra quelli autorizzati all’utilizzo del nome a dominio riportato, pena la messa in spam, o il respingimento, della mail stessa.
Chi è autorizzato ad inviare una email?
Ad esempio, ho un dominio "miosito.it" registrato presso Aruba.it, dove ho acquistato un pacchetto "Gestione DNS e Mail". Creo un indirizzo email "info@miosito.it".
Chi può inviare mail di questa casella? Il mail server di Aruba (se aprite la gestione DNS troverete già configurato il record SPF con il suo ip).
Ma potrei avere un server di posta in casa e utilizzare anche il mio server di posta come mittente delle mail. Per cui dovrò aggiungere anche il nostro server di posta come mittente autorizzato.
Vediamo adesso come configurare un record SPF
Dovete accedere al pannello di gestione DNS del tuo dominio. Questo ad esempio è il pannello di Aruba. Dopo il login sul menu di sinistra clicchiamo su "Utility dominio > Gestione DNS".
La gestione DNS richiede un po di esperienza e conoscenza. Una configurazione errata del record può portare a danni notevoli al dominio, e, nel caso della posta elettronica, al rifiuto di molta posta invete legittima. Quindi procedete con prudenza (fate un backup delle regole già presenti così, in caso di problemi, potete ripristinare la configurazione precedente).
Nel pannello DNS, troverai la scheda relativa ai record TXT. Clicca su "Gestisci".
Accedi così allo strumento per creare / modificare i record TXT
Nel campo di testo aggiungiamo questa questa sintassi:
v=spf1 mx ip4:46.37.13.24 -all
Vediamo nel dettaglio cosa abbiamo scritto:
- mx indica che i server che ricevono la posta in ingresso (MX) del dominio sono autorizzati anche a spedire i messaggi (nel nostro caso quindi i server MX di aruba)
- ip4 indica gli indirizzi IPv4 autorizzati ad inviare la posta, ad esempio l'ip 46.37.13.24
- il comando -all indica che tutti gli altri server non sono autorizzati all’invio. questo significa che solo l'ip 46.37.13.24 può inviare le mail del nostro dominio
Salviamo la configurazione.
Vediamo adesso una sintessi più complessa
v=spf1 mx ip4:46.37.13.24 include:aruba.it ~all
- il comando include indica eventuali nomi a dominio per cui valgono le stesse regole per il nome a dominio che si sta configurando
- al posto del comando –all, abbiamo indicato ~all per rendere meno "bloccante" il controllo. In sua presenza, infatti, se la regola SPF non è verificata, il messaggio può essere accettato purché venga "marchiato" e il filtro antispam effettui ulteriori controlli sull’IP di provenienza. I simboli – e ~ sono detti qualificatori.
Ecco tutti i possibili qualificatori
VALORE | AZIONE |
-all | Fail: se il controllo SPF fallisce, l’email non sarà consegnata al server di destinazione. |
~all | SoftFai: se il controllo SPF fallisce, l’email sarà consegnata al server di destinazione ma verrà contrassegnata come spam. |
+all | Pass: il controllo spf verrà sempre superato. |
?all | Neutral: il controllo SPF sarà ignorato. |
Creato il record TXT occorre normalmente attendere qualche minuto affinchè la modifica abbia effetto.
Verifica configurazione
Per verificare che la configurazione effettuata sia andata a buon fine è possibile ricorrere a strumenti online di interrogazione del record DNS, come ad esempio esempio mxtoolbox.com o kitterman.com.
Oppure, se disponete di un accesso ad un server Linux, da terminale usate il comando "dig" per effettuare uan QUERY sul DNS
# dig miosito.it TXT
La risposta conterrà la "ANSWER SECTION" con il record SPF creato
.....
;; ANSWER SECTION:
miosito.it. 21600 IN TXT "v=spf1 mx ip4:46.37.13.24 include:aruba.it ~all"
.....
Configurare SPF non è tuttavia sufficiente per esser certi che la nostra mail, o newsletter, non finisca in spam.
Occorre configurare altri record DNS, come il record DKIM, il PTR e il DMARK, di cui ci occuperemo in altri articoli dedicati: non sono tecniche antispam alternative, ma devono essere implementate possibilmente tutte per rafforzare la reputazione del mittente.
Potrebbe interessarti
- Come leggere un report DMARC aggregato.
- Come implementare la crittografia TLS su Postfix
- Cosa sono il record PTR ed il reverse DNS, e come vengono utilizzati dai server di posta per verificare l'autenticità del mittente.
- Creiamo un record DMARC per definire le azioni da eseguire nel caso in cui i controlli SFP e DKIM falliscano.
- Creare un record DKIM per verificare l’autenticità del contenuto della mail ed inviare una email senza rischio spam