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 !