Come migliorare la reputazione del proprio sito web grazie all’email

AI - server di posta che da una medaglia alle email che invia
AI - server di posta che da una medaglia alle email che invia

Quante volte vi è capitato di attendere una email da un servizio importate e trovarla nella cartella SPAM? com’è possibile che siti istituzionali, aventi una presenza online da anni, siano identificati ancora come indesiderati?

È strano pensarci, ma cosa può fare il sito per avvisare che le sue mail non sono spam o che provengano da una fonte attendibile?

O anche, come può un sito identificare se qualcuno utilizza il suo dominio inviando mail spam?

Tutte queste problematiche si basano su 3 principi di sicurezza:

  • Autenticazione
  • Autorizzazione
  • Conformità

È possibile implementare questi 3 requisiti nei sistemi di posta?

Questi requisiti sono stati studiati ed affrontanti in vari periodi, ottenendo 3 distinti RFC:

  • Integrità- DKIM (RFC6376) 2011
  • Autorizzazione – SPF (RFC7208) 2014
  • Conformità – DMARC (RFC7489) 2015

L’unione di questi 3 metodi rendono il mittente valido e sicuro che la propria mail non sia confusa per dello spam.

Cos’è il DKIM

Il DKIM introduce un sistema di integrità, utilizzando una chiave pubblica-privata, certificando non solo l’indirizzo del mittente ma anche del contenuto e dei suoi allegati, rendendo questo sistema una vera e propria firma digitale dell’email.

Questa implementazione deve essere impostata sui domini dei server di posta che inviano le email.

Questo è sicuramente necessario per le grandi aziende, che utilizzano i loro server di posta per spedire le mail ai clienti.

I siti web che si affidano a sistemi di hosting, non è possibile implementarlo, a meno che l’hosting dia la possibilità di caricare la propria chiave pubblica e privata. Ci si affida solitamente all’hosting per utilizzare questo sistema.

Il valore DKIM è presente come campo TXT al percorso: <custom>._domainkey.<domain or sub-domain>

Il valore più a destra, <custom>, viene scelto dall’owner del servizio di posta. Nell’email per permettere ai server di post che ricevono il messaggio è inserito un header che fa riferimento al valore custom.

header di una mail inviata da steampowered.com

Nel caso preso in esempio, il valore custom è “smtp”

Per visionare la chiave pubblica del DKIM, si può effettuare una query come la seguente:

comando linux dig, che mostra un certificato rsa del dominio smtp._domainkey.steampowered.com

Cos’è lo SPF

Il sistema SPF, Sender Policy Framework, esprime una lista di indirizzi IP dai quali il dominio autorizza l’invio dell’email.

Questa funzione è utile per evidenziare quali indirizzi IP sono considerati attendibili rispetto a un determinato dominio.

Questo ovviamente non indica che il dominio sia sicuro o meno dall’invio di spam, ma permette di identificare server di posta non autorizzati ad usare il dominio usato nell’email.

Il valore TXT deve essere impostato nel dominio principale, e usando una sintassi valida, è possibile indicare singoli IP, range di IP o include il TXT presente in un altro dominio.

Quest’ultima opzione è molto utile per siti web hostati, poiché permette di includere i valori già definiti dal servizio di posta dell’hosting stesso, rendendo le email automaticamente SPF valide.

comando linux dig, che mostra il valore TXT del dominio feargames.it per la direttiva SPF

Cos’è il DMARC

L’acronimo DMARC, Domain-based Message Authentication, Reporting, and Conformance, è un sistema di Autenticazione, Reporting e Conformità basato sui domini.

Benché sia menzionata l’autenticazione, questo meccanismo non include alcun sistema di autenticazione, ma ne rafforza l’implementazione, indicando cosa fare in caso la validazione del server mittente fallisse.

Per quanto riguarda il reporting, il sistema permette di usare due argomenti, RUA e RUF.

RUA indica a quale indirizzo, o indirizzi, inviare i report sulla ricezione di mail da parte dei server di posta, nel report saranno indicate quante volte le email vengono sottoposte a check per validare il mittente.

RUF indica a quale indirizzo, o indirizzi, inviare i report più dettagliati per i check effettuati dai server di posta.

Come si può vedere Google utilizza questo sistema, al sottodominio _dmarc, è presnete un campo TXT con i parametri della direttiva DMARC

comando linux dig, che mostra il valore DMARC del dominio _dmarc.google.com

Come implementare queste direttive per il proprio dominio

Per implementare le direttive mostrate in questo post, basterà creare un sottodominio TXT, come mostrato in foto.

Per quanto riguarda DKIM, bisognerà comprare un certificato dagli enti certificati per l’emissione di tale certificato. Questo passaggio ovviamente costerà e il certificato dovrà essere rinnovato alla sua scadenza. Per chi ha un sito web che si affida ad un hosting, probabilmente il proprio server di post è gestito dall’hosting stesso, in questo caso dovrà essere l’hosting ad implementare questa direttiva.

Per SPF e DMARC la questione è diversa, per SPF dovrete includere i valori SPF dell’hosting poiché le email associate al dominio saranno mandate dai server di posta in mano ad esso.

Per DMARC potete utilizzare dei generatori online che vi chiedono passo passo ogni valore necessario, ad esempio https://easydmarc.com/tools/dmarc-record-generator.

N.B. solitamente questi generatori mirano ad invogliare gli utenti a sottoscriversi a servizi apparentemente necessari, ma che in realtà non servono.


Fonti

https://developers.google.com/gmail/ampemail/security-requirements

https://support.google.com/a/topic/10911234

https://support.google.com/a/topic/9061731

About the author

alessandrobasi

Appassionato di informatica, scrivo su argomenti tecnici poco conosciuti su cui vale la pena soffermarsi.

Be the first to comment

Rispondi