Se qualcuno inviasse mail utilizzando il vostro indirizzo email? Magari con contenuto falso o fraudolento? Sarebbe un grave danno di immagine e avrebbe degli effetti fastidiosi e indesiderati. Eppure è possibile e viene fatto di continuo.
Difendere la propria identità in rete è sempre più importante, in questo articolo vedremo come sia possibile in una certa misura contrastare l'utilizzo del proprio indirizzo e-mail da parte di soggetti non autorizzati (Es. Spammer)
Premessa
E' bene chiarire che per inviare mail "camuffando" l'indirizzo del mittente non è necessario essere in possesso delle credenziali (username e password) dell'account. Questo sarebbe un caso di sottrazione di credenziali ben più grave del caso preso in esame in questo articolo, che riguarda il cosiddetto Email Spoofing, in genere tecnica alla base per altri scopi, come l'invio di SPAM, la diffusione di Malware o Phishing.
Per capire i concetti è opportuno chiarire che quando si invia un messaggio di posta esiste in genere un server mittente e un server di ricezione, questi due server sono in genere gestiti da soggetti diversi.
Come possiamo difenderci?
SPF, DKIM e DMARC
Queste tre sigle sono un po' come i tre moschettieri, sono le tre tecniche più usate e diffuse per contrastare l'Email Spoofing. Il loro limite è che per ottenere un ottimo effetto queste tecniche dovrebbero essere adottate da tutti i gestori di posta della rete (ovvero del mondo). Fortunatamente la loro diffusione sta aumentando e come si suol dire: chi mai comincia...
Vediamole più nel dettaglio.
SPF (Sender Policy Framework)
Si basa su un concetto semplice: dichiarare anticipatamente da che server (o indirizzi IP) è lecito aspettare che le e-mail del nostro dominio provengano, chi riceve le mail dovrà solo controllare quale è il server mittente e di conseguenza accettare o rifiutare il messaggio. E come fare questa dichiarazione? Pubblicandola su un record DNS di tipo TXT così che sia a disposizione di tutti, semplice?
Ecco un esempio di record SPF:
v=spf1 ip4:91.142.143.200 a mx -all
Questo vorrebbe dire che le mail possono provenire da un certo IPv4, il record A che corrisponde al dominio mittente, i record MX corrispondenti al dominio mittente. Se questo non accade si chiede al destinatario di non accettare i messaggi provenienti in quanto sono tentativi di Email Spoofing.
A livello teorico il concetto è semplice e sembra essere la soluzione a tutti i mali, purtroppo come anticipato per ottenere risultati non è sufficiente per il mittente dichiarare il record SPF (questo è solo il primo passo). E' necessario che i destinatari, potenzialmente tutti i gestori della rete effettuino un controllo SPF prima di accettare le mail...
Inoltre esiste la possibilità che le mail siano "legittime" ma che per errata configurazione del record non se ne sia tenuto conto (il mittente dichiara un record SPF incompleto).
Per questo e altri motivi la policy prevede anche un valore intermedio che non è ne positivo (accetta) ne negativo (rifiuta) ma è qualcosa di soft (decidi di volta in volta cosa fare), rappresentato dal simbolo tilde ~.
DKIM (DomainKeys Identified Mail)
DKIM prevede di dichiarare una firma pubblica sempre su record DNS apposito e firmare elettronicamente i messaggi in transito in uscita, questo consente a chi li riceve di attribuire (nel caso la firma sia o verificata) maggiore "fiducia" al messaggio. Non esiste tuttavia un esplicita policy per rifiutare il messaggio, eventualmente la mancanza di corrispondenza potrebbe essere un parametro di giudizio che assieme a altri valori potrebbero portare alla classificazione del messaggio come Spam.
Questa firma elettronica non è direttamente visibile all'utilizzatore perché contenuta nell'header, tuttavia alcuni client di posta, come il Webmail di bitName ci informa se il mittente ha una firma DKIM valida.
DMARC
La creazione del record DMARC è subordinata alla creazione dei record SPF e DKIM. Con questo record è possibile in una certa misura interagire con il server del destinatario indicando cosa fare nel caso in cui DKIM e SPF non superino i test. Se siamo sicuri di come abbiamo configurato DKIM e SPF è possibile indicare al destinatario di adottare una policy restrittiva, diversamente è cauto iniziare con una policy none e verificare il funzionamento del sistema.
Una opzione molto interessante è che i gestori possono opzionalmente inviare dei report di come i messaggi sono stati trattati.
Un esempio di record DMARC
v=DMARC1; p=none; rua=mailto:me@example.com
Si indica di non adottare nessuna policy e inviare un feed-back a me@example.com.
Implementare gradualmente
Questi sistemi sono armi a doppio taglio, contrastano Spam e Spoofing ma possono anche comportare problemi se ci si dimentica di qualcosa o si fanno dichiarazioni errate, è bene implementare in modo cauto e graduale questi meccanismi e verificarne il buon funzionamento, via via poi incrementare l'effetto agendo sui valori di policy.
Conclusioni
Dal momento che la verifica dell'esistenza o meno di SPF, DKIM e DMARC sono sinonimo di garanzia del messaggio Queste tecnologie inoltre hanno un effetto positivo sulla reputazione delle e-mail inviate che saranno a maggior ragione classificate come non spam da chi le riceve.
In breve: a volte chi implementa queste tecniche non lo fa per difendersi dallo spoofing ma per aumentare la penetrazione dei propri messaggi, per questo si nota che anche gli stessi spammer e sistemi di newsletter adottano queste tecniche.