Combattere il phishing adottando SPF

Nella moderna era fatta di internet ed email è incredibile (se ci pensiamo) che chiunque possa inviare una mail e presentarsi al destinatario con un mittente sua a scelta.
Si avete capito bene, chiunque può inviare una mail ad una persona e presentarsi come Silvio Berlusconi e scrivere ciò che vuole nella mail!

Alla luce di questo, sarebbe lecito chiedere che quando ricevo una mail da Poste Italiane sia effettivamente una mail di Poste Italiane e non di pinco pallino che si presenta come Poste Italiane con l’intenzione di rubarmi i dati della carta di credito.
È da qui che nasce il progetto SPF, principalmente per risolvere i casi di phishing.
Vanno sotto il nome di phishing tutte quelle mail create con il preciso scopo di far abboccare il destinatario e ottenere da lui (ingannandolo) dati altrimenti riservati, personali, segreti o peggio ancora, soldi, pagamenti, coordinate bancarie, password ecc…
Come funziona allora SPF e come fa a garantire che le mail che riceviamo sono effettivamente inviate da un mittente attendibile?
Prima di parlare di questo è necessario conoscere il percorso che fa una mail, molti utenti pensano infatti che le mail svolazzino con metodi misteriosi da un outlook all’altro… In realtá il percorso ha una spiegazione logica che include diversi attori ignoti ai più.
Succede infatti che io, mittente, inviando una mail dal mio programma di posta elettronica, non invio nulla al destinatario, bensì dico al server di posta in uscita di recapitare quella mail ad una o più destinatari.
Quindi ogni mail che invio, verrà sempre presa in carico dal server di posta in uscita che ho configurato sul mio programma di posta.
Questo server, a suo volta, controllerà il destinatario, e si occuperà di trovare il server autorizzato a ricevere la posta per quel dominio e solo dopo avverrà il recapito del messaggio.
Per trovare il server autorizzato a ricevere la posta di un destinatario, il server del mittente, esegue una query DNS sul record MX del dominio del destinatario, ad esempio, se io incaricassi il mio server di consegnare una mail a [email protected], per capire chi gestisce il dominio pluto.it quest’ultimo dovrebbe fare una query DNS di tipo MX sul dominio pluto.it.
Detta in parole povere, dal prompt dei comandi DOS il comando equivalente sarebbe nslookup -type=mx pluto.it.

Una volta scoperto l’indirizzo IP del server che gestisce la posta del destinatario, parte un tentativo di recapito della mail. È in questa fase che il server del destinatario DEVE fare un check per validare il record SPF del mittente.

Ma in cosa consiste allora SPF?

Facciamo un esempio, io ho questo blog che è su ciamberlini.it, ho quindi acquistato il dominio ciamberlini.it e ne sono il legittimo proprietario. Per evitare che chiunque invii mail e si presenti come [email protected] dovrei fare una modifica al DNS di ciamberlini.it.

In particolare dovrei aggiungere un record di tipo TXT che indica qual’è l’indirizzo o gli indirizzi IP che sono autorizzati ad inviare con mittente ciamberlini.it.
Il record SPF classico é questo v=spf1 a mx -all e letteralmente indica la versione della sintassi del record SPF (v=spf1), indica che tutti i record di tipo A del dominio ciamberlini.it possono inviare insieme a tutti i record di tipo MX.
-all infine indica: il meno indica hard fail, ovvero che se chi invia non è autorizzato, la mail torna al mittente e viene rejettata immediatamente, altrimenti mettendo il simbolo tilde (~) possiamo avere un soft fail, cosicchè la mail verrà recapitata ma con un punteggio SPAM aumentato.

Riepilogando

Riepilogando, SPF è un sistema che per funzionare va implementato da entrambi gli attori, il mittente e il destinatario, il mittente si preoccuperá tramite un record TXT nel proprio dominio di indicare chi è effettivamente autorizzato ad inviare per suo conto, il destinatario invece, dovrá implementare il meccanismo di check in fase di ricezione.

Tuttavia

Col senno di poi, quando avete questo fantastico sistema che fa perfettamente il suo lavoro, diversi utenti inizieranno a dire che non ricevono la posta e questo principalmente perchè (soprattutto in Italia) chi segue queste cose, non ha le idee molto chiare.

Nei miei anni di esperienze ho scoperto ad esempio che sia Telecom che Microsoft.com hanno SPF sbagliati e non mi sembra una banalità da nulla!

Approfondimenti

Essendo un aspetto veramente molto tecnico, esiste pochissimo su SPF in lingua italiana, vi rimando comunque al sito del progetto dove vengono indicate tutte le direttive e la sintassi sfruttabile per creare il proprio SPF adhoc.

http://www.openspf.org/

Per i più curiosi/tecnici/nerd, ecco il sito della relativa RFC contenente vita morte e miracoli su SPF:

http://tools.ietf.org/html/rfc4408

2 pensieri su “Combattere il phishing adottando SPF

Rispondi

Leggi articolo precedente:
Single-label domain – Best practices

Nei domini con FQDN a etichetta singola anche detti single-label domain (senza top level domain) è possibile che i client...

Chiudi