Postfix e autenticazione su smtp remoto: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
 
(43 versioni intermedie di 10 utenti non mostrate)
Riga 1: Riga 1:
=About MaXeR=
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
Mi chiamo Claudio, ho 22 anni e studio Informatica presso l'Universit� degli Studi di Verona.
__TOC__
==Introduzione==
Questa guida si propone di risolvere il problema di molti utenti che cercano di configurare un server di posta incorrendo nella necessità di inserire, per l'utilizzo del server del proprio provider come relay host, l'username e la password.


==Contatti==
Per risolvere questo useremo <code>sasl</code>.
; Blog : http://www.knio.it


; MaXeR@fsfe.org : http://www.fsfe.org/Members/maxer/
== Installazione ==
Prima di tutto è necessario installare i seguenti pacchetti:
* libsasl2
* libsasl2-modules
* postfix-tls
<pre>
# apt-get install libsasl2-2 libsasl2-modules mailutils ca-certificates
</pre>


; MaXeR@persone.softwarelibero.it : http://persone.softwarelibero.org/person/MaXeR
== Configurazione ==
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


; em@il : [mailto:maxer@debianizzati.org maxer@debianizzati.org]<br/>[mailto:maxer@knio.it maxer@knio.it]<br/>[mailto:maxer@fsfe.org maxer@fsfe.org]
# Relay su mio ISP
relayhost = [mail.provider.it]
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 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>
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.


; jabber : maxer@jabber.linux.it
Creare il file <code>/etc/postfix/sasl_passwd</code> con un contenuto simile a questo:
: maxer@jabber.fsfe.org


; icq : 161200863
<pre>
[mail.provider.it]    username:password


# In caso di Gmail
[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD
</pre>
dove ''mail.provider.it'' è lo stesso indicato prima e ''username'' e ''password'' vanno sostituite con i propri dati di accesso.


[http://www.fsfe.org http://www.knio.it/images/a-happy-fellow.png]
Impostare i giusti permessi
<pre>
# chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd
</pre>
eseguire poi:


=Le Mie Guide=
<pre>
# [[La struttura della Distribuzione]]
# postmap hash:/etc/postfix/sasl_passwd
# [[I repository ed il loro utilizzo]]
</pre>
# [[Introduzione all' Apt System]]
# [[Pulire Debian]]
# [[Applicare una patch ad un pacchetto Debian]]
# [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
# [[Apt-cdrom | '''Apt-cdrom''': aggiunta di cd/dvd nella lista dei repository]]
# [[Apt-file: ricerca all'interno dei pacchetti | '''Apt-file''': ricerca all'interno dei pacchetti]]
# [[Apt-listbugs: come monitorare i bug | '''Apt-listbugs''': come monitorare i bug]]
# [[Apt-zip: aggiornamenti senza una connessione veloce | '''Apt-zip''': aggiornamenti senza una connessione veloce]]
# [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettiziamo Java Sun]]
# [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
# [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
# [[Password sicure: la base della sicurezza informatica]]
# [[Come abilitare il completamento automatico 'avanzato']]
# [[Convertire immagini .nrg in immagini .iso]]
# [[mod_bandwidth: Gestione avanzata della banda]]
# [[Mrtg: monitoriamo la banda]]
# [[UsbMount: Gestione automatizzata delle periferiche usb di memorizzazione]]
# [[Powernowd: CpuScaling per AMD]]
# [[ cacti | Cacti per monitorare il sistema ]]
# [[ Debian_on_a_compaq_Presario_2154EA ]]
# [[ Munin ]]
# [[ Debian Fun ]]
# [[LAMP: Linux, Apache, MySQL e PHP]] Collaborazione con [[Utente:Keltik|Keltik]]
# [[ SysV ]]
# [[ jigdo ]]
# [[ Wireless Support ]]
# [[ Apache, SSL e CaCert.Org ]] (stub)
# [[ Pacchetizzare un tema per Bootsplash ]]
# [[ Gestione di un repository con debarchiver ]]
# [[ Ssh e autenticazione tramite chiavi ]]
# [[ Dupload per l'upload dei pacchetti Debian ]]
# [[ Synaptics touchpad ]]
# [[sshfs | Montare una directory remota con sshfs]]
# [[Unison e la sincronizzazione di directory]]
# [[Pbuilder: compilazione in ambienti puliti]]
# [[Madwifi | Installazione Driver Madwifi]]
# [[Repository Debianizzati.Org]]
# [[Kde e mount automatico]]
# [[Recuperare i dati da un Hard Disk danneggiato]]
# [[Rileggere la tabella delle partizioni]]
# [[Java in Debian]]
# [[Errori frequenti nell'uso di apt-get]]
# [[Controllare lo stato di un pacchetto]]
# [[Postgrey: filtrare lo spam con il greylisting]]
# [[Velocizzare il boot senza cambiare sistema di init]]
# [[Spostare il tasto di chiusura delle tab di Firefox 2]]
# [[Postfix e autenticazione su smtp remoto]]


=Pagine in Lavorazione=
Decommentare la riga:
* [[Repository non ufficiali]]
<pre>-o smtpd_sasl_auth_enable=yes</pre>
* [[Copiare-Spostare Debian]] (titolo non definitivo)
nel file ''/etc/postfix/master.cf'' .
* [[Alternatives]] (in fase finale)


=Ho scritto anche in=
Validiamo il certificato:
* [[ Speciale:Contributions/MaXeR | dove ho ficcato il naso ;) ]]
<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>
# /etc/init.d/postfix reload
</pre>
e controllare che funzioni verificando il log ''/var/log/mail.warn''.


=Pagine Varie riportate da altre fonti=
== Relay su Server SMTP multipli ==
# [[Perch� conviene sviluppare esclusivamente Software Libero]]
In alcuni casi può esserci la necessità di smistare le mail in uscita su server SMTP di relay diversi. Ad esempio:
# [[Vendere Software Libero]]
* il server predefinito di relay deve essere smtppredefinito.dominio.it
# [[Perch� il software non deve avere padroni]]
* l'utente pippo@secondodominio.it deve spedire attraverso smtp.secondodominio.it
# [[La comunit� del software libero dopo 20 anni]]
* tutti gli utenti del dominio terzodominio.it devono spedire attraverso smtp.terzodominio.it
# [[Ricompense e Motivazione]]
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]]

Versione attuale delle 20:08, 10 set 2015

Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 6 "squeeze"
Debian 7 "wheezy"
Debian 8 "jessie"

Introduzione

Questa guida si propone di risolvere il problema di molti utenti che cercano di configurare un server di posta incorrendo nella necessità di inserire, per l'utilizzo del server del proprio provider come relay host, l'username e la password.

Per risolvere questo useremo sasl.

Installazione

Prima di tutto è necessario installare i seguenti pacchetti:

  • libsasl2
  • libsasl2-modules
  • postfix-tls
# apt-get install libsasl2-2 libsasl2-modules mailutils ca-certificates

Configurazione

La configurazione è molto semplice e consiste nel modificare il file /etc/postfix/main.cf aggiungendo le seguenti righe:

# 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_auth_enable = yes
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

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 /etc/postfix/sasl_passwd con un contenuto simile a questo:

[mail.provider.it]     username:password

# In caso di Gmail
[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD

dove mail.provider.it è lo stesso indicato prima e username e password vanno sostituite con i propri dati di accesso.

Impostare i giusti permessi

# chown root:root /etc/postfix/sasl_passwd && chmod 600 /etc/postfix/sasl_passwd

eseguire poi:

# postmap hash:/etc/postfix/sasl_passwd

Decommentare la riga:

-o smtpd_sasl_auth_enable=yes

nel file /etc/postfix/master.cf .

Validiamo il certificato:

# cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | tee -a /etc/postfix/cacert.pem

Nel caso stessimo usando come server di relay Gmail creiamo il file:

# nano /etc/postfix/tls_policy

di contenuto:

[smtp.gmail.com]:587 encrypt protocols=TLSv1 ciphers=high

Eseguiamo:

# postmap /etc/postfix/tls_policy

L'unica cosa che resta da fare è riavviare Postfix:

# /etc/init.d/postfix reload

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.
La configurazione è molto semplice e consiste nel modificare il file /etc/postfix/main.cf aggiungendo le seguenti righe:

# 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

Quindi creiamo il file di transport con i nostri SMTP di relay alternativi:

# nano /etc/postfix/sender_dependent_relayhost_maps

e diamogli il contenuto seguente, in base a come vogliamo smistare il traffico sui vari SMTP di relay:

# 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

Infine aggiorniamo il file contenente le credenziali di autenticazione verso i server di relay:

# nano /etc/postfix/sasl_passwd
# 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

Nel caso stessimo usando come server di relay Gmail creiamo il file:

# nano /etc/postfix/tls_policy

di contenuto:

[smtp.gmail.com]:587 encrypt protocols=TLSv1 ciphers=high

Eseguiamo:

# postmap /etc/postfix/tls_policy

Ricreiamo il database delle password:

# postmap hash:/etc/postfix/sasl_passwd

Ricreiamo il database dei server di relay:

# postmap hash:/etc/postfix/sender_dependent_relayhost_maps

e riavviamo Postfix:

# /etc/init.d/postfix restart





Guida scritta da: MaXeR Swirl-auth60.png Debianized 60%
Estesa da:
mm-barabba 06-04-2013
ferdybassi 31-03-2014
Verificata da:
mm-barabba 06-04-2013
ferdybassi 31-03-2014

Verificare ed estendere la guida | Cos'è una guida Debianized