Postfix e autenticazione su smtp remoto
Versioni Compatibili Tutte le versioni supportate di Debian |
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:
# 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_use_tls = yes
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
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 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 SMTPdi relay alternativi:
# nano /etc/postfix/sender_dependent_relayhost_maps
e diamogli il contenuto seguente:
# Utente Pippo pippo@secondodominio.it smtp:[smtp.secondodominio.it] # Dominio Terzodominio .terzodominio.it smtp:[smtp.terzodominio.it]
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 smtp:[smtppredefinito.dominio.it] username:password # Relay per il terzo dominio smtp:[smtp.terzodominio.it] user_terzodominio:password_terzodominio
Guida scritta da: MaXeR | Debianized 60% |
Estesa da:
| |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |