Serveur de messagerie · 5 min read · Nov 12, 2025

Qmail-Scanner Avec ClamAV Et SpamAssassin Sur Ubuntu

Qmail-Scanner Avec ClamAV Et SpamAssassin Sur Ubuntu

Dans la continuité de mon document https://www.howtoforge.com/qmail-openldap-on-ubuntu sur la configuration de qmail-ldap sur Ubuntu, ce document vous aidera à configurer Qmail-Scanner avec l’antivirus ClamAV et le filtre anti-spam SpamAssassin avec votre serveur qmail.

Introduction

Qmail-Scanner est un module complémentaire qui permet à un serveur de messagerie Qmail de scanner les e-mails pour certaines caractéristiques. Il est généralement utilisé pour ses fonctions de protection contre les virus et le spam, auquel cas il est utilisé en conjonction avec des scanners externes. Il permet également à un site (au niveau du serveur/site) de créer des “blocs de politique”: c’est-à-dire de réagir aux e-mails contenant des chaînes spécifiques dans des en-têtes particuliers, ou des noms ou types de fichiers joints particuliers (par exemple, des pièces jointes *.EXE même dans un fichier zip).

Ses fonctionnalités d’archivage aident les FAI et les entreprises du monde entier avec de nouvelles législations ou des exigences réglementaires en attente. Il peut archiver tous les e-mails traités dans un maildir d’archive. Cela est idéal pour des raisons de sauvegarde pour des raisons de politique d’audit. Contrairement à certaines solutions de serveur basées sur Windows, les en-têtes d’enveloppe de messagerie (les en-têtes “rcpt to:” et “mail from:”) sont conservés intacts - ajoutés au bas de chaque message - confirmant les véritables adresses d’expéditeur et de destination. L’archivage prend également en charge le filtrage vers un sous-ensemble d’adresses (par exemple, archiver uniquement les e-mails “[email protected]” au lieu de tous).

Nous allons lier spamassassin et clamav avec qmail-scanner. Spamassassin est un filtre de messagerie open source, écrit en Perl, pour identifier le spam en utilisant un large éventail de tests heuristiques sur les en-têtes de messagerie et le texte du corps. Il peut également utiliser certains plugins utiles comme Pyzor, Razor et DCC. Clamav va scanner les messages de messagerie pour les e-mails infectés par des virus.

Installation

Nous allons installer et configurer Qmail-Scanner, ClamAV et SpamAssassin avec les plugins Pyzor, Razor et DCC.

Clam Antivirus

ClamAV est un moteur antivirus open source conçu pour détecter les chevaux de Troie, les virus, les logiciels malveillants et d’autres menaces malveillantes. C’est la norme de facto pour le scan de passerelle de messagerie. Il fournit un démon de scan multi-threadé haute performance, des utilitaires en ligne de commande pour le scan de fichiers à la demande, et un outil intelligent pour les mises à jour automatiques de signatures.

Télécharger

Téléchargez la dernière version depuis http://downloads.sourceforge.net/project/clamav:

wget http://nchc.dl.sourceforge.net/project/clamav/clamav/0.97/clamav-0.97.tar.gz

Installer et configurer ClamAV

cd /download  
tar zxvf clamav-0.97.tar.gz  
useradd -c "Compte Qmail-Scanner" -s /bin/false qscand  
cd clamav-0.97  
./configure --with-user=qscand --with-group=qscand  
make && make install  
ldconfig -v

Maintenant, nous configurons ses fichiers de configuration, ceux-ci sont les suivants :

vi /usr/local/etc/clamd.conf
#Exemple
LogFile /var/log/clamav/clamd.log
LogFileMaxSize 20M
LogTime yes
LogClean yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /usr/local/share/clamav
LocalSocket /var/run/clamav/clamd.cl
MaxConnectionQueueLength 30
User qscand
MaxThreads 20
Scanmail yes

Maintenant, créez quelques répertoires avec la propriété de qscand :

mkdir /var/run/clamav  
chown -R qscand.qscand /var/run/clamav  
mkdir /var/log/clamav  
chown -R qscand.qscand /var/log/clamav  
chmod -R 755 /var/log/clamav

Ainsi, clamav est installé avec succès.

/usr/local/sbin/clamd &
vi /usr/local/etc/freshclam.conf
#Exemple
DatabaseDirectory /usr/local/share/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogSyslog yes
DatabaseOwner qscand
DNSDatabaseInfo current.cvd.clamav.net
DatabaseMirror database.clamav.net
DatabaseMirror db.in.clamav.net
NotifyClamd /usr/local/etc/clamd.conf

Enregistrez et quittez.

freshclam -v
crontab -e
25 1 * * * /usr/local/bin/freshclam -l /var/log/clamav/freshclam.log

SpamAssassin

SpamAssassin est un filtre de messagerie pour identifier le spam. C’est un filtre de messagerie intelligent qui utilise une gamme diversifiée de tests pour identifier les e-mails indésirables en masse, plus communément appelés spam. Ces tests sont appliqués aux en-têtes et au contenu des e-mails pour classer les e-mails en utilisant des méthodes statistiques avancées.

Installer et configurer SpamAssassin

apt-get install spamassassin libdigest-sha1-perl libnet-dns-perl libmail-spf-query-perl libgeo-ip-perl libnet-ident-perl libio-socket-ssl-perl libio-socket-inet6-perl perl-modules
groupadd spamd  
useradd -g spamd -s /bin/false spamd
vi /etc/default/spamassassin
ENABLED=1
OPTIONS=" --user-config --username=spamd --max-children 5 --debug --helper-home-dir=/home/spamd"
vi /etc/mail/spamassassin/local.cf
required_score 5.0
dns_available yes
use_pyzor 1
use_razor2 1
use_bayes 1
bayes_auto_learn 1
bayes_file_mode 0700
include /etc/mail/spamassassin/autowhitelist
bayes_path /etc/mail/spamassassin/.spamassassin/bayes
bayes_auto_learn_threshold_nonspam       0.1
bayes_auto_learn_threshold_spam         12.0
ok_languages en hi
ok_locales en

Maintenant démarrez SpamAssassin…

/etc/init.d/spamassassin start

Maintenant ajoutez quelques plugins..

Razor

cd /downloads/  
wget "http://citylan.dl.sourceforge.net/project/razor/razor-agents/2.85/razor-agents-2.85.tar.bz2"  
wget 'http://citylan.dl.sourceforge.net/project/razor/razor-agents-sdk/2.07/razor-agents-sdk-2.07.tar.bz2'
tar xvf razor-agents-sdk-2.07.tar.bz2  
cd razor-agents-sdk-2.07  
perl Makefile.PL  
make  
make test  
make install
cd /downloads/  
tar xvfj razor-agents-2.85.tar.bz2  
cd razor-agents-2.85  
perl Makefile.PL  
make  
make test  
make install

Assurez-vous que votre pare-feu autorise le port tcp/2703.

razor-admin -home=/home/spamd/.razor -create  
razor-admin -home=/home/spamd/.razor -register  
razor-admin -home=/home/spamd/.razor -discover

DCC

cd /downloads/  
wget http://www.rhyolite.com/anti-spam/dcc/source/dcc.tar.Z
tar xvfz dcc.tar.Z  
cd dcc-1.3.120/  
./configure  
make && make install

Assurez-vous que votre pare-feu autorise le port udp/6277.

Pyzor

cd /downloads/  
wget http://space.dl.sourceforge.net/project/pyzor/pyzor/0.5.0/pyzor-0.5.0.tar.gz
tar xvf pyzor-0.5.0.tar.gz  
cd pyzor-0.5.0  
python setup.py build  
python setup.py install  
python -c 'import gdbm' && echo 'gdbm trouvé'

Exécutez la commande suivante pour compléter l’installation de pyzor.

pyzor --homedir /home/spamd discover
vi /etc/mail/spamassassin/v310.pre
enable the line
loadplugin Mail::SpamAssassin::Plugin::DCC
spamassassin –lint

Qmail-Scanner

cd /downloads/  
wget http://www.qmailrocks.org/downloads/qmail-scanner-1.25.tgz  
wget http://www.qmailrocks.org/downloads/qms-analog-0.4.2.tar.gz  
tar xvfz qmail-scanner-1.25.tgz  
tar zxvf qms-analog-0.4.2.tar.gz
cd qms-analog-0.4.2  
make all  
cp qmail-scanner-1.25-st-qms-20050219.patch ../qmail-scanner-1.25/  
cd ../qmail-scanner-1.25  
patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch
vi qms-config
./configure --domain yourdomain.com \
--admin postmaster \
--local-domains "yourdomain.com" \
--add-dscr-hdrs yes \
--dscr-hdrs-text "X-Antivirus-YOURDOMAIN" \
--ignore-eol-check yes \
--sa-quarantine 0 \
--sa-delete 0 \
--sa-reject no \
--sa-subject ":SPAM:" \
--sa-alt yes \
--sa-debug yes \
--sa-report yes \
--notify "psender,admin" \
--redundant yes \
--unzip yes \
--qms-monitor no \
"$INSTALL"
chmod 755 qms-config  
./qms-config

Si la configuration est correcte alors…

./qms-config install
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z  
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g
vi /var/qmail/bin/qmail-scanner-queue.pl
msg_size > 500000
chown -R qscand:qscand /var/spool/qmailscan
vi /service/qmail-smtpd/run
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" ; export QMAILQUEUE

Maintenant redémarrez votre serveur qmail et voyez si tout fonctionne…

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.