User Tools

Site Tools


linuxdebian:exim4-dkim

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
linuxdebian:exim4-dkim [2025/09/22 15:29] – [Pubblicazione della chiave pubblica sul DNS] kurganlinuxdebian:exim4-dkim [2025/09/25 18:41] (current) – [Creazione dei files di chiavi pubbliche / private] kurgan
Line 1: Line 1:
-====== DKIM su Exim 4  v.4.94 e successive ======+====== DKIM (e DMARC) su Exim 4  v.4.94 e successive ======
  
-Il supporto a DKIM esiste in Exim4 sia in ingresso che in uscita. Prima di tutto, mi occupero` della configurazione in uscita, ovvero di firmare le email uscenti dal mio server. Il controllo delle firme in ingresso sara` oggetto di un lavoro futuro.+Il supporto a DKIM esiste in Exim4 sia in ingresso che in uscita. Prima di tutto, mi occupero` della configurazione in uscita, ovvero di firmare le email uscenti dal mio server. Il controllo delle firme in ingresso l'ho collaudato su Exim 4.96 ma è bacato, ci sono casi nei quali considera "non valida" una mail valida. Per il momento ho deciso di non usarlo.
  
  
Line 16: Line 16:
 ==== Configurazione di Exim4 ==== ==== Configurazione di Exim4 ====
  
-  * Nella configurazione di exim aggiungo questa definizione di variabile, che indica il posto in cui conservero` le chiavi DKIM. Ovviamente e` a vostra scelta spostarle. Nella mia configurazione sono dentro a ''/etc/exim4/dkim/''. +  * Nella configurazione di exim aggiungo questa definizione di variabile, che indica il posto in cui conservero` le chiavi DKIM. Ovviamente e` a vostra scelta spostarle. Nella mia configurazione sono dentro a ''/etc/exim4/dkim/''.<code>
-<code>+
 # dove si trova la configurazione di exim4 # dove si trova la configurazione di exim4
 EXIM4=/etc/exim4 EXIM4=/etc/exim4
Line 24: Line 23:
 DKIM_PATH = EXIM4/dkim DKIM_PATH = EXIM4/dkim
 </code> </code>
-  * Sempre nella configurazione di Exim, nel trasporto che fa SMTP in uscita, devo aggiungere delle impostazioni relative a DKIM. Nella mia configurazione il trasporto in questione e` ''remote_smtp'': +  * Sempre nella configurazione di Exim, nel trasporto che fa SMTP in uscita, devo aggiungere delle impostazioni relative a DKIM. Nella mia configurazione il trasporto in questione e` ''remote_smtp'':<code>
-<code>+
 # Delivery via SMTP all' MX del dominio remoto # Delivery via SMTP all' MX del dominio remoto
 remote_smtp: remote_smtp:
Line 44: Line 42:
 Abbiamo detto che nella nostra configurazione mettiamo i files di chiavi dentro a ''/etc/exim4/dkim/'', quindi creiamo la directory, entriamoci, e creiamo le chiavi. Questa procedura va ripetuta per ogni dominio per il quale vogliamo usare DKIM in uscita. Questi files devono essere leggibili dall'utente con cui gira Exim, ovviamente. Nota che ci sono due sintassi diverse a seconda dalla versione di Openssl che usate: Abbiamo detto che nella nostra configurazione mettiamo i files di chiavi dentro a ''/etc/exim4/dkim/'', quindi creiamo la directory, entriamoci, e creiamo le chiavi. Questa procedura va ripetuta per ogni dominio per il quale vogliamo usare DKIM in uscita. Questi files devono essere leggibili dall'utente con cui gira Exim, ovviamente. Nota che ci sono due sintassi diverse a seconda dalla versione di Openssl che usate:
  
-  * Per le vecchie versioni di openssl (fino a Debian 8 / Devuan 1) +  * Per le vecchie versioni di openssl (fino a Debian 8 / Devuan 1)<code>
-<code>+
 openssl genrsa -out kurgan.org-private.pem 1024 -outform PEM openssl genrsa -out kurgan.org-private.pem 1024 -outform PEM
 openssl rsa -in kurgan.org-private.pem -out kurgan.org.pem -pubout -outform PEM openssl rsa -in kurgan.org-private.pem -out kurgan.org.pem -pubout -outform PEM
 </code> </code>
  
-  * Per le versioni successive di openssl +  * Per le versioni successive di openssl<code>
-<code>+
 openssl genpkey -algorithm RSA -out kurgan.org-private.pem -pkeyopt rsa_keygen_bits:1024 openssl genpkey -algorithm RSA -out kurgan.org-private.pem -pkeyopt rsa_keygen_bits:1024
 openssl rsa -in kurgan.org-private.pem -out kurgan.org.pem -pubout -outform PEM openssl rsa -in kurgan.org-private.pem -out kurgan.org.pem -pubout -outform PEM
Line 63: Line 59:
 Il contenuto della chiave pubblica (SOLO QUELLA PUBBLICA) va pubblicato sul DNS in un record TXT. Inoltre sempre sul DNS vanno pubblicate le "regole" che vogliamo (vorremmo) che gli altri seguissero quando ricevono mail da noi. Ovvero, se vogliamo o meno che gli altri accettino per esempio anche i messaggi non firmati o la cui verifica della firma fallisce, oppure se siamo cosi` sicuri che il nostro sistema non mandera` mai via messaggi non firmati, che vogliamo che gli altri rifiutino in toto i messaggi non firmati da noi. Il contenuto della chiave pubblica (SOLO QUELLA PUBBLICA) va pubblicato sul DNS in un record TXT. Inoltre sempre sul DNS vanno pubblicate le "regole" che vogliamo (vorremmo) che gli altri seguissero quando ricevono mail da noi. Ovvero, se vogliamo o meno che gli altri accettino per esempio anche i messaggi non firmati o la cui verifica della firma fallisce, oppure se siamo cosi` sicuri che il nostro sistema non mandera` mai via messaggi non firmati, che vogliamo che gli altri rifiutino in toto i messaggi non firmati da noi.
  
-Dobbiamo quindi creare due record TXT per il nostro dominio, cosi` fatti:+Dobbiamo quindi creare dei record TXT per il nostro dominio, cosi` fatti:
  
-<code>+  * Se vogliamo avere DKIM e DMARC ma non istruire il ricevente a buttare eventuali mail che falliscano il controllo, usiamo<code>
 dkim._domainkey IN      TXT     "k=rsa; p=CHIAVE PUBBLICA RSA" dkim._domainkey IN      TXT     "k=rsa; p=CHIAVE PUBBLICA RSA"
 _domainkey      IN      TXT     "t=y; o=~;"  ;PER TESTING _domainkey      IN      TXT     "t=y; o=~;"  ;PER TESTING
 _domainkey      IN      TXT     "o=~"        ;PER PRODUZIONE _domainkey      IN      TXT     "o=~"        ;PER PRODUZIONE
-_domainkey      IN      TXT     "o=-"        ;PER PRODUZIONE +_dmarc          IN      TXT     "v=DMARC1; p=none" 
-_dmarc          IN      TXT     "v=DMARC1; p=none" ;CONFIG MINIMALE DMARC+</code> 
 +  * Se vogliamo la sicurezza più stretta possibile, istruendo il ricevente a non accettare email che falliscano il controllo, allora usiamo<code> 
 +dkim._domainkey IN      TXT     "k=rsa; p=CHIAVE PUBBLICA RSA" 
 +_domainkey      IN      TXT     "o=-" 
 +_dmarc          IN      TXT     "v=DMARC1; p=quarantineadkim=s; aspf=s"
 </code> </code>
  
linuxdebian/exim4-dkim.1758554990.txt.gz · Last modified: by kurgan