Tips & Tricks: come utilizzare SPF, DKIM e DMARC su Zimbra

Vi spieghiamo come procedere per configurare SPF, DKIM e DMARC su Zimbra Posta Elettronica

SPF

Sender Policy Framework (SPF) aiuta a prevenire lo spamming e lo spoofing delle e-mail comunicando al mondo quali server sono autorizzati a inviare e-mail dal tuo dominio. Se un’e-mail viene inviata da utente@esempio.com, tale e-mail deve essere inviata tramite un server consentito nel record DNS SPF pubblicato per il dominio example.com. Se un utente malintenzionato invia un’e-mail da un server non attendibile come info@example.com, il controllo SPF sul server di posta del destinatario avrà esito negativo e l’e-mail verrà recapitata nella cartella Spam.

DKIM

DomainKeys Identified Mail (DKIM) può essere utilizzato sopra SPF. DKIM fornisce un modo per verificare l’integrità di un messaggio di posta elettronica utilizzando una firma digitale. In questo modo, se un hacker manomette il corpo o l’oggetto di un’e-mail mentre l’e-mail viaggia su Internet, la firma digitale non sarà valida e il server di posta del destinatario può avvisare l’utente o mettere l’e-mail in una casella di posta in quarantena.

DMARC

Reporting e conformità dell’autenticazione dei messaggi basati sul dominio (DMARC) consiglia al destinatario cosa dovrebbe essere fatto se si verifica un errore SPF o DKIM. Puoi configurare DMARC in modalità di test, in modo che non ci siano interruzioni nella consegna delle email nella fase di configurazione iniziale. Puoi impostare DMARC per indicare al destinatario di inviarti un rapporto di errore, in modo da poter eseguire il debug degli errori DKIM e SPF prima di impostare un criterio DMARC più rigoroso.

CONFIGURAZIONE

La parte difficile è che nelle organizzazioni più grandi ci sono spesso molti server che inviano e-mail, incluse terze parti come Mailchimp. Devi compilare un elenco di tutti questi mittenti, aggiungerli tutti ai tuoi record SPF e configurarli tutti per utilizzare DKIM. Se ciò non è possibile, devi configurare questi mittenti per l’inoltro della posta tramite un server con configurazione DKIM/SPF (come Zimbra). In molti casi, finirai per fare una combinazione di entrambi.

Probabilmente è più semplice (per l’implementazione di DMARC) mantenere il più basso possibile il numero di server di invio approvati. Ma scoprire da dove i tuoi utenti stanno inviando può richiedere molto tempo. Mettendo DMARC in modalità di test per un periodo di tempo e analizzando i rapporti di errore in arrivo, puoi scoprire di più sul comportamento dei tuoi utenti prima di impostare una rigorosa politica DMARC.

Come configurare SPF, DKIM e DMARC su Zimbra

Prova prima su un dominio di prova.

Per fare in modo che Zimbra firmi i messaggi in uscita con DKIM, devi generare chiavi DKIM usando il comando come utente zimbra:

    /opt/zimbra/libexec/zmdkimkeyutil -a -d zimbratest.tk

Memorizza l’output di questo comando per configurarlo in DNS in un secondo momento.

DKIM Data added to LDAP for domain zimbratest.tk with selector 8250020E-EF81-11EB-BB5B-4520489C3827 Public signature to enter into DNS:

8250020E-EF81-11EB-BB5B-4520489C3827._domainkey IN TXT ( "v=DKIM1; k=rsa; "

"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvo1fSt7kWZkQn69KhXubeVdXg2oX0waQeCSR4zZcHccpM+kxRTYLkPVlbSJ/8Aa6Pr9LFm0+9C IJjuN9UyAeRnlYspCrN7Y8iPVB/2Vsvl6I9v1KPITB9jyY5u5ETwAu1ic2nAm4B7CsRNfgL8G6BqBQbCWU4W4onhwz3bdytMec/cgV0st+whdJTMjTflJoRvF QYcNnQRmdai"

"tTVzbnziG0k8hxFYkg0oJs5/4zdi6O6vizACwbVWckS19NsW3XPj6ppXVZ2gQYrVW4QoNnYX/ji7fBZxFonRXErCvnRrq9a743UF3kJXihAkZ7HR+dn6rXwM ZgC2dbBc8l2NxmJwIDAQAB" ) ; ----- DKIM key 8250020E-EF81-11EB-BB5B-4520489C3827 for zimbratest.tk

Quindi, assicurati che ci sia un indirizzo email per ricevere i rapporti DMARC:

    zmprov ca postmaster@zimbratest.tk METTI QUI UNA-PASSWORD-RANDOM

Ora il DNS è impostato. Supponendo che tu stia utilizzando un server DNS di bind, aggiungi i seguenti 3 record al tuo file di zona (e ricarica il bind):

@ TXT "v=spf1 a mx ~all"
_dmarc TXT "v=DMARC1; p=none; fo=1; rua=mailto:postmaster@zimbratest.tk; ruf=mailto:postmaster@zimbratest.tk" 8250020E-EF81-11EB-BB5B-4520489C3827._domainkey.zimbratest.tk. IN TXT ( "v=DKIM1; k=rsa; "

"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvo1fSt7kWZkQn69KhXubeVdXg2oX0waQeCSR4zZcHccpM+kxRTYLkPVlbSJ/8Aa6Pr9LFm0+9C IJjuN9UyAeRnlYspCrN7Y8iPVB/2Vsvl6I9v1KPITB9jyY5u5ETwAu1ic2nAm4B7CsRNfgL8G6BqBQbCWU4W4onhwz3bdytMec/cgV0st+whdJTMjTflJoRvF QYcNnQRmdai"

"tTVzbnziG0k8hxFYkg0oJs5/4zdi6O6vizACwbVWckS19NsW3XPj6ppXVZ2gQYrVW4QoNnYX/ji7fBZxFonRXErCvnRrq9a743UF3kJXihAkZ7HR+dn6rXwM ZgC2dbBc8l2NxmJwIDAQAB" ) ; ----- DKIM key 8250020E-EF81-11EB-BB5B-4520489C3827 for zimbratest.tk

Il record SPF v=spf1 a mx ~allcomunica al mondo la versione di SPF utilizzata e consente l’invio di e-mail dai server nei nostri record A e MX, ovvero il tuo sito Web e il tuo server di posta. È inoltre possibile aggiungere altri indirizzi o intervalli IP (vedere i riferimenti di seguito per ulteriori informazioni). La ~allracconta il mondo di mettere tutte le email che è venuta da altre origini nella cartella Spam.

Testa il tuo record SPF tramite uno strumento online come https://mxtoolbox.com/SuperTool.aspx?action=spf per assicurarti che sia configurato correttamente.

spf 

Risultato del record SPF su MxToolbox

Il record DMARC v=DMARC1; p=none; fo=1; rua=mailto:postmaster@zimbratest.tk; ruf=mailto:postmaster@zimbratest.tkdice al mondo quale versione di DMARC stai utilizzando. La p=noneindica la modalità di test. L’e-mail verrà elaborata come se non stessimo utilizzando DMARC, ma i rapporti di errore vengono inviati agli indirizzi definiti in ruaruf.

Testa il tuo record DMARC tramite uno strumento online come https://mxtoolbox.com/SuperTool.aspx? action=dmarc per essere sicuro che sia configurato correttamente.

dmarc

Risultato record DMARC su MxToolbox

Il record DKIM è un copia-incolla dall’output delzmdkimkeyutilcomando, dobbiamo solo aggiungere .zimbratest.tknel caso in cui venga utilizzato il server DNS di bind. Puoi controllare il record DKIM tramite https://mxtoolbox.com/SuperTool.aspx?action=dkim ed eseguire una ricerca perzimbratest.tk:8250020E- EF81-11EB-BB5B-4520489C3827

dkim

Risultato del record DKIM su MxToolbox

Ora puoi fare un ultimo test su Zimbra:

[zimbra@mind root]$ /opt/zimbra/common/sbin/opendkim-testkey -d zimbratest.tk -s 8250020E-EF81-11EB-BB5B-4520489C3827 -x /opt/zimbra/conf/opendkim.conf
opendkim-testkey: '8250020E-EF81-11EB-BB5B-4520489C3827._domainkey.zimbratest.tk' query failed
[zimbra@mind root]$ /opt/zimbra/common/sbin/opendkim-testkey -d zimbratest.tk -s 8250020E-EF81-11EB-BB5B-4520489C3827 -x /opt/zimbra/conf/opendkim.conf

Se non ci sono errori segnalati dal comando, puoi abilitare la firma DKIM eseguendo come utente zimbra:

    zmprov ms `zmhostname` +zimbraServiceEnabled opendkim

Fai un vero test

Il modo più semplice per testare la tua configurazione è inviare un’email a una terza parte come Gmail.

gmail

Fare clic sull’opzione di menu Mostra originale.

gmail orig

Dovresti vedere PASS su SPF, DKIM e DMARC.

Controllare periodicamente i report DMARC che dovrebbero arrivare all’indirizzo configurato nel record DMARC. Se ritieni di essere pronto, aggiorna il tuo record DMARC a:

_dmarc TXT "v=DMARC1; p=quarantine; fo=1; rua=mailto:postmaster@zimbratest.tk; ruf=mailto:postmaster@zimbratest.tk"

Tenere presente che abilitare DKIM su Zimbra significa che non è possibile modificare il contenuto di un’e-mail dopo che è stata firmata DKIM. Questo non dovrebbe accadere su un’installazione predefinita, ma può succedere se si utilizza milter personalizzati, disclaimer di dominio, personalizzazioni amavis, ecc. In alcuni è possibile modificare l’ordine in modo che la firma DKIM venga eseguita per ultima. Oppure si deve rimuovere e rifare la firma DKIM.