SPF e DKIM permettono ai server di ricezione email di verificare l’autenticità del mittente e validare la posta elettronica in ingresso, valutando correttamente quale missiva considerare come spam e quale, invece, considerare una comunicazione legittima. Per evitare che le proprie email vengano erroneamente classificate come spam potrebbe essere opportuno configurare il proprio dominio introducendo due record, sconosciuti ai più ma davvero molto utili, denominati SPF (Sender Policy Framework) e DKIM (Domain Keys Identified Mail).
Entrambi questi record, se correttamente configurari, consentono di implementare una tecnologia di autenticazione che viene utilizzata dai filtri anti-spam per certificare l’identità del mittente. In pratica, il server che riceve la posta elettronica, guarda al dominio del mittente che risulta nel campo FORM e verifica quale sia il dominio del mittente disponibile nell’header RETURN PATH. Di entrambi, il server interroga il loro DNS per verificare che l’IP da cui l’email proviene sia in realtà tra quelli autorizzati. Se questa corrispondenza non viene rispettata, il messaggio è rifiutato oppure segnalato come potenziale spam.
Il record SPF associato ad un nome a dominio è un parametro molto importante dei DNS, in quanto, consente di identificare i server di posta che sono autorizzati ad inviare email per conto del proprio dominio. Gli spammer sono molto abili, infatti, ad inviare messaggi da indirizzi email falsi, che spesso riportano estensioni uguali a nomi a dominio noti o comunque realmente esistenti, senza naturalmente aver ottenuto alcuna autorizzazione all’utilizzo del nome stesso.
Attualmente la maggior parte dei provider di posta del calibro di Gmail, Hotmail, Comcast, Verizon e così via, sfruttano la tecnologia di 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 il respingimento della mail stessa. Alcuni domini dei destinatari potrebbero, inoltre, rifiutare la ricezione delle mail provenienti da domini sprovvisti di SPF, in quanto non è possibile verificare se questi derivino da server di posta autorizzati. Implementare il record SPF, quindi, è molto importante in quanto evita che le mail inviate dal proprio dominio vengano dirottate verso la Posta Indesiderata o classificate come spam.
Per configurare il record SPF, serve creare il record TXT contente ad esempio una delle seguenti sintassi:
- v=spf1 ip4:IPexample include:example.com -all
dove con ip4 si intende gli indirizzi IPv4 degli host che sono autorizzati ad inviare la posta in uscita per il dominio, il comando include indica eventuali nomi a dominio per cui valgono le stesse regole per il nome a dominio che si sta configurando e con il comando -all si indica che tutti gli altri server non sono autorizzati all’invio (nel caso specifico tutti gli altri diversi da quelli che si trovano nel comando include e ip4);
2. v=spf1 mx a:pippo.azienda.it include:example.com –all
dove mx indica che i server che ricevono la posta in ingresso (MX) del dominio sono autorizzati anche a spedire i messaggi, a:pippo.azienda.it indica che anche la macchina attestata su pippo.azienda.it è autorizzata all’invio, mentre i meccanismi successivi sono identici alla sintassi precedente.
Al posto del comando –all, non è raro individuare ~all, che indica che sono esclusi dall’autorizzazione tutti gli altri indirizzi IP non indicato nella sintassi, ma che 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.
Per configurare l’SPF bisogna quindi conoscere bene sia la sintassi del DNS, sia alcune informazioni di base: ad esempio è necessario conoscere tutti i server che per qualche motivo possono aver bisogno di inviare posta per conto del dominio che si sta configurando. Una configurazione errata del record può portare al rifiuto di molta posta legittima. Inoltre, per verificare che la configurazione effettuata sia andata a buon fine è possibile ricorrere all’utilizzo di un comodo strumento online di interrogazione del record DNS.
Per quanto concerne i record DKIM, invece, rappresentano una sorta di firma digitale del proprio nome a dominio che viene aggiunta all’intestazione del messaggio. I destinatari delle mail possono, grazie a questa tecnica, verificare che la firma coincida perfettamente con il nome a dominio di mittenti “conosciuti” e che non sia stata modificata da eventuali spammer. Yahoo, Gmail e altri utilizzano già email firmate con DKIM, ma è possibile implementare firme custom per ogni cliente.
Un esempio di DKIM di un messaggio inviato da Gmail è:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=domainkey-signature:mime-version:received:received:date:message-id:subject:from:to:content-type;
bh=3dtcsaBBe3YbhnaGEPHyCKTt+OvSDNoCvtGfdQbZDYU=; b=OTAPmIyqYGpUujENorUHA92vWCVzfXE0dA8hROVDgPMzk3rdVEvT8ZilljCpFRYTZVR72O62lSUFxYMHJX4n23hab1JebPe7uCmyY+zTMj8R7KWzLqqATktFy+ZS7OPQKsIh59ncnK4a2cZZPgEPe8Zn8DUfuJ3HgTffD21KVFw=
dove:
- a = algoritmo di firma
- d = dominio corrispondente alla firma
- h = lista degli header inclusi nella firma
- b = la firma stessa
C’è comunque da sottolineare un fatto di non secondaria importanza: una mail firmata, non è sinonimo di posta elettronica genuina, quindi classificabile come no-spam. Configurare SPF e DKIM non sono quindi, due tecniche antispam alternative, ma devono essere implementate in contemporanea.