Email Security · 3 min read · Sep 27, 2025

Imposta DKIM per più domini su Postfix con dkim-milter 2.8.x (CentOS 5.3)

Imposta DKIM per più domini su Postfix con dkim-milter 2.8.x (CentOS 5.3)

Introduzione

Lo standard Internet DomainKeys Identified Mail (DKIM) consente ai mittenti di email di firmare digitalmente i loro messaggi in modo che i destinatari possano verificare che quei messaggi non siano stati falsificati. Lo schema di autenticazione del mittente DKIM consente al destinatario di un messaggio di confermare che un messaggio proviene dal dominio del mittente e che il contenuto del messaggio non è stato alterato. Una soluzione basata sulla crittografia, DKIM fornisce alle aziende un metodo standard del settore per mitigare le frodi via email e proteggere il marchio e la reputazione di un’organizzazione a un costo di implementazione relativamente basso. La specifica di base di DKIM è guidata da Sendmail, Inc. in collaborazione con Cisco e Yahoo!.

Questo tutorial si basa sul tutorial Imposta DKIM su Postfix con dkim-milter (CentOS 5.2) e sulla mia esperienza personale. Non rilascio alcuna garanzia che questo funzionerà per te!

Installazione

Il software Topdog fornisce pacchetti rpm per Dkim-milter su http://www.topdog-software.com/oss/dkim-milter, quindi installeremo l’ultima versione. Al momento della scrittura di questo tutorial, l’ultima versione è dkim-milter-2.8.3-1.

Installa il pacchetto rpm di dkim-milter, (supportato 32bit e 64bit intel)

wget http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.3-1.i386.rpm  
rpm -ivh dkim-milter-2.8.3-1.i386.rpm

Genera le chiavi

/usr/bin/dkim-genkey  -r -d mydomain1.com

Sostituisci mydomain1.com con il nome di dominio per il quale firmerai l’email. Il comando creerà due file.

default.txt - contiene la chiave pubblica che pubblichi tramite DNS
default.private - la chiave privata che usi per firmare le tue email

Rinomina e sposta la chiave privata nella directory delle chiavi di dkim-milter e proteggila.

mv default.private default  
mkdir /etc/mail/dkim/keys/mydomain1.com  
mv default /etc/mail/dkim/keys/mydomain1.com  
chmod 600 /etc/mail/dkim/keys/mydomain1.com/default  
chown dkim-milt.dkim-milt /etc/mail/dkim/keys/mydomain1.com/default

Nota importante: ripeti questi passaggi per altri domini e per ogni dominio utilizza una cartella separata come puoi vedere sopra, altrimenti riceverai il messaggio di errore “dkim: FALLITO, non valido (chiave pubblica: non disponibile)”.

Configurazione DNS

Devi pubblicare la tua chiave pubblica tramite DNS, i server client utilizzano questa chiave per verificare la tua email firmata. Il contenuto di default.txt è la riga che devi aggiungere al tuo file di zona, un esempio è qui sotto.

default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG81CNNVOlWwfhENOZEnJKNlikTB3Dnb5kUC8/zvht/S8SQnx+YgZ/KG7KOus0By8cIDDvwn3ElVRVQ6Jhz/HcvPU5DXCAC5owLBf/gX5tvAnjF1vSL8ZBetxquVHyJQpMFH3VW37m/mxPTGmDL+zJVW+CKpUcI8BJD03iW2l1CwIDAQAB"
; ----- DKIM default per mydomain1.com

Aggiungi anche questo al tuo file di zona.

_ssp._domainkey IN TXT "t=y; dkim=unknown"

Configurazione

Devi controllare il file /etc/dkim-filter.conf.

vi /etc/dkim-filter.conf

Deve apparire così:

ADSPDiscard             yes
ADSPNoSuchDomain        yes
AllowSHA1Only           no
AlwaysAddARHeader       no
AutoRestart             yes
AutoRestartRate         10/1h
BaseDirectory           /var/run/dkim-milter
Canonicalization        simple/simple
Domain                  mydomain1.com   #aggiungi qui tutti i tuoi domini e separali con una virgola
ExternalIgnoreList      /etc/mail/dkim/trusted-hosts
InternalHosts           /etc/mail/dkim/trusted-hosts
KeyList                 /etc/mail/dkim/keylist
LocalADSP               /etc/mail/dkim/local-adsp-rules
Mode                    sv
MTA                     MSA
On-Default              reject
On-BadSignature         reject
On-DNSError             tempfail
On-InternalError        accept
On-NoSignature          accept
On-Security             discard
PidFile                 /var/run/dkim-milter/dkim-milter.pid
QueryCache              yes
RemoveOldSignatures     yes
Selector                default
SignatureAlgorithm      rsa-sha1
Socket                  inet:20209@localhost
Syslog                  yes
SyslogSuccess           yes
TemporaryDirectory      /var/tmp
UMask                   022
UserID                  dkim-milt:dkim-milt
X-Header                yes

Controlla il file /etc/mail/dkim/keylist.

vi /etc/mail/dkim/keylist

Deve apparire così:

*@mydomain1.com:mydomain1.com:/etc/mail/dkim/keys/mydomain1.com/default

Nota: se hai altri domini, devi aggiungerli in questo file. Ogni riga per un dominio.

Configura Postfix

Devi aggiungere le seguenti opzioni al file main.cf di postfix per abilitarlo a utilizzare il milter.

vi /etc/postfix/main.cf
smtpd_milters = inet:localhost:20209
non_smtpd_milters = inet:localhost:20209
milter_protocol = 2
milter_default_action = accept

Aggiungi le opzioni di dkim-milter agli esistenti milters se hai già configurato altri milters.
Avvia dkim-milter e riavvia postfix:

service dkim-milter start  
service postfix restart

Test

Invia un’email a [email protected] o [email protected], riceverai una risposta che indica se la tua configurazione funziona correttamente.

Aggiornamenti

I pacchetti rpm aggiornati sono sempre forniti su http://www.topdog-software.com/oss/dkim-milter

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.