Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

La protezione da spam e virus del mail server basato su Postfix può essere effettuata tramite l’utilizzzo di soluzioni come Amavisd, ClamAV e Spamassassin.

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.

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

 

Prerequisiti

 

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

Proteggere Postfix con Amavisd, ClamAV, 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

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

 

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

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

Impostare il dominio e l’hostname dell’ambiente di rete utilizzato.

$mydomain = 'domain.com';

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

$myhostname = 'mail.domain.com';

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

 

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

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

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

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

Effettuare un reload di Postfix per attivare i nuovi parametri.

# service postfix reload

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

Abilitare i servizi Amavisd e ClamAV per avviarsi durante il boot di sistema.

# chkconfig amavisd on
# chkconfig clamd on

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

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

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

Poichè la signature del database ClamAV potrebbe non essere aggiornato, è possibile forzare l’update manualmente utilizzando il comando freshclam.

# /usr/bin/freshclam

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

Il mail server è ora protetto contro spam e virus.

Proteggere Postfix con Amavisd, ClamAV, SpamAssassin

About Paolo Valsecchi

Sistemista Informatico, mi occupo principalmente dell’implementazione e della gestione di servizi informatici basati su piattaforma virtuale VMware vSphere con sistemi Microsoft Windows/Active Directory e Linux (Red Hat, CentOS).

Twitter | Facebook | Linkedin | Google+