Ce document est basé sur la dernière version Debian (6.0 / Squeeze), ce qui devrait lui assurer une bonne durée de vie
. Toutes les applications utilisées sont disponibles sous forme de packages officiels (c’est plus simple pour les mises à jour).

Les pré-requis sont les suivants :
- Une distribution Debian GNU/Linux 6.0 fonctionnelle ;
- Un serveur Postfix en état de fonctionnement et configuré selon vos besoins (ce document ne traitera pas de la configuration de Postfix – mais si vous avez des questions je pourrais peut être vous aider …).
Petit rappel sur les différents éléments utilisés :
- ClamAV : anti-virus Open Source (plus d’infos ICI)
- SpamAssassin : anti-spam Open Source (plus d’infos ICI)
- Amavisd-New : module réalisant l’interface entre Postfix les modules de filtrage SpamAssassin et ClamAV (plus d’infos ICI)
C’est parti …
- Installation Amavisd-New et ClamAV
apt-get install amavisd-new clamav clamav-daemon
L’installeur va vous poser des questions, normalement les réponses par défaut devraient convenir.
- Il faut ajouter l’utilisateur clamav au groupe amavis
addgroup clamav amavis
- Il faut modifier le fichier /etc/amavis/conf.d/15-content_filter_mode
- Décommentez les deux lignes suivantes (pour autoriser le filtrage anti-virus) :
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
- Et celles-ci (pour autoriser le filtrage anti-spam) :
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
- Téléchargez et installez “spamassassin“
apt-get install spamassassin
- Dans “/etc/default/spamassassin“
modifiez “ENABLED=1″
modifiez “OPTIONS=”–max-children 5 –helper-home-dir” (remplacez 5 par le nombre de process de “spamd” devant fonctionner simultanéement)
- Ajoutez la ligne suivante dans le fichier “/etc/postfix/main.cf”
content_filter = smtp-amavis:[127.0.0.1]:10024
- Ajoutez les lignes suivantes dans le fichier “/etc/postfix/master.cf“
(attention à bien conserver un espace avant chaque “-o”)
smtp-amavis unix - - y - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - y - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
- Et enfin pour bénéficier de toutes les fonctionnalités d’Amavis, il faut lui indiquer le (ou les) domaines gérés sur ce serveur (en terme de courrier bien sûr)
- Ajouter dans le fichier “/etc/amavis/conf.d/05-domain_id” :
@local_domains_maps = ( [ '.domain1.com', '.domain2.com', '.domain3.com' ] );
- On relance tout le bazar :
/etc/init.d/spamassassin restart
/etc/init.d/clamav-daemon restart
/etc/init.d/amavis restart
postfix reload
Feb 1 21:44:37 hostname amavis[26709]: ANTI-VIRUS code loaded
Feb 1 21:44:37 hostname amavis[26709]: ANTI-SPAM-SA code loaded
Feb 1 21:44:37 hostname amavis[26709]: Using internal av scanner code for (primary) ClamAV-clamd
Feb 1 21:44:37 hostname amavis[26709]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan
Feb 1 22:22:41 hostname amavis[13251]: (13251-01) Blocked INFECTED (Eicar-Test-Signature), [192.168.0.55] <nom@domaine.fr> -> <test@testmail.fr>, quarantine: virus-lFDtkSo0b4vz, Message-ID: <20070509120235.D8AF02AA74@hostname>, mail_id: lFDtkSo0b4vz, Hits: -, 125 ms
- On peut également tester l’anti-spam avec l’envoi d’un message contenant la chaine de test suivante : XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
On doit retrouver un truc comme ça dans les logs de Postfix:
Feb 1 22:24:45 hostname amavis[6446]: (06446-02) Blocked SPAM, [192.168.0.55] <nom@domaine.fr> -> <test@testmail.fr>, quarantine: spam-atCf69YINh+q.gz, Message-ID: <20070509122435.87ED32AA74@hostname>, mail_id: atCf69YINh+q, Hits: 1004.184, 2128 ms
Vous disposez désormais d’une solution de filtrage anti-virus et anti-spam fonctionnelle
!