Guide technique · 4 min read · Jan 03, 2026
Guide Mailscanner/Exim Gateway Avec Communigate PRO
Guide Mailscanner/Exim Gateway Avec Communigate PRO
Dans ce tutoriel, nous allons installer et configurer Mailscanner en tant que pare-feu de messagerie devant un cluster Communigate pro. Ce tutoriel a été écrit pour la distribution Linux CENTOS 5.x, mais je suis sûr qu’il peut être utilisé pour tout autre système basé sur Linux avec peu de modifications. Le système fonctionnera avec SELinux en mode d’application. Les composants que nous allons utiliser incluent :
- Mailscanner
- Clamav
- exim
- apache
- mailwatch
- razor
- spamassassin
- mysql
- fuzzy ocr
- signatures sanesecurity
- mailfeeder
Installer les paquets
Je suppose que vous avez installé un système CENTOS 5 de base avec le groupe “Development Tools” pour travailler, donc je ne vais pas entrer dans des problèmes tels que la sélection des paquets et la disposition des partitions. Comme nous devrons installer certains logiciels qui ne font pas partie des bases CENTOS par défaut, nous devons configurer le système pour utiliser le dépôt rpm de Dag Wieers, car il empaquette beaucoup de logiciels dont nous avons besoin.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpmAvec cela fait, nous avons configuré le système pour utiliser le dépôt rpmforge.
Pour ce tutoriel, le répertoire de travail sera /usr/local/src - tous les téléchargements doivent être téléchargés et extraits là-dedans.
Exim
yum install exim -y
/usr/sbin/alternatives --set mta /usr/sbin/sendmail.exim
service sendmail stop
/sbin/chkconfig --level 345 sendmail off
/sbin/chkconfig --level 345 exim offMailScanner
wget http://www.mailscanner.info/files/4/rpm/MailScanner-4.66.5-3.rpm.tar.gz
tar xzvf MailScanner-4.66.5-3.rpm.tar.gz
cd MailScanner-4.66.5-3
./install.shClamav
yum install clamav clamav-db clamd -y
freshclamSignatures Sanesecurity
wget http://www.sanesecurity.co.uk/clamav/update_sanesecurity.txt -O /usr/local/bin/update_sanesecurity.sh
chmod +x /usr/local/bin/update_sanesecurity.sh
ln -s /usr/local/bin/update_sanesecurity.sh /etc/cron.hourly/
/usr/local/bin/update_sanesecurity.shApache
yum install httpd php php-mysql php-gd php-eaccelerator -y /sbin/chkconfig --level 345 httpd onSpamassassin
yum install spamassassin -yFuzzy OCR
yum install netpbm-progs ocrad gocr gifsicle giflib-utils giflib -y
svn co svn://svn.own-hero.net/fuzzyocr/trunk/devel
cd devel/
perl -MCPAN -e 'install String::Approx'
perl -MCPAN -e 'install Time::HiRes'
perl -MCPAN -e 'install Log::Agent'
cp -rv {FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/} /etc/mail/spamassassin
chcon -R system_u:object_r:etc_mail_t /etc/mail/spamassassin/{FuzzyOcr.cf,FuzzyOcr.scansets,FuzzyOcr.preps,FuzzyOcr.pm,FuzzyOcr.words,FuzzyOcr/}
wget http://www.gbnetwork.co.uk/mailscanner/FuzzyOcr.words -O /etc/mail/spamassassin/FuzzyOcr.wordsRazor
yum install razor-agentsMySQL
yum install mysql mysql-server -yMailwatch
wget http://dfn.dl.sourceforge.net/sourceforge/mailwatch/mailwatch-1.0.4.tar.gz
tar xzvf mailwatch-1.0.4.tar.gz
cd mailwatch-1.0.4
cp -av mailscanner/* /var/www/html/
cp /var/www/html/conf.php.example /var/www/html/conf.php
mkdir /var/www/html/temp
chmod u+rwx /var/www/html/temp
rm -f /var/www/html/{index.php,xml,jpgraph,fpdf}
cp /var/www/html/status.php /var/www/html/index.php
mv /var/www/html/jpgraph-1.12.1 /var/www/html/jpgraph
mv /var/www/html/fpdf152 /var/www/html/fpdf
mv /var/www/html/xmlrpc_1.2 /var/www/html/xmlrpc
chown apache.apache -R /var/www/html/
chmod ug+rwx /var/www/html/images
chmod ug+rwx /var/www/html/images/cache
chcon -R system_u:object_r:httpd_sys_content_t /var/www/html/
cp MailWatch.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
cp SQLBlackWhiteList.pm /usr/lib/MailScanner/MailScanner/CustomFunctions/
cp tools/db_clean.php /usr/local/bin/
cp tools/quarantine_maint.php /usr/local/bin/Mailfeeder
wget http://www.pldaniels.com/mailfeeder/mailfeeder-0.2.3.tar.gz
tar xzvf mailfeeder-0.2.3.tar.gz
cd mailfeeder-0.2.3
make
cp mailfeeder /usr/local/bin/Configurer les paquets
Configurer Exim
Introduction
Pour exécuter exim avec mailscanner, vous avez besoin de 2 fichiers de configuration, l’un pour le démon qui écoutera sur le port 25 et acceptera le courrier entrant, et l’autre pour le processus exim qui livrera le courrier propre qui a été scanné par mailscanner. Vous avez également besoin de 2 files d’attente, une pour le courrier entrant et l’autre pour le courrier propre qui a été scanné.
Je ne vais pas m’attarder sur toutes les options de configuration qu’exim fournit, je m’attends à ce que vous puissiez obtenir des informations détaillées ailleurs sur la façon de configurer un système exim fonctionnant normalement, donc je vais seulement me concentrer sur les domaines qui sont spécifiques à cette configuration.
- Donc, pour commencer, sauvegardez votre configuration exim, puis créez le deuxième fichier de configuration pour le processus sortant.
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig
cp /etc/exim/exim.conf /etc/exim/exim_out.confExim entrant
Ceci est la configuration pour le démon exim qui écoute sur le port 25 et accepte les messages et les met en file d’attente pour que mailscanner les traite. Le fichier de configuration est /etc/exim/exim.conf.
Vérifications Anti-virus / Sanesecurity
Configurez le démon exim entrant (/etc/exim/exim.conf) pour utiliser clamav afin de scanner le courrier entrant et de rejeter les e-mails infectés par des virus ainsi que le spam d’images et de pdf au moment du smtp.
av_scanner = clamd:/var/run/clamav/clamd.sockRoutage du courrier
Configurez les domaines pour lesquels vous acceptez le courrier, nous allons les ajouter à un fichier /etc/exim/relay_domains.
# exemple /etc/exim/relay_domains
example.comSpécifiez cela dans la configuration exim :
domainlist relay_to_domains = lsearch;/etc/exim/relay_domainsConfigurez le routage des domaines pour lesquels vous filtrez le courrier dans le fichier /etc/exim/mail-routes.
#exemple /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx #ce domaine est sur un cluster CGP de 2 nœuds frontaux
somedomain.com: xxx.xxx.xxx.xxx # cela livre à une machine CGPConfigurez un routeur pour accepter le courrier pour les domaines de relais. Vous devez ajouter cela sous le router check_backend : (voir vérification d’adresse ci-dessous).
deliver_clean:
driver = manualroute
domains = +relay_to_domains
transport = remote_smtp
route_data = ${lookup{$domain}lsearch{/etc/exim/mail-routes}}Intégration de Mailscanner
Configurez l’exim entrant juste pour mettre les messages en file d’attente et ne pas livrer pour permettre à mailscanner de les traiter.
spool_directory = /var/spool/exim.in
process_log_path = /var/spool/exim/exim-process.info
queue_only = true
queue_only_override = falseRBL’s
Configurez les RBL’s sous acl_check_rcpt :
drop message = REJETÉ car $sender_host_address est dans une liste noire spamhaus.org
dnslists = xen.spamhaus.org
drop message = REJETÉ car $sender_host_address est dans une liste noire à $dnslist_domain\n$dnslist_text
dnslists = bl.spamcop.net
drop message = REJETÉ car $sender_host_address est dans une liste noire à $dnslist_domain\n$dnslist_text
dnslists = dnsbl.sorbs.netRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.