Vai al contenuto

Installare il sistema Dkim per la firma delle tue E-Mail su server Ubuntu

Bene! I vediamo la installazione di un sistema di firma crittografata per le email che partono dal tuo dominio. Scrivo questo articolo come promemoria perche’ , con le dovute modifiche, puo’ essere utile per aggiungere anche altri domini certificati, oltre a quello base di installazione.

Supponiamo di avere un server e configurare uno dei tuoi domini come dominio principale e di usare il nome del server nel dominio (in questo esempio: mydomain.com).

Colleghiamoci al nostro server di posta che, supponiamo, sia composto da Dovecot, Postfix, Spamassasin, Clam-AV, con SSH. Meglio essere utente root per gestire tutti i permessi delle applicazioni che andremo a configurare.

sudo su

Ora installiamo OpenDKIM:

apt-get install opendkim opendkim-tools

Apriamo /etc/opendkim.conf con un editor di testo. Io uso nano, ma ognuno ha il suo editor preferito !

nano /etc/opendkim.conf

Una volta aperto il file possiamo apportare le modifiche come nell’ esempio sotto. L’ Importante e’ che Domain, KeyFile e Selector siano commentati.

# This is a basic configuration that can easily be adapted to suit a standard
# installation. For more advanced options, see opendkim.conf(5) and/or
# /usr/share/doc/opendkim/examples/opendkim.conf.sample.
#
#Domain                  example.com
#KeyFile                 /etc/opendkim/201205.private
#Selector                201205
#
# Commonly-used options
Canonicalization        relaxed/simple
Mode                    sv
SubDomains              yes
# Log to syslog
Syslog                  yes
LogWhy                  yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask                   022
UserID                  opendkim:opendkim
#
KeyTable                /etc/opendkim/KeyTable
SigningTable            /etc/opendkim/SigningTable
ExternalIgnoreList      /etc/opendkim/TrustedHosts
InternalHosts           /etc/opendkim/TrustedHosts
#
Socket                  inet:8891@localhost
#EOF

Come passo successivo noi creiamo alcune cartelle e files ; questi avranno posizione e nome come dichiarati nel file di configurazione sopra riportato.

mkdir /etc/opendkim
nano /etc/opendkim/TrustedHosts
nano /etc/opendkim/KeyTable
nano /etc/opendkim/SigningTable

Nel file TrustedHosts , noi dovremmo inserire la lista degli indirizzi e dei domini fidati per il server : localhost e 127.0.0.1, il nome del server e l’ IP pubblico ( se la macchina e’ sulla rete internet ) :

127.0.0.1
localhost
192.99.34.121
mydomain.com

Editiamo il file di configuarazione di OpenDKIM .

nano /etc/default/opendkim

Aggiungiamo questa riga alla fine del file. Questo dira’ al programma la porta sulla quale si lavorera per le firme :

SOCKET="inet:8891@localhost"

Apriamo il file di configurazione di Postfix.

nano /etc/postfix/main.cf

Aggiungiamo le seguenti linee alla fine del file. Queste diranno a Postfix che dovra’ mandare il messaggio alla firma e dove verra’ firmato.

milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Se non ci sono al momento altri domini da aggiungere si puo’ riavviare i servizi per farli assumere le nuove direttive configurate.

/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart

Il server adesso e’ pronto per lavorare con DKIM. Ora e’ possibile aggiungere i domini che dovranno essere sottoposti alla fimra DKIM. Il processo successivo e’ valido per ogni dominio aggiuntivo. Useremo otherdomain.com per esempio, ognuno inserira’ il nome a dominio appropriato .

Ricordiamo di usare l’ utente root.

sudo su

per prima cosa creiamo una cartella per il dominio da aggiungere:

mkdir -p /etc/opendkim/keys/otherdomain.com
cd /etc/opendkim/keys/otherdomain.com

Generiamo una chiave per il dominio:

opendkim-genkey -r -d otherdomain.com

Diamo i permessi giusti per la lettura della chiave:

chown opendkim:opendkim default.private

Apriamo il file KeyTable e aggiungiamo la nostra nuova chiave per il dominio in oggetto:

nano /etc/opendkim/KeyTable

Aggiungeremo la dichiarazione alla fine del file (dopo tutti gli altri domini dichiarati in precedenza):

default._domainkey.otherdomain.com otherdomain.com:default:/etc/opendkim/keys/otherdomain.com/default.private

Apriamo il file sotto.

nano /etc/opendkim/SigningTable

ed aggiungiamo la seguente riga (sempre sotto gli atri domini precedentemente dichiarati):

otherdomain.com default._domainkey.otherdomain.com

Questo SigningTable elenca tutte le email che verranno firmate. .

Apriamo TrustedHosts .

nano /etc/opendkim/TrustedHosts

E aggiungiamo questa riga alla fine del file:

otherdomain.com

In ultimo: apriamo il file /etc/opendkim/keys/otherdomain.com/default.txt.

cat /etc/opendkim/keys/otherdomain.com/default.txt

Copiamoci tutte le informazioni contenute fino alla chiusura della parentesi tonda, escludendo ; — DKIM key …

Queste informazioni dovranno essere copiate come record TXT nel file di zona DNS del nostro dominio . Naturalmente per far leggere a tutti i servers DNS le modifiche dovremmo aggiornare la dichiarazione SOA e riavviare il servizio DNS sul server preposto.

Di seguito sul server che ospita opendkim dovremmo riavviare i relativi servizi , come segue

/etc/init.d/opendkim restart
/etc/init.d/postfix reload
/etc/init.d/postfix restart

Finito !

Paolo Pastacaldi
In generale sulla Privacy

Questo sito Web utilizza i cookies per offrire la migliore esperienza utente possibile. Le informazioni sui cookies sono memorizzate nel tuo browser ed eseguono funzioni come riconoscerti quando ritorni sul sito web e aiutandomi a capire quali sezioni del sito web trovi più interessanti ed utili.

È possibile regolare tutte le impostazioni dei cookies navigando le schede sul lato sinistro.