Spiegazione del DMARC

On Giugno 12, 2023
9min read
Zakhar Yung Technical Content Writer @Mailtrap
This is a cover image for the article DMARC explained which covers the details of the email authentication protocol.

Nel 2012, gli ingegneri di Microsoft, PayPal, Yahoo! e Google si sono incontrati per discutere di come rendere l’autenticazione delle e-mail ancora più a prova di bomba. Poco dopo, hanno rilasciato il DMARC al mondo.

Qual è lo scopo del DMARC, come si presenta e come funziona, e molte altre domande relative al famoso protocollo di autenticazione trovano risposta nel testo che segue. Continuate a leggere!

Che cos’è il DMARC?

Inizieremo questo articolo con la domanda presente nella mente della maggior parte dei lettori: “Che cosa significa DMARC?”. La risposta è: Domain-based Message Authentication, Reporting & Conformance.

Il DMARC non solo ha il nome più complicato dei tre principali protocolli di autenticazione delle e-mail, ma è anche il più efficace. È facile capire perché. 

Il DMARC sfrutta i controlli DKIM (DomainKeys Identified Mail) e/o SPF (Sender Policy Framework) per eseguire una convalida più avanzata su ogni messaggio e-mail ricevuto.

L’autenticazione DKIM utilizza le firme DKIM per verificare l’integrità del contenuto di un’e-mail e la sua origine. L’SPF, invece, consente al proprietario di un dominio di autorizzare gli indirizzi IP a inviare e-mail con il nome del dominio ed è utilizzato da provider di servizi Internet come Gmail, Yahoo, ecc.

Con l’autenticazione DMARC, il proprietario di un dominio può specificare la propria procedura di autenticazione, nota anche come criterio DMARC. Utilizzando tale criterio, si istruisce un server in entrata su cosa fare se un’e-mail non supera il test DMARC. 

Infine, il criterio può anche fornire rapporti con i dettagli di ogni controllo per migliorare i processi e fornire un avviso immediato se qualcuno fa spoofing del dominio.

Come funziona il DMARC?

La chiave per comprendere il DMARC e il suo funzionamento è sapere che è necessario impostare un record SPF o un record DKIM o, meglio, entrambi. 

Quando si riceve un’e-mail, il server ricevente esegue una ricerca DNS (Domain Name System) e controlla se esiste un record DMARC. 

DKIM/SPF viene eseguito come di consueto. 

Il server ricevente esegue quindi un cosiddetto “test di allineamento DMARC” per verificare se:

  • Nel caso di SPF, l’indirizzo e-mail “envelope from” all’interno dell’intestazione tecnica nascosta dell’e-mail corrisponde all’indirizzo “return-path”. In altre parole, si verifica se l’indirizzo e-mail da cui è stato inviato il messaggio corrisponde all’indirizzo a cui verrebbe inviata una potenziale risposta.
  • Nel caso di DKIM, il valore dietro il tag “d” (dominio del mittente dell’e-mail) corrisponde al dominio da cui è stata inviata l’e-mail.

Naturalmente, se sono impostate entrambe le autenticazioni, vengono eseguiti entrambi i test di allineamento. 

I requisiti di allineamento possono essere “rigidi” (i domini devono corrispondere esattamente) o “rilassati” (i domini di base devono corrispondere, ma sono ammessi sottodomini diversi). 

Il DMARC avrà successo nei seguenti scenari:

  • Se è stata impostata solo una delle autenticazioni, la sua verifica deve avere esito positivo, insieme al relativo test di allineamento.
  • Se sono impostate entrambe le autenticazioni, una di esse deve avere successo con il rispettivo test di allineamento, ma non sono necessarie entrambe.

Si noti che il DMARC avrà comunque successo anche se, ad esempio, DKIM e l’allineamento DKIM falliscono, ma SPF e il suo allineamento hanno successo (o viceversa).

Supponiamo che un’e-mail non abbia superato la verifica DMARC per qualsiasi motivo. 

Il DMARC consente di indicare al server in entrata cosa deve accadere alle e-mail che non riescono ad essere autenticate. 

Sono disponibili tre opzioni (denominate “politiche”):

  • “Nessuno”: l’e-mail deve essere trattata come se non fosse stato impostato il DMARC (il messaggio può ancora essere consegnato, messo nello spam o scartato in base agli altri fattori). In genere si usa per controllare l’ambiente e analizzare i report senza influenzare la deliverability.
  • “quarantena”: consente di ricevere l’e-mail, ma non di inviarla alla casella di posta. Di solito, questi messaggi finiscono nella cartella dello spam.
  • “rifiuta”: scarta subito le e-mail che non hanno superato il controllo.

Questi criteri possono anche essere personalizzati. Ad esempio, con un criterio di “quarantena”, si può dire al server di posta elettronica di inviare alla cartella spam solo il 10% delle e-mail con un controllo non riuscito e di ignorare (“nessuno”) il restante 90%. 

Si noti che il fatto che si dia al server un’istruzione su cosa fare non significa che seguirà completamente il consiglio. Tuttavia, in questo modo si ha un controllo maggiore rispetto alle autenticazioni DKIM e SPF.

Infine, un server ricevente invierà rapporti per ogni verifica DMARC fallita con dati aggregati sulle verifiche non andate a buon fine. Questi dati sono preziosi per analizzare le prestazioni dei messaggi e per tenervi informati in caso di truffe di phishing.

Perché utilizzare il DMARC?

Lo abbiamo detto più volte, ma vale la pena ripeterlo: DMARC è il modo più efficace per proteggersi dallo spoofing. Punto. 

Secondo le stime dell’ HMRC, il numero di e-mail di phishing inviate dal loro dominio è diminuito di 500 milioni in appena 1,5 anni dopo l’implementazione del DMARC. 

Senza elencare altri vantaggi del DMARC, questo dovrebbe essere un motivo sufficiente per aggiungere l’implementazione del DMARC al vostro prossimo sprint. 

Ma se avete bisogno di qualcosa di più, ci sono due vantaggi principali del DMARC da considerare:

  • È molto più probabile che i criminali informatici rinuncino a tentare lo spoofing di un dominio se vedono i record DMARC (correttamente configurati) nel DNS del dominio. L’implementazione del DMARC non è ancora diffusa, quindi non sarà difficile trovare qualcosa che valga la pena.
  • I server di ricezione sanno anche che le e-mail provenienti da domini protetti da DMARC hanno molte più probabilità di essere legittime rispetto a quelle protette con uno solo degli altri metodi di autenticazione (per non parlare di quelle senza alcuna sicurezza).

In cosa consiste un record DMARC?

Avete le basi? Perfetto! Ora analizziamo un record DMARC. 

Invece di affidarci a dati fittizi, useremo il record di Square, un unicorno fornitore di servizi finanziari per le piccole imprese. Molti criminali informatici probabilmente sognano di fare lo spoofing delle loro e-mail, quindi non sorprende che abbiano scelto di proteggersi con il DMARC.

È possibile accedere al record di Square a questo link, che conduce a un sito che mostra i record DMARC per qualsiasi dominio, a condizione, ovviamente, che sia stato configurato.

v=DMARC1; p=reject; rua=mailto:dmarc-rua@square.com,mailto:dmarc_agg@vali.email,mailto:postmasters@squareup.com; ruf=mailto:dmarc-ruf@squareup.com

Esaminiamo uno per uno i parametri DMARC del record di cui sopra.

v=DMARC1

Questo è l’identificatore (una versione DMARC) che deve essere sempre incluso nel record DNS, poiché il server di posta ricevente lo cerca sempre. Se v=DMARC1 manca o è modificato in qualche modo, l’intera verifica verrà saltata.

p=reject

Questo è il criterio scelto da Square, che rifiuta tutte le e-mail che non superano il controllo DMARC. Naturalmente, potrebbero essere consegnate, ma verrà inviato un segnale forte al server ricevente per non consentire tali messaggi.

rua=mailto:dmarc-rua@square.com,mailto:dmarc_agg@vali.email,mailto:postmasters@squareup.com

Questi tre indirizzi riceveranno quotidianamente rapporti aggregati sulle e-mail che non hanno superato la verifica. I rapporti conterranno dati di alto livello sui motivi dei fallimenti, senza fornire alcun dettaglio per ciascuno di essi. Tutti gli indirizzi aggiunti qui devono essere preceduti da “mailto:” come nell’esempio precedente.

ruf=mailto:dmarc-ruf@squareup.com

Si tratta di un indirizzo e-mail al quale verranno inviati in tempo reale i singoli rapporti (ovvero i rapporti sui guasti), compresi i dettagli di ciascun guasto.

Altri record DMARC di esempio

Nell’esempio del record Square DMARC, abbiamo mostrato un record con un criterio di “rifiuto”. Per coprire le altre due varianti di criterio, utilizzeremo ora alcuni dati fittizi a scopo puramente dimostrativo.

Record DMARC con criterio “nessuno”:

v=DMARC1; p=none; rua=mailto:dmarcreports@example.com; ruf=mailto:dmarcfailures@example.com;

Spiegazione:

  • “p=none” specifica un criterio di “nessuno”, il che significa che non deve essere intrapresa alcuna azione sulle e-mail che non superano l’autenticazione DMARC.

Record DMARC con criterio “quarantena”:

v=DMARC1; p=quarantine; rua=mailto:dmarcreports@example.com; ruf=mailto:dmarcfailures@example.com;

Spiegazione:

  • “p=quarantine” specifica un criterio di “quarantena”, il che significa che le e-mail che non superano l’autenticazione DMARC devono essere messe in quarantena o segnalate come sospette dal sistema di posta elettronica del destinatario, ma consegnate comunque alla casella di posta del destinatario.

Alcuni tag DMARC opzionali per la personalizzazione

Come di solito accade, ci sono anche diversi campi opzionali che possono essere aggiunti a un record DMARC per personalizzarlo un po’.

TagSignificato

pct
Impostare la percentuale di email non riuscite a cui applicare il criterio impostato. Il valore deve essere un numero compreso tra 1 e 100.

sp
Impostare un criterio specifico per le e-mail inviate dai sottodomini. Ad esempio, si può scegliere di ignorare le e-mail fallite inviate dal dominio principale (p=none), ma di mettere in quarantena quelle inviate dai sottodomini.

adkim
È possibile scegliere l’approccio sopra menzionato per quanto riguarda il rigore del DMARC nel confrontare il dominio del mittente con il tag “d” del DKIM. Come già detto, le opzioni possibili sono “strict” e “relaxed”. Per impostazione predefinita, l’approccio è “relaxed”.

aspf
La stessa scelta di quella precedente, solo per l’allineamento SPF. Si decide se l’SPF deve puntare a una perfetta corrispondenza tra il dominio “envelope from” e l’indirizzo “return path” o se devono essere consentiti anche i sottodomini del dominio “inviato da”. Inoltre, si può scegliere se essere ” strict ” o “relaxed”.

ri
Imposta l’intervallo di tempo in cui si desidera ricevere i rapporti aggregati con i risultati dell’autenticazione (tag “rua”). Il valore è espresso in secondi e, per impostazione predefinita, è 86400 (ogni 24 ore).

fo
Impostazioni per i rapporti forensi (tag “ruf”). È possibile scegliere di inviare il rapporto se: “0” – tutti i controlli sottostanti non restituiscono un risultato DMARC positivo; “1” – qualsiasi meccanismo fallisce; “d” – DKIM non è stato verificato; “s” – SPF non è stato verificato. Per impostazione predefinita, è “0”.

Come implementare i record DMARC

L’intero processo di implementazione del DMARC si riduce alle seguenti fasi:

  • Convalida della configurazione di SPF/DKIM e dell’allineamento dei domini.
  • Generare un record DMARC e specificare le impostazioni DMARC.
  • Aggiungerlo al DNS del vostro dominio.

Verificare che DKIM e/o SPF siano impostati correttamente.

Come già detto, la presenza di DKIM o SPF è obbligatoria per il funzionamento del DMARC. Ma anche se uno dei due restituisce risultati negativi per le e-mail legittime non serve a nulla. Il test DMARC fallisce automaticamente se SPF o DKIM falliscono.

Se è stato impostato solo l’SPF, verificare se i due seguenti elementi corrispondono:

  • Indirizzo ” envelope from “: l’indirizzo da cui vengono inviate le e-mail.
  • Indirizzo “Return-path”: l’indirizzo a cui verranno indirizzate le e-mail se un destinatario risponde a un’e-mail.

Se ci si affida solo a DKIM, verificare se i due seguenti elementi corrispondono:

  • Indirizzo ” envelope from “: l’indirizzo da cui vengono inviate le e-mail.
  • “d” del vostro record DKIM.

Se utilizzate entrambi i metodi (e giustamente!), eseguite ovviamente entrambi i controlli. 

Scegliere un account e-mail per la ricezione dei record DKIM

L’aspetto positivo del DMARC è che, una volta impostato, il server inizia a inviare rapporti giornalieri sull’andamento delle e-mail (rapporti aggregati e forensi separati). In questo modo, è possibile individuare rapidamente eventuali anomalie e migliorare le prestazioni utilizzando i dati. 

Tenete presente che i rapporti vengono inviati in un formato grezzo e di difficile lettura, per cui si consiglia di utilizzare strumenti come Dmarcian o MXToolbox per ottenere il massimo dai dati. 

Generare il record DMARC

E ora, generiamo finalmente un record DMARC.

Dmarc.org raccomanda una serie di risorse per questo compito. Inoltre, ci sono diversi tag già menzionati che è necessario utilizzare nel record e alcuni opzionali. 

Si noti che il tag “p” (“policy”) rappresenterà direttamente il passo precedente.

Aggiungere il record DMARC al DNS del vostro dominio

Una volta ottenuto il record, si può procedere ad aggiungerlo come record DNS. Potreste essere in grado di farlo da soli o, in alcuni casi, potrebbe essere necessario l’aiuto del vostro provider di hosting. 

Nel registrar del dominio, è necessario aggiungere il DMARC appena creato come record TXT. Non ci soffermeremo qui sui dettagli, poiché il processo è diverso per ogni provider di hosting.

Se avete fatto tutto correttamente, dovreste ricevere i primi rapporti entro le prossime 24 ore.

Tre grandi miti DMARC sfatati

Il DMARC è impostato solo per motivi di sicurezza

Parzialmente vero. Il DMARC mira effettivamente a prevenire gli attacchi di spoofing e phishing via e-mail. Tuttavia, il DMARC non si limita a questo. 

I criteri di applicazione del DMARC e le funzionalità avanzate di reporting migliorano significativamente la consegna della posta legittima. Contribuiscono a creare e migliorare la fiducia nel marchio e l’analisi. Pertanto, il DMARC può dare un notevole impulso a qualsiasi campagna di marketing.

Il DMARC è solo per i domini che inviano posta.

Non è vero. Il fatto che il vostro dominio non invii e-mail non significa che non possa essere impersonato. Anzi, più il vostro marchio, la vostra azienda, la vostra organizzazione o la vostra personalità sono famosi, più alte sono le possibilità che qualche spammer voglia impersonare il vostro dominio e utilizzarlo per attività dannose come l’invio di e-mail fraudolente, siano esse di marketing o transazionali. 

I destinatari di e-mail dannose inviate dal “vostro” marchio molto probabilmente non saranno in grado di identificare che il vostro dominio non è configurato per l’invio di posta. Di conseguenza, dovrete affrontare molte conseguenze spiacevoli per la vostra reputazione e credibilità.

L’impostazione del criterio DMARC su “nessuno” è sufficiente per la sicurezza delle email

Sbagliato. Impostare il criterio DMARC su “nessuno” è di solito il primo passo per assicurarsi che la segnalazione e la consegna DMARC siano impostate correttamente, ma non migliora la sicurezza né aiuta a proteggere il dominio dall’impersonificazione. Alla fine, per sfruttare al meglio la sicurezza del DMARC e il miglioramento del marketing, dovrete utilizzare la politica di (almeno) p=quarantine o (meglio di tutti) p=reject a un tasso di pct=100. 

Inoltre, nel caso in cui decidiate di stare al passo con i tempi e di adottare il BIMI come ultima strategia di autenticazione del marchio, il vostro record DMARC dovrà essere impostato sulla politica “reject” per essere qualificato per la certificazione BIMI.

Riflessioni finali

La sicurezza delle e-mail non deve mai essere sottovalutata. Più grande è la vostra azienda, più avete da perdere se qualcuno fa uno spoofing del vostro dominio e inganna i vostri clienti con qualcosa che probabilmente non approvereste. 

Data la facilità con cui è possibile aggiungere ogni metodo di autenticazione e i vantaggi che si ottengono impostandoli correttamente, non c’è motivo di non provare.

L’aspetto assolutamente interessante del DMARC è che si può iniziare con un criterio “nessuno” e osservare cosa succede. In pratica, questo significa che le vostre e-mail saranno sottoposte ai controlli del caso sul lato ricevente, ma che se dovessero fallire, non influiranno sulla vostra deliverability. 

Inoltre, riceverete tonnellate di dati attraverso i rapporti DMARC che riguardano i problemi di autenticazione. In questo modo, potrete identificare rapidamente se qualcuno sta cercando di falsificare il vostro dominio e potenzialmente chiedere ai destinatari di fornire informazioni sensibili o se il problema risiede nella vostra azienda, in modo da poter effettuare una corretta risoluzione dei problemi.

Article by Zakhar Yung Technical Content Writer @Mailtrap