Pensare? Perché pensare! Abbiamo i computer che lo fanno per noi.

— Jean Rostand

ArchLinux Small Business Server (25) - Mail Server (9)

http://www.stenoweb.it/files/blog/archlogo.png Appendice alla saga Mail Server: abbiamo (anzi ho) tralasciato un aspetto importante: l'autenticazione SMTP. Se abbiamo utenti esterni "viaggiatori" che devono continuare ad usare la posta dobbiamo permettere loro di inviare posta con il nostro server come quando siedono in azienda con il loro notebook. Con la configurazione attuale vengono accettate solo email dirette al dominio interno, cosa non ottimale a cui ora poniamo rimedio.

SASL

Simple Authentication and Security Layer (SASL) è un framework di autenticazione usato spesso, supporta anche il Transport Layer Security (TLS), che però per ora tralasciamo accontentandoci della implementazione di un layer con password in chiaro (Plain). Magari ci torneremo su.

Installazione

Postfix è già compilato in modo da utilizzare SASL, installiamo i pacchatti aggiuntivi che ci interessano in particolare Cyrus SASL una libreria SASL portabile e opensource.

sudo pacman -Sy cyrus-sasl cyrus-sasl-plugins

Non ci serve altro.

Configurazione

Con ArchLinux la pappa non è mai pronta :) dobbiamo fare qualche sforzo per configurare l'autenticazione.

Postfix

Cominciamo da Postfix a cui dobbiamo dire di utilizzarla. Per farlo modifichiamo il solito file di configurazione:

sudo nano /etc/postfix/main.cf

e aggiungendo questi parametri :
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_tls_auth_only = no
smtpd_sasl_local_domain = $mydomain
broken_sasl_auth_clients = yes
relay_domains = *

Ora cerchiamo la sezione smtpd_recipient_restrictions e aggiungiamo la direttiva permit_sasl_authenticated per fare in modo che Postfix permetta agli utenti autenticati di superare la restrizione. La sezione dovrebbe diventare così:
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unknown_recipient_domain,
reject_unauth_destination,
## Postgrey
check_policy_service inet:127.0.0.1:10030
permit

Le possibilità sono molte, se volete approfondire potete leggere qui. Noi passiamo oltre.

saslauthd

SASL è controllato dal servizio saslauthd, configuriamo i parametri di avvio del servizio editando il file:

sudo nano /etc/conf.d/saslauthd

che dovrebbe già essere così:
SASLAUTHD_OPTS="-m /var/run/saslauthd -r -a pam"

Voglio porre l'attenzione sul parametro -a pam che indica a SASL di utilizzare PAM per l'autenticazione. Ricordiamoci che abbiamo "centralizzato" utenti e password sull'albero LDAP e vogliamo continuare su questa strada come abbiamo già fatto per Dovecot, SSH e gli altri. Per far questo dobbiamo dire a PAM come autenticare i nostri utenti creando il file :
sudo nano /etc/pam.d/smtp

facendolo diventare così :
#%PAM-1.0
auth sufficient pam_ldap.so
auth required pam_unix.so nullok
account sufficient pam_ldap.so
account required pam_unix.so

praticamente è come abbiamo già fatto per Dovecot (/etc/pam.d/dovecot).

Per ultima cosa configuriamo SASL perchè utilizzi questa configurazione. Per qualche arcano motivo (per me) il file lo dobbiamo creare qui :

sudo nano /usr/lib/sasl2/smtpd.conf

popolandono con :
pwcheck_method: saslauthd
mech_list: plain login
saslauthd_path: /var/run/saslauthd/mux
log_level: 7

Fatto!

Avvio del servizio

Non ci resta che rendere operativo tutto stò casino avviando il servizio

sudo /etc/rc.d/saslauthd start

e riavviando Postfix
sudo /etc/rc.d/postfix restart

Ricordiamoci del solito array DAEMONS in rc.conf per per in modo che il servizio venga riavviato automaticamente al boot:
DAEMONS=(... saslauthd ...)

Naturalmente non dimenticate di configurare i client di posta dei vostri utenti "mobili" affinchè utilizzino l'autenticazione SMTP! Per i client "fissi" aziendali non è necessario, continueranno a funzionare come prima.

Byez.

Yet in a recently available study, 87percent of marketers said
they planned on placing video clip advertisements on Facebook, in contrast to 81.5percent
on YouTube.