Postfix e autenticazione su smtp remoto: differenze tra le versioni

 
(25 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
__TOC__
__TOC__
==Introduzione==
==Introduzione==
Riga 11: Riga 11:
* libsasl2-modules  
* libsasl2-modules  
* postfix-tls
* postfix-tls
<pre>
# apt-get install libsasl2-2 libsasl2-modules mailutils ca-certificates
</pre>


== Configurazione ==
== Configurazione ==
La configurazione è molto semplice e consiste nel modificare il file <code>/etc/postfix/main.cf</code> aggiungendo le seguenti righe:
La configurazione è molto semplice e consiste nel modificare il file <code>/etc/postfix/main.cf</code> aggiungendo le seguenti righe:
<pre>relayhost = mail.provider.it
<pre>
# Imposto TLS
smtpd_tls_cert_file = /etc/ssl/certs/mailserver.pem
smtpd_tls_key_file = /etc/ssl/private/mailserver.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtp_use_tls = yes
 
# Relay su mio ISP
relayhost = [mail.provider.it]
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_auth_enable = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = # se non inserite opzioni commentare all'inizio
smtp_sasl_security_options = # se non inserite opzioni commentare all'inizio
# Relay su GMail - In alternativa al precedente
#relayhost = [smtp.gmail.com]:587
#smtp_sasl_auth_enable = yes
#smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
#smtp_sasl_security_options = noanonymous
#smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
</pre>
</pre>
Le opzioni disponibili sono :
Le opzioni disponibili sono :
Riga 28: Riga 51:
Creare il file <code>/etc/postfix/sasl_passwd</code> con un contenuto simile a questo:
Creare il file <code>/etc/postfix/sasl_passwd</code> con un contenuto simile a questo:


<pre>mail.provider.it    username:password
<pre>
[mail.provider.it]     username:password
 
# In caso di Gmail
[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD
</pre>
</pre>
dove ''mail.provider.it'' è lo stesso indicato prima e ''username'' e ''password'' vanno sostituite con i propri dati di accesso.
dove ''mail.provider.it'' è lo stesso indicato prima e ''username'' e ''password'' vanno sostituite con i propri dati di accesso.
Riga 36: Riga 63:
# chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
# chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
</pre>
</pre>
esegui poi:
eseguire poi:


<pre>
<pre>
Riga 42: Riga 69:
</pre>
</pre>


Decommentare la riga
Decommentare la riga:
  -o smtpd_sasl_auth_enable=yes
<pre>-o smtpd_sasl_auth_enable=yes</pre>
nel file ''/etc/postfix/master.cf''
nel file ''/etc/postfix/master.cf'' .


L'unica cosa che resta da fare è riavviare postfix:
Validiamo il certificato:
<pre>
# cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | tee -a /etc/postfix/cacert.pem
</pre>
Nel caso stessimo usando come server di relay Gmail creiamo il file:
<pre>
# nano /etc/postfix/tls_policy
</pre>
di contenuto:
<pre>
[smtp.gmail.com]:587 encrypt protocols=TLSv1 ciphers=high
</pre>
Eseguiamo:
<pre>
# postmap /etc/postfix/tls_policy
</pre>
L'unica cosa che resta da fare è riavviare Postfix:
<pre>
<pre>
# /etc/init.d/postfix reload
# /etc/init.d/postfix reload
</pre>
</pre>
e controllare che funzioni verificando il log ''/var/log/mail.warn''.
e controllare che funzioni verificando il log ''/var/log/mail.warn''.
== Relay su Server SMTP multipli ==
In alcuni casi può esserci la necessità di smistare le mail in uscita su server SMTP di relay diversi. Ad esempio:
* il server predefinito di relay deve essere smtppredefinito.dominio.it
* l'utente pippo@secondodominio.it deve spedire attraverso smtp.secondodominio.it
* tutti gli utenti del dominio terzodominio.it devono spedire attraverso smtp.terzodominio.it
Postfix permette anche questo.
<br/>
La configurazione è molto semplice e consiste nel modificare il file <code>/etc/postfix/main.cf</code> aggiungendo le seguenti righe:
<pre>
# Imposto TLS
smtpd_tls_cert_file = /etc/ssl/certs/mailserver.pem
smtpd_tls_key_file = /etc/ssl/private/mailserver.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtp_use_tls = yes
# Imposto autenticazione su SMTP di relay
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = # se non inserite opzioni commentare all'inizio
# Relay su ISP predefinito
relayhost = [smtppredefinito.dominio.it]:submission
# Server SMTP di relay alternativi
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_dependent_relayhost_maps
</pre>
Quindi creiamo il file di transport con i nostri SMTP di relay alternativi:
<pre>
# nano /etc/postfix/sender_dependent_relayhost_maps
</pre>
e diamogli il contenuto seguente, in base a come vogliamo smistare il traffico sui vari SMTP di relay:
<pre>
# Utente Pippo
pippo@secondodominio.it  smtp.secondodominio.it
# Dominio Terzodominio
@terzodominio.it  smtp.terzodominio.it
# Dominio quartodominio che usa Gmail
@quartodominio.it [smtp.gmail.com]:587
</pre>
Infine aggiorniamo il file contenente le credenziali di autenticazione verso i server di relay:
<pre>
# nano /etc/postfix/sasl_passwd
</pre>
<pre>
# Relay per utente Pippo
pippo@secondodominio.it              userpippo:password_pippo
# Il relay di default
smtppredefinito.dominio.it    username:password
# Relay per il terzo dominio
smtp.terzodominio.it  user_terzodominio:password_terzodominio
# Relay per il quarto dominio su Gmail
[smtp.gmail.com]:587  username@gmail.com:password_gmail
</pre>
Nel caso stessimo usando come server di relay Gmail creiamo il file:
<pre>
# nano /etc/postfix/tls_policy
</pre>
di contenuto:
<pre>
[smtp.gmail.com]:587 encrypt protocols=TLSv1 ciphers=high
</pre>
Eseguiamo:
<pre>
# postmap /etc/postfix/tls_policy
</pre>
Ricreiamo il database delle password:
<pre>
# postmap hash:/etc/postfix/sasl_passwd
</pre>
Ricreiamo il database dei server di relay:
<pre>
# postmap hash:/etc/postfix/sender_dependent_relayhost_maps
</pre>
e riavviamo Postfix:
<pre>
# /etc/init.d/postfix restart
</pre>




Riga 59: Riga 191:
|Verificata_da =
|Verificata_da =
: [[Utente : mm-barabba|mm-barabba]] 06-04-2013
: [[Utente : mm-barabba|mm-barabba]] 06-04-2013
|Numero_revisori = 1
: [[Utente : ferdybassi|ferdybassi]] 31-03-2014
|Numero_revisori = 2
|Estesa_da =  
|Estesa_da =  
: [[Utente : mm-barabba|mm-barabba]] 06-04-2013
: [[Utente : mm-barabba|mm-barabba]] 06-04-2013
: [[Utente : ferdybassi|ferdybassi]] 31-03-2014
}}
}}
[[Categoria:Mail server]]
[[Categoria:Mail server]]