Installation de Spamassassin et Clamav avec Postfix sous Debian Lenny (5.0)
Ce document est basé sur la dernière version Debian (5.0 / Lenny), 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 Linux Debian 5.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
-
Pour s’assurer qu’Amavis prenne bien en charge ClamAV et Spamassassin, aprés avoir relancé Amavis (étape précédente) on doit retrouver les lignes suivantes dans les logs du serveur de mail (normalement /var/log/mail.info)
Jul 15 11:44:37 hostname amavis[26709]: ANTI-VIRUS code loaded
Jul 15 11:44:37 hostname amavis[26709]: ANTI-SPAM-SA code loaded
Jul 15 11:44:37 hostname amavis[26709]: Using internal av scanner code for (primary) ClamAV-clamd
Jul 15 11:44:37 hostname amavis[26709]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan
-
Il est également plus prudent de tester un envoi de mail avec la chaîne de test “EICAR” (allez faire un tour sur www.eicar.com), puis allez jeter un oeil sur les logs de Postfix :
Jul 15 14:02:41 hostname amavis[13251]: (13251-01) Blocked INFECTED (Eicar-Test-Signature), [192.168.0.1] <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 :
Jul 15 14:24:45 hostname amavis[6446]: (06446-02) Blocked SPAM, [192.168.0.1] <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
!




