Proteggere il mail server Postfix da spam e virus tramite l'utilizzo di software come Amavisd, ClamAV e SpamAssassin può essere una valida soluzione per garantire l'integrità delle email.
Il concetto di funzionamento è piuttosto semplice: Amavisd riceve la mail da Postfix (MTA), la passa a ClamAV e SpamAssassin per verificare se è una spam o contiene virus e successivamente la ripassa a Postfix per effettuare il recapito alla casella di posta.
Prerequisiti
- CentOS 6.x minimal
- RPMforge repository
- Postfix installato e configurato
- Packages Amavisd, ClamAV, Spamassassin
Installazione packages
Una volta configurato il repository RPMforge nel sistema, procedere all'installazione dei package necessari utilizzando il comando yum.
# yum install amavisd-new clamav clamav-devel clamd spamassassin
Configurazione di ClamAV
Editare il file di configurazione /etc/clamd.conf ed impostare ClamAV in modo da effettuare la comunicazione con Amavisd-new utilizzando il local UNIX socket anzichè il TCPSocket commentando il parametro TCPSocket 3310.
# vi /etc/clamd.conf
Configurazione di Amavisd-new
Editare il file di configurazione /etc/amavisd/amavisd.conf e rimuovere, se richiesto, il commento (#) per disabilitare il controllo di spam o virus.
# COMMONLY ADJUSTED SETTINGS: # @bypass_virus_checks_maps = (1); # controls running of anti-virus code # @bypass_spam_checks_maps = (1); # controls running of anti-spam code # $bypass_decode_parts = 1; # controls running of decoders&dearchivers
Impostare il dominio e l'hostname dell'ambiente di rete utilizzato.
$mydomain = 'domain.com';
$myhostname = 'mail.domain.com';
Configurazione di Postfix
Editare il file di configurazione /etc/postfix/master.cf per impostare Postfix in modo da passare la mail a Amasvid-new per il processo di filtering.
amavisfeed unix - - n - 2 lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o smtpd_restriction_classes=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,
no_milters,no_address_mappings
-o local_header_rewrite_clients=
-o smtpd_milters=
-o local_recipient_maps=
-o relay_recipient_maps=
# vi /etc/postfix/master.cf
Editare il file /etc/postfix/main.cf e abilitare il message filtering in Postfix aggiungendo la riga:
# use amavisd as filter on port 10024 content_filter=amavisfeed:[127.0.0.1]:10024
# vi /etc/postfix/main.cf
Effettuare un reload di Postfix per attivare i nuovi parametri.
# service postfix reload
Abilitare i servizi Amavisd e ClamAV per avviarsi durante il boot di sistema.
# chkconfig amavisd on
# chkconfig clamd on
Avviare i servizi ClamAV e Amavisd. Per il servizio SpamAssassin, il quale avvia il daemon spamd, l'impostazione può essere lasciata su off pochè Amavisd-new non utilizza il daemon SpamAssassin (spamd) ma invece carica SpamAssassin come modulo.
# service clamd start
# service amavisd start
Poichè la signature del database ClamAV potrebbe non essere aggiornato, è possibile forzare l'update manualmente utilizzando il comando freshclam.
# /usr/bin/freshclam
Il mail server è ora protetto contro spam e virus.



















