User Tools

Site Tools


doc:appunti:linux:sa:exim

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
Last revisionBoth sides next revision
doc:appunti:linux:sa:exim [2013/02/18 11:30] – [Smarthost per domini privati] niccolodoc:appunti:linux:sa:exim [2019/01/21 10:27] – [Smarthost] niccolo
Line 90: Line 90:
 Per le versioni più vecchie di Exim (es. la 3?) sostituire le variabili consigliate **$auth1**, **$auth2** e **$auth3** con le obsolete **$1**, **$2** e **$3**. Vedere anche questa pagina per un [[authdaemon_problem|problema del Courier authdaemon]]. Per le versioni più vecchie di Exim (es. la 3?) sostituire le variabili consigliate **$auth1**, **$auth2** e **$auth3** con le obsolete **$1**, **$2** e **$3**. Vedere anche questa pagina per un [[authdaemon_problem|problema del Courier authdaemon]].
  
-Attenzione che in questo caso Exim deve accedere al socket ''**/var/run/courier/authdaemon/socket**'', rispetto ad una installazione Debian standard ci sono i seguenti permessi che non bastano:+Attenzione che in questo caso Exim deve accedere al socket ''**/var/run/courier/authdaemon/socket**'', rispetto ad una installazione Debian 8 (Jessie) standard ci sono i seguenti permessi che impediscono ad Exim di accedere al socket:
  
 <code> <code>
-drwxrwx--- 3 daemon daemon 1024 May  9 14:40 /var/run/courier/ +drwxr-x--- 2 daemon daemon 100 Mar  8 15:38 /var/run/courier/authdaemon/
-drwxrwx--- 2 daemon daemon 1024 May  9 14:40 /var/run/courier/authdaemon/+
 </code> </code>
  
-Sistemati in questo modo, speriamo che non sia troppo permissivo: +La soluzione suggerita è aggiungere l'utente **Debian-exim** al gruppo **daemon**. Verificare che la directory ''/var/run/courier/'' abbia mode 0755, nelle precedenti release era 0750, non sufficiente.
- +
-<code> +
-chmod 755 /var/run/courier +
-chgrp Debian-exim /var/run/courier/authdaemon +
-</code> +
- +
-Anche in una installazione Debian più recente (Lenny) **non funziona** tutto alla prima, perché i permessi sono: +
- +
-<code> +
-drwxr-xr-x 3 daemon daemon 4096 2006-07-06 16:40 /var/run/courier/ +
-drwxr-x--- 2 daemon daemon 4096 2006-07-06 16:40 /var/run/courier/authdaemon/ +
-</code> +
- +
-Si può cambiare il mode della directory ''authdaemon'' a **0755** (forse la via migliore) oppure aggiungere l'utente **Debian-exim** al gruppo **daemon**.+
  
 Per abilitare l'autenticazione in chiaro (senza TLS) basta definire la macro in ''**conf.d/main/00_local**'': Per abilitare l'autenticazione in chiaro (senza TLS) basta definire la macro in ''**conf.d/main/00_local**'':
Line 146: Line 131:
 </code> </code>
  
 +Questa configurazione abilita la cifratura con STARTTLS, cioè la porta di comunicazione è la tradizionale TCP/25 e la cifratura inizia dopo il comando STARTTLS.
 +
 +===== Cifratura SSL su porta TCP/465 =====
 +
 +Questo metodo sarebbe obsoleto rispetto al TLS su porta TCP/25 (con uso del comando STARTTLS), tuttavia la pessima abitudine di alcuni provider di filtrare la porta 25 in uscita, lo rende ancora interessante.
 +
 +Anzitutto si deve dire al demone di stare in ascolto sulle due porte: 25 e 465, in **''/etc/default/exim4''** si mette (l'opzione **''-oP''** è necessaria quando si specifica l'opzione **''-oX''**):
 +
 +<file>
 +SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'
 +</file>
 +
 +Quindi si deve indicare che sulla porta 465 si vuole usare la cifratura SSL (non il comando STARTTLS come si fa sulla tradizionale porta 25), in **''/etc/exim4/conf.d/main/03_exim4-config_tlsoptions''** si mette:
 +
 +<file>
 +tls_on_connect_ports=465
 +</file>
 ===== Utilizzo dei system filter ===== ===== Utilizzo dei system filter =====
  
Line 310: Line 312:
 dc_smarthost='10.0.1.205' dc_smarthost='10.0.1.205'
 </file> </file>
 +
 +Se non è necessario gestire posta localmente, è più indicata la configurazione //satellite//. È ovviamente possibile indicare uno hostname e una porta TCP (ad esempio la //submission// invece che la //smtp//):
 +
 +<file>
 +dc_eximconfig_configtype='satellite'
 +dc_smarthost='mail.rigacci.org::587'
 +</file>
 +
  
 Dopo la modifica fare un reload di Exim e controllare che il file **''/var/lib/exim4/config.autogenerated''** contenga: Dopo la modifica fare un reload di Exim e controllare che il file **''/var/lib/exim4/config.autogenerated''** contenga:
Line 336: Line 346:
   host mail.rigacci.org [78.47.114.234] MX=10   host mail.rigacci.org [78.47.114.234] MX=10
 </code> </code>
 +
 +Se lo **smarthost richiede autenticazione**, è possibile aggiungere le credenziali nel file **/etc/exim4/passwd.client**:
 +
 +<file>
 +smarthost.domain.org:login:password
 +</file>
 +
 +Se un messaggio non è partito (è rimasto in coda, il suo ID è visibile con **mailq**), è possibile chiedere un nuovo invio e tracciare la sessione con:
 +
 +<code>
 +exim -v -M 1glXAU-0000Ig-1n
 +</code>
 +
 +In questo modo è possibile verificare che lo smarthost annunci correttamente l'**AUTH PLAIN LOGIN**, magari solo dopo lo **STARTTLS**, e che Exim effettui tutta la sessione correttamente.
 ===== Smarthost per domini privati ===== ===== Smarthost per domini privati =====
  
Line 377: Line 401:
  
 in questo modo tutte le mail generate dall'utente locale **root** avranno il mittente indicato. in questo modo tutte le mail generate dall'utente locale **root** avranno il mittente indicato.
 +
 +Fare attenzione alle informazioni **[[wp>Sender_Policy_Framework|SPF]]**: il messaggio potrebbe essere rifiutato se il dominio email dichiara che gli host di origine dei messaggi sono altri.
 +
 +Il metodo visto sopra consente di riscrivere solo gli **indirizzi locali** (cioè senza la parte **''@dominio''**). Per riscrivere anche gli indirizzi in messaggi ricevuti via SMTP si può aggiungere un pezzetto di configurazione, in Debian basta creare un file **''/etc/exim4/conf.d/rewrite/32_local-rewriting''** con qualcosa del genere:
 +
 +<file>
 +### rewrite/32_local-rewriting
 +#################################
 +
 +# Rewrite the headers: From, Sender, Reply-To and the envelope From
 +# Test it with:
 +#     exim -brw NAS@192.168.1.254
 +
 +NAS@192.168.1.254  info@domain.org  fsrF
 +</file>
doc/appunti/linux/sa/exim.txt · Last modified: 2019/01/21 11:08 by niccolo