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.rpm

Avec 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 off

MailScanner

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.sh

Clamav

yum install clamav clamav-db clamd -y  
freshclam

Signatures 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.sh

Apache

yum install httpd php php-mysql php-gd php-eaccelerator -y /sbin/chkconfig --level 345 httpd on

Spamassassin

yum install spamassassin -y

Fuzzy 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.words

Razor

yum install razor-agents

MySQL

yum install mysql mysql-server -y

Mailwatch

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.conf

Exim 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.sock

Routage 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.com

Spécifiez cela dans la configuration exim :

domainlist relay_to_domains = lsearch;/etc/exim/relay_domains

Configurez 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 CGP

Configurez 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 = false

RBL’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.net
Share: X/Twitter LinkedIn

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

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