Mi sono trovato in mezzo a discussioni su sistemi di SPAM e l’uso dei record SPF perché “I moderni sistemi di mail security, attraverso il controllo del record SPF, bloccano le email provenienti da server non indicati nel suddetto record.“.
A pelle, non mi combaciava con quello che sapevo. Almeno parlando dei fondamentali, di come dovrebbero essere usati i record SPF, di dove devono essere configurati. Quindi visto che i fondamentali fa bene ripassarli ogni tanto ho voluto rileggere e ricercare altre informazioni. Tra tutto quello che ho trovato vi riporto il video di un’azienda in qui è spiegato molto bene.
SPF significa Sender Policy Framework. È una tecnologia utilizzata per collegare un indirizzo email ad un dominio specifico attraverso dei record aggiunti al DNS, appunto i record SPF.
Ha un ruolo fondamentale nel mitigare una piaga presente nei sistemi di email fin dall’inizio. La debolezza è nel fatto che è molto difficile identificare un indirizzo email mittente legittimo da uno falso. Una tecnologia utilizzata per aiutare in questa identificazione sono i record SPF.
In modo semplice possiamo dire che, i record SPF sono alla base del meccanismo che permette, ad un mail server che riceve delle email, di decidere se accettare o rifiutare delle email.
Attenzione! Non è il controllo dello spam. Le email rifiutate con questo controllo, quasi sempre, non vengono recapitate nella casella di destinazione, ma sono direttamente cestinate.
Il meccanismo di controllo si basa su tre passi:
In modo semplice possiamo dire che l’SPF è strutturato così:
Innov2e ha tutti gli indirizzi email che terminano con @innov2e.it ed il suo email server è su OVH ed ha un nome che termina per ovh.com.
Senza far nulla una mail inviata dall’indirizzo abc@innov2e.it all’indirizzo 123@altro.com viene vista, dal mail server di altro.com, recapitata dal dominio ovh.com ma spedita da innov2e.it.
È chiaro che, senza nessun’altra informazione, questo sembra tanto qualcuno che finge di essere qualcun’altro. O almeno sembra tale, e quindi la maggior partre dei server di posta lo considerano sospetto.
Per evitare questo sul DNS di innov2e.it aggiungo un record TXT del seguente tipo:
TXT @ v=spf1 a mx include:mx.ovh.com ~all
Dove:
– TXT è il tipo record,
– @ è il modo in cui il DNS di OVH si referenzia, quindi punta a innov2e.it
– v=spf1 a mx include:mx.ovh.com ~all è la parte testo del record codificata secondo la sintassi dell’SPF che, nello specifico significa:
Attenzione questo è un record SPF (v=spf1) dove c’è scritto che se ti arriva una mail dal server mx.ovh.com da un mittente che ha l’indirizzo email che finisce con innov2e.it (il carattere @) devi considerarlo un mittente attendibile.
Quindi i record SPF sono dei record che, su un dominio che invia email, di dicono chi è autorizzato ad inviare per conto di quel dominio.
Riassumendo una persona invia una email al proprio email server che la trasmette all’emeil server del destinatario, questo interroga il DNS del server che l’ha inviata e se riconosce il mittente che l’ha inviata la inoltra alla casella specifica altrimenti la scarta. Notate i corsivi.
Quale è il mittente che l’ha inviata? Quali sono le parti di una email che vengono (o possono essere) controllate con il meccanismo degli SPF? Quando i server si scambiano le email attivano tra loro una conversazione di tipo back-and-foward, noi diremmo avanti e indietro. È proprio un dialogo fra loro che si basa sul protocollo SMTP.
Questo dialogo tra sistemi educati, a grandi linee, funziona così:
Nella parte di dialogo dove il client indica l’indirizzo del Mittente (MAIL FROM) il server che dovrebbe ricevere la mail eseguetutta una serie di controlli per verificare l’attendibilità di chi spedisce.
Per prima cosa esegue un check SPF sul DNS del client. Se questo non va a buon fine, il server di posta che riceve continua controllando se il dominio indicato nel saluto iniziale (HELO) è lo stesso del mittente. Quindi i controlli procedono verificando una serie di domini/indirizzi rispetto ai record SPF presenti:
Quindi è chiaro che il server che riceve effettua non uno, ma una serie di controlli, sugli indirizzi contenuti nella mail e che nelle email ci possono essere indirizzi e domini differenti come “mittenti”. Queste differenze non sono necessariamente un segno di azioni malevoli, ma possono essere uste per far operare correttamente dei sistemi software.
Comunque vada i vari check dell’SPF ed i risultati vengono inseriti nell’header della mail come Received-SPF. Header che è possibile ispezionare da qualsiasi client di posta ed appare nel seguente formato:
Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.999.999; helo=mail-ed1-f45.google.com; envelope-from=vvvvv@gmail.com; receiver=ccccc@innov2e.it