TECHTARGET

Come autenticare e-mail aggiungendo un record SPF 

Per contrastare fenomeni come spam, phishing e contraffazione delle e-mail può essere utile creare record Sender Policy Framework per elencare i server di posta autenticati per un dominio. 

Pubblicato il 10 Nov 2022

autenticare e-mail

Frequente abitudine degli hacker black hat è quella di falsificare e-mail dannose su domini altrui per mettere in atto i loro piani criminali. Per mitigare il rischio legato a questa tecnica, una strategia efficace può essere quella di rendere pubblici server di posta elettronica, indirizzi IP e domini autorizzati a inviare posta per conto di quel dominio. Serve quindi implementare il protocollo Sender Policy Framework per la creazione di un record SPF. Prima di farlo, meglio conoscerne i concetti chiave e la sintassi, oltre ad analizzarne alcuni esempi per comprendere come aggiungerne uno al DNS.

Cos’è il protocollo SPF e come funziona?

SPF è uno dei tre protocolli di autenticazione e-mail che, assieme, proteggono da spoofing, spam e phishing fornendo ai mittenti alcuni strumenti per:

  • Identificare nome host e domini o indirizzi IP dei server autorizzati a inviare posta per un dominio, utilizzando i record SPF.
  • Autenticare messaggi firmati digitalmente con l’utilizzo delle chiavi pubbliche memorizzate nei record DKIM (DomainKeys Identified Mail).
  • Indicare ai server di ricezione come elaborare le e-mail provenienti da un dominio in caso di mancata autenticazione, con l’utilizzo di Domain-based Message Authentication, Reporting and Conformance (DMARC).

Tutti questi protocolli utilizzano i record DNS per memorizzare le informazioni sui servizi e-mail forniti dal titolare del dominio. Ne esistono di diverse tipologie.

  • Record DKIM: fornisce una chiave pubblica per autenticare le e-mail che sono state firmate digitalmente utilizzando il protocollo
  • Record DMARC: indica le misure da adottare in caso di ricezione di un’e-mail non autenticata
  • Record SPF: spiega come identificare indirizzi IP, domini e sottodomini autorizzati a inviare e-mail per conto del dominio specifico nell’intestazione dell’e-mail

Sia SPF che gli altri due protocolli utilizzano il DNS per trasmettere ai destinatari delle e-mail le informazioni necessarie per autenticare le e-mail in arrivo senza renderle non recapitabili. L’obiettivo è permettere a chi invia le e-mail di creare record DNS TXT per pubblicare le regole di autenticazione delle e-mail provenienti dai proprietari dei domini. Per poter creare qualsiasi record SPF, DKIM o DMARC, è quindi essenziale essere in grado di aggiungere un record DNS TXT.

Le aziende possono creare record DNS che i destinatari utilizzeranno per la convalida delle e-mail. Tale processo può variare a seconda delle modalità di invio, se tramite provider di servizi di posta elettronica o provider di hosting, se da un ISP o da un altro server di posta di terze parti che invia e-mail per conto del dominio di un’organizzazione. Anche il processo di creazione del nuovo record SPF può essere complicato e dipende dall’infrastruttura di posta elettronica del proprietario del dominio.

I record SPF TXT contengono gli indirizzi IP e i nomi di dominio dei server di posta autorizzati a inviare la posta per il dominio associato. I server di ricezione utilizzano queste informazioni per effettuare gli opportuni controlli e decidere se consegnare l’e-mail.

Sintassi dei record SPF

La sintassi SPF, definita nell’Internet Engineering Task Force RFC 7208, specifica tre componenti nei record SPF: meccanismi, qualificatori e modificatori.

Meccanismi: cosa sono e quando corrispondono

I meccanismi sono le tecniche per verificare se uno specifico dominio è autorizzato a inviare e-mail. A ciascuno di essi è associata una condizione che deve essere soddisfatta per ottenere “il via libera” e convalidare poi il messaggio.

    • v è la versione di SPF utilizzata nel record e deve sempre corrispondere: è obbligatorio. Compare all’inizio del record e l’unico suo valore valido è v=spf1 — per la versione 1 di SPF.
    • ALL seleziona tutti i messaggi in entrata. Non è obbligatorio ma è meglio includerlo sempre come ultimo meccanismo. Aiuta ad abbinare tutti i messaggi in arrivo che non sono altrimenti esplicitamente autenticati.
    • A, o indirizzo, identifica l’indirizzo utilizzato dai server autorizzati e si riferisce al tipo di record DNS A o indirizzo. Questo meccanismo specifica che tutti i record di indirizzo IP per il dominio specificato devono essere verificati. C’è corrispondenza se l’indirizzo IP di origine del server viene trovato in uno qualsiasi dei record di indirizzo.
    • IP4 lavora sull’indirizzo di rete IPv4. Quando include la lunghezza del prefisso questo meccanismo viene indicato come intervallo di rete, per specificare il subnetting, altrimenti appare il singolo indirizzo IPv4.
    • IP6 si riferisce all’indirizzo di rete IPv6. Anche in questo caso si può trovare un intervallo di rete o l’indirizzo IPv6 specifico di un host a seconda delle indicazioni fornite.
    • MX riguarda il tipo di record DNS MX o di scambio di posta. Serve per specificare un dominio o un sottodominio, il server ricevente elabora questo meccanismo interrogando tutti i record di indirizzo per quel dominio o sottodominio. C’è corrispondenza quando i record MX contengono lo stesso dominio utilizzato per inviare il messaggio.
    • PTR è riferito al tipo di record PTR o puntatore del DNS. È un meccanismo di cui si scoraggia fortemente l’uso perché lento e inaffidabile. Il rischio è che stressi il DNS richiedendo un numero elevato di interrogazioni DNS.
    • EXISTS specifica un dominio e il server ricevente interroga il DNS per trovare i record di indirizzo per quel dominio. Se vengono trovati uno o più record di indirizzo, c’è corrispondenza indipendentemente dall’indirizzo. Si tratta di un meccanismo utilizzato per scopi specifici come la ricerca di IP inversi e l’impostazione di eccezioni per utenti specifici.
    • INCLUDE è un meccanismo di corrispondenza ricorsiva. Il dominio in esso specificato viene interrogato per trovare un record SPF. In caso di esito negativo, il meccanismo restituisce “fail”, altrimenti il server ricevente elabora il record SPF e, se corrisponde, si ottiene “pass”.

Qualificatori: istruzioni per procedere

I qualificatori sono prefissi facoltativi da aggiungere ai meccanismi se si desidera indicare cosa deve accadere quando un server ricevente corrisponde al meccanismo:

  • +, o pass: superamento dell’autenticazione.
  • -, o hard fail: non superamento dell’autenticazione.
  • ~, o soft fail: fallimento dell’autenticazione. L’email deve essere considerata sospetta.
  • ?, o neutro: mancanza nel messaggio delle informazioni necessarie per convalidare il mittente. L’email viene accettata.

Il meccanismo elencato come -all, indica che tutta la posta proveniente da un certo dominio dovrebbe essere rifiutata. Corrisponde a ogni suo messaggio e il qualificatore – hard fail – significa che le corrispondenze indicano che non c’è autorizzazione a procedere.

Modificatori: come fornire dettagli aggiuntivi

I modificatori sono una componente aggiuntiva e opzionale dei record SPF. Forniscono informazioni aggiuntive ma non cambiano il modo in cui i messaggi vengono autenticati. I due modificatori validi definiti per SPF sono i seguenti:

    • modificatori di reindirizzamento: indicano il dominio da interrogare per ottenere l’SPF valido per il messaggio in arrivo. Quando un server di ricezione vede questo modificatore deve effettuare una ricerca DNS per il dominio nel modificatore di reindirizzamento.
    • modificatori Exp: includono il dominio da interrogare per ricevere una spiegazione del motivo per cui un server rifiuta un messaggio

Esempi di record SPF

I record SPF sono generalmente di solo testo e i componenti sono separati da spazi e possono avere lunghezza anche ridotta. Il qualificatore predefinito è pass e i parametri come domini o indirizzi IP di alcuni meccanismi sono inseriti nel record SPF dopo il loro nome e i due punti.

v=spf1 a:example.com -all

Una delle più semplici tipologie di record SPF è la seguente:

v=spf1 -all

Significa che non esiste una fonte autorizzata per le e-mail provenienti da questo dominio. È il record SPF utilizzato per i domini che non inviano; letteralmente significa che tutte le e-mail devono essere rifiutate.

Due sono i meccanismi utilizzati: la versione v=spf1 e il meccanismo all, che, per impostazione predefinita, consente sempre di accettare qualsiasi dominio non altrimenti escluso dalle regole precedenti. ALL viene utilizzato solo alla fine del record SPF per questo motivo. In pratica, il protocollo ignora tutti i meccanismi che seguono ALL in un record SPF.

Un esempio più utile è il seguente:

v=spf1 mx:mail.example.org -all

In questo caso, il primo meccanismo è mx, che, per impostazione predefinita, accetta la posta dal record DNS MX per il dominio mail.example.org. Il qualificatore -all significa che qualsiasi posta che non corrisponda al record MX del DNS per il dominio di invio deve essere elaborata come fallita.

Un altro esempio comune che utilizza il DNS per permettere al proprietario del dominio di fare riferimento a un dominio diverso è il seguente:

v=spf1 include:spf.protection.outlook.com -all

In questo caso, il meccanismo di include viene utilizzato per aggiungere il record SPF per gli utenti di domini personalizzati in Microsoft Office 365 (spf.protection.outlook.com). A loro volta i proprietari di domini che utilizzano Google Workspace per la loro posta elettronica potrebbero utilizzare un record simile a questo:

v=spf1

ip4: 198.51.100.0/24

include:_spf.google.com

include:mailservice.example.net

~all

“Traducendolo” riga per riga se ne comprende lo scopo.

  • v=spf1: SPF versione 1
  • ip4: 198.51.100.0/24: L’invio di e-mail è autorizzato da un server di posta elettronica nell’intervallo di indirizzi IP da 198.51.100.1 a 198.51.100.255.
  • include:_spf.google.com: Corrisponde ricorsivamente al record SPF memorizzato nel record TXT del DNS denominato _spf.google.com. È qui che Google memorizza il record SPF per i clienti di Google Workspace.
  • include:mailservice.example.net: Corrisponde ricorsivamente al record SPF memorizzato nel record DNS TXT denominato mailservice.example.net. Si tratta di un nome che fa riferimento a un record SPF pubblicato da un provider di servizi di posta.
  • ~all: Tutto ciò che non corrisponde ai meccanismi precedenti deve essere trattato come un soft fail e inviato alla cartella della posta indesiderata o dello spam.

In questo esempio, il proprietario del dominio autorizza l’invio di e-mail da server situati sulla propria rete IP: 198.51.100.0/24 si riferisce all’indirizzo di rete 198.51.100.xxx e a qualsiasi host con un indirizzo IP su tale rete. Le e-mail provenienti da qualsiasi altro intervallo di indirizzi IP devono essere confrontate ricorsivamente sia con il record SPF di Google (_spf.google.com) sia con il record SPF associato al provider di servizi e-mail del proprietario del dominio (mailservice.example.net).

Le e-mail in arrivo che non corrispondono a nessuno di questi meccanismi (indirizzo IPv4, record SPF di Google Workspace e record SPF fornito dal provider di servizi e-mail) devono essere considerate dubbie e consegnate alla cartella spam del destinatario.

Questi esempi di record SPF sono utili punti di partenza per sviluppare una strategia che includa il coordinamento con i provider di servizi di posta elettronica e di servizi di dominio, gli amministratori di dominio e i responsabili dei sistemi di posta elettronica della stessa organizzazione.

Come aggiungere un record SPF

Una volta composto, il record SPF deve essere pubblicato come record DNS TXT. È un’operazione non banale perché può influire sul modo in cui il dominio viene utilizzato da tutta la rete Internet.

I record DNS TXT vengono comunemente aggiunti utilizzando il portale web o l’applicazione del provider di servizi DNS. Il processo può essere semplice come scegliere l’opzione “Aggiungi record” da un menu a tendina e poi inserire i componenti del record.

L’amministrazione dei domini può essere gestita da professionisti dell’IT e delle reti che utilizzano il servizio Active Directory di Microsoft per aggiungere i record DNS TXT ai server DNS aziendali, ma le modifiche devono comunque essere poi diffusamente trasmesse su Internet dal fornitore di servizi DNS del dominio.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4