Serveur mail (CentOS 7.1) 5/6 : Installation et configuration de Spamassassin, ClamAV, Amavis

Notre serveur est opérationnel, mais il n’est pas protéger contre les SPAMS. Pour remédier à cela, nous allons installer Spamassassin, via la commande suivante :

1
# yum install spamassassin

Activation des plugins spamassassin : rbl_checks, razor2, dcc, pyzor

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/mail/spamassassin/local.cf{,.ori}

Nous allons activer les plugins « rbl_checks », « razor2 », « dcc », « pyzor » dans Spamassassin. Pour cela nous allons éditer de configuration « local.cf », via la commande suivante :

1
# vi /etc/mail/spamassassin/local.cf

On modifie la ligne 8 comme suit :

1
report_safe 2

On ajoute les lignes suivantes à la fin du fichier :

1
2
3
4
5
6
use_bayes 1
bayes_auto_learn 1
skip_rbl_checks 0
use_razor2 1
use_dcc 1
use_pyzor 1

Notre serveur n’étant pas protéger contre les virus, nous devons installer un anti-virus. Nous allons donc installer ClamAV et son daemon, via la commande suivante :

1
# yum install clamav clamav-data clamav-update

Afin de pouvoir « gérer », les échanges entre Postfix, ClamAV et Spamassassin, nous allons installer Amavisd via la commande suivante :

1
# yum install amavisd-new

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/amavisd/amavisd.conf{,.ori}

Nous allons éditer « amavisd.conf » via la commande suivante :

1
# vi /etc/amavisd/amavisd.conf

On dé-commente et on modifie la ligne 152 comme suit :

1
$myhostname = 'CentOS-Server.mon-domaine.fr'; must be a fully-qualified domain name!

On édite le fichier de configuration de Postfix « main.cf », via la commande suivante :

1
# vi /etc/postfix/main.cf

On ajoute les lignes suivantes à la fin du fichier :

1
content_filter=amavisfeed:[127.0.0.1]:10024

On édite le fichier de configuration de Postfix « master.cf », via la commande suivante :

1
# vi /etc/postfix/master.cf

On ajoute les lignes suivantes au début du fichier

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
amavisfeed unix - - n - 2 lmtp
  -o lmtp_data_done_timeout=1200
  -o lmtp_send_xforward_command=yes
  -o lmtp_tls_note_starttls_offer=no

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
  -o local_header_rewrite_clients=
  -o smtpd_milters=
  -o local_recipient_maps=
  -o relay_recipient_maps=

Nous allons recharger la configuration de Postfix pour prendre en compte les modifications, via la commande suivante :

1
# systemctl reload postfix

Nous allons démarrer le service « Spamassassin » via la commande suivante :

1
# systemctl start spamassassin

Sur CentOS, les démons ne sont pas configurés pour se lancer au démarrage de la machine. Nous allons le configurer pour qu’il se lance à chaque démarrage via la commande suivante :

1
# systemctl enable spamassassin

Nous allons démarrer le service « amavisd » via la commande suivante :

1
# systemctl start amavisd

Nous allons configurer le service amvisd pour qu’il se lance à chaque démarrage via la commande suivante :

1
# systemctl enable amavisd

Afin de pouvoir mettre à jour les bases ClamAV, nous devons commenter la ligne Example du fichier de configuration. Pour cela, nous allons taper la commande suivante :

1
# sed -i -e "s/^Example/#Example/" /etc/freshclam.conf

Maintenant nous pouvons lancer une mise à jour manuelle des bases via la commande suivante :

1
# freshclam

Nous devons redémarrer Postfix pour prendre en compte les différentes modifications. Pour cela, nous allons taper la commande suivante :

1
# systemctl restart postfix

On teste le fonctionnement de « Spamassassin » en envoyant un mail ayant pour object :

1
" XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X "

On teste le fonctionnement de « clamd » en envoyant un mail contenant une pièce jointe contenant le texte suivant :

1
" X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* "