Installare Postfix e saslauthd in CentOS GNU/Linux

Nell'articolo e' illustrata la procedura di installazione e configurazione di Postfix, un mta modulare dotato di molteplici funzionalita', veloce e semplice da configurare. E' totalmente gratuito ed esistono pacchetti precompilati per tutte le distribuzioni ed architetture. Verra'  descritta passo-passo anche l'installazione del servizio saslauthd, che sara' integrato con postfix per gestire l'autenticazione sui messaggi email spediti ad indirizzi estrerni.
Qusto e' il comando che ci consente di installare i pacchetti necessari

yum install postfix cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain

Abilitiamo postfix e saslauthd all'avvio del server

chkconfig --levels 235 postfix on
chkconfig --levels 235 saslauthd on

N.B. In centos viene installato di default sendmail, percio' se fosse in esecuzione dobbiamo fermarlo ed evitare che riparta al prossimo avvio della macchina eseguendo '/etc/init.d/sendmail stop' e 'chkconfig --levels 235 sendmail off'

Eseguiamo questi comandi

> /usr/lib/sasl2/smtpd.conf
echo "pwcheck_method: saslauthd" > /usr/lib/sasl2/smtpd.conf
echo "mech_list: plain login" >> /usr/lib/sasl2/smtpd.conf

Adesso e' necessario modificare il file di configurazione di postfix (/etc/postfix/main.cf).
Svuotiamolo ed inseriamo questo al suo interno:

smtpd_banner = $myhostname ESMTP $mail_name (CentOS/GNU)
biff = no

# appending .domain is the MUA’s job.
append_dot_mydomain = yes

mydomain = deec.it
myhostname = www.$mydomain

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

myorigin = $mydomain
mydestination = $mydomain, localhost, localhost.localdomain, localhost.$mydomain

home_mailbox = Maildir/

relayhost =
mynetworks = 127.0.0.0/8,212.25.170.148/32

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
local_recipient_maps = proxy:unix:passwd.byname $alias_maps

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_rbl_client sbl-xbl.spamhaus.org,reject_rhsbl_sender dns.rfc-ignorant.org
smtpd_helo_restrictions = reject_invalid_hostname,reject_non_fqdn_hostname
smtpd_sender_restrictions = reject_non_fqdn_sender,reject_unknown_sender_domain

N.B. cambiate mydomain,myhostname e mynetworks inserendo i dati relativi al vostro server

Il nostro server di posta e’ in esecuzione e gli utenti di sistema possono ricevere/inoltrare email. Se volessimo creare un nuovo alias (creando un indirizzo email del tipo toor@deec.it) e farlo puntare ad un account di sistema esistente (ad esempio chiamato luca), bastera’ aggiungere in  /etc/aliases la riga

toor:      luca

Eseguire il comando

newaliases

E ricaricare la configurazione di Postfix

postfix reload