Introduzione a DKIM
DKIM (DomainKeys Identified Mail) è un metodo di autenticazione delle email che consente a un’organizzazione di assumere la responsabilità per un messaggio di posta elettronica inviato. Viene fatto firmando digitalmente i messaggi di posta elettronica in modo che il destinatario possa verificare che i messaggi provengono effettivamente dal dominio dichiarato e che non sono stati alterati durante il transito.
Come Funziona DKIM
- Generazione della Coppia di Chiavi:
- Chiave Privata: Utilizzata dal server di posta del mittente per firmare le email. Questa chiave deve essere mantenuta segreta.
- Chiave Pubblica: Pubblicata nel DNS del dominio del mittente e utilizzata dal server ricevente per verificare la firma.
- Firma del Messaggio:
- Quando un’email viene inviata, il server di posta del mittente utilizza la chiave privata per generare una firma digitale univoca per il messaggio.
- Questa firma viene aggiunta all’intestazione dell’email sotto forma di una nuova intestazione DKIM-Signature.
- Verifica del Messaggio:
- Quando il server di posta del destinatario riceve l’email, estrae la firma dall’intestazione e recupera la chiave pubblica dal DNS del dominio mittente.
- Utilizzando la chiave pubblica, il server verifica la firma per assicurarsi che il messaggio non sia stato alterato e che provenga effettivamente dal dominio dichiarato.
Creazione e Pubblicazione di un Record DKIM
1. Generazione della Coppia di Chiavi
Puoi utilizzare strumenti come
per generare una coppia di chiavi.
2. Creazione del Record DNS DKIM
Il record DKIM è un record TXT che deve essere aggiunto alla configurazione DNS del tuo dominio. Ha il seguente formato:
- selector: Un identificatore univoco che consente di utilizzare più chiavi per lo stesso dominio.
- yourdomain: Il tuo nome di dominio (es. example.com).
- public-key: La chiave pubblica generata nel passaggio precedente, senza spazi o interruzioni di linea.
Esempio di Record DKIM
Supponiamo di avere un dominio example.com e di aver scelto il selettore default. Il record DNS DKIM potrebbe apparire così:
3. Pubblicazione del Record DKIM nel DNS
Accedi al pannello di gestione DNS del tuo provider di dominio e aggiungi un nuovo record TXT con i seguenti dettagli:
- Nome/Host: default._domainkey.example.com
- Tipo: TXT
- Valore: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7…2QIDAQAB
4. Configurazione del Server di Posta
Configura il tuo server di posta per utilizzare la chiave privata generata per firmare le email. La configurazione varia a seconda del software del server di posta in uso (Postfix, Sendmail, Exim, etc.). Di seguito è riportato un esempio di configurazione per Postfix utilizzando OpenDKIM.
Installazione di OpenDKIM (Esempio per Debian/Ubuntu)
Configurazione di OpenDKIM
Modifica il file di configurazione di OpenDKIM (/etc/opendkim.conf):
AutoRestartRate 10/1h
Syslog yes
SyslogSuccess Yes
LogWhy Yes
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SignatureAlgorithm rsa-sha256
UserID opendkim
Socket inet:12345@localhost
Creazione dei File di Configurazione
/etc/opendkim/TrustedHosts: Elenca i server di posta autorizzati.
localhost
192.168.1.1/24
/etc/opendkim/KeyTable: Definisce le chiavi utilizzate per la firma.
/etc/opendkim/SigningTable: Specifica quali email firmare con quali chiavi.
Modifica di Postfix per Utilizzare OpenDKIM
Modifica il file di configurazione principale di Postfix (/etc/postfix/main.cf):
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol = 6
5. Riavvio dei Servizi
Riavvia i servizi OpenDKIM e Postfix per applicare le modifiche:
sudo systemctl restart postfix
Verifica del Record DKIM
Puoi utilizzare strumenti online come DKIM Core per verificare il tuo record DKIM. Inserisci il selettore e il dominio per controllare se il record è stato configurato correttamente.
Conclusione
Implementare DKIM è un passo fondamentale per migliorare la sicurezza delle tue comunicazioni email e prevenire lo spoofing. Configurando correttamente i record DKIM nel DNS e il server di posta, puoi assicurarti che le tue email siano autentiche e non siano state alterate. Segui questa guida per configurare DKIM e proteggere il tuo dominio e i tuoi utenti.