Postfix e autenticazione su smtp remoto: differenze tra le versioni

Nessun oggetto della modifica
 
(33 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
__TOC__
__TOC__
==Introduzione==
==Introduzione==
Riga 9: Riga 9:
Prima di tutto è necessario installare i seguenti pacchetti:
Prima di tutto è necessario installare i seguenti pacchetti:
* libsasl2  
* libsasl2  
* libsasl2-modules-plain
* 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 = # qui possono essere inserite delle opzioni di sicurezza
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>
(dove ''mail.provider.it'' è il server smtp del proprio provider) e creare il file <code>/etc/postfix/sasl_passwd</code> con un contenuto simile a questo:
Le opzioni disponibili sono :
noanonymous Don't use mechanisms that permit anonymous authentication.
noplaintext Don't use mechanisms that transmit unencrypted username and password information.
nodictionary Don't use mechanisms that are vulnerable to dictionary attacks.  
forward_secrecy Require forward secrecy between sessions (breaking one session does not break earlier sessions).  
mutual_auth Use only mechanisms that authenticate both the client and the server to each other.
 
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.


esegui poi:
Impostare i giusti permessi
<pre>
# chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
</pre>
eseguire poi:


<pre>
<pre>
Riga 31: Riga 69:
</pre>
</pre>


L'unica cosa che resta da fare è riavviare postfix:
Decommentare la riga:
<pre>-o smtpd_sasl_auth_enable=yes</pre>
nel file ''/etc/postfix/master.cf'' .
 
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!
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>
 
 
 
*Link : http://www.postfix.org/SASL_README.html


{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
|Verificata_da =
: [[Utente : mm-barabba|mm-barabba]] 06-04-2013
: [[Utente : ferdybassi|ferdybassi]] 31-03-2014
|Numero_revisori = 2
|Estesa_da =
: [[Utente : mm-barabba|mm-barabba]] 06-04-2013
: [[Utente : ferdybassi|ferdybassi]] 31-03-2014
}}
[[Categoria:Mail server]]
[[Categoria:Mail server]]