Настройка почты · 4 min read · Jan 03, 2026

Mailscanner/Exim Gateway With Communigate PRO Guide

Mailscanner/Exim Gateway With Communigate PRO Guide

В этом руководстве мы будем устанавливать и настраивать Mailscanner в качестве почтового межсетевого экрана перед кластером Communigate pro. Это руководство написано для дистрибутива Linux CENTOS 5.x, но я уверен, что оно может быть использовано для любой другой системы на базе Linux с небольшими модификациями. Система будет работать с SELinux в режиме принудительного контроля. Компоненты, которые мы будем использовать, включают:

  • Mailscanner
  • Clamav
  • exim
  • apache
  • mailwatch
  • razor
  • spamassassin
  • mysql
  • fuzzy ocr
  • sanesecurity signatures
  • mailfeeder

Установка пакетов

Я предполагаю, что вы установили минимальную систему CENTOS 5 с группой “Development Tools”, поэтому я не буду углубляться в такие вопросы, как выбор пакетов и разметка разделов. Поскольку нам нужно установить определенное программное обеспечение, которое не входит в стандартный пакет CENTOS, нам нужно настроить систему для использования репозитория rpm Dag Wieers, так как он упаковывает много необходимого программного обеспечения.

rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

С этим завершено, мы настроили систему для использования репозитория rpmforge.

Для этого руководства рабочий каталог будет /usr/local/src - все загрузки должны быть загружены и распакованы там.

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

Подписи 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/

Настройка пакетов

Настройка Exim

Введение

Чтобы запустить exim с mailscanner, вам нужны 2 конфигурационных файла: один для демона, который будет слушать на порту 25 и принимать входящие письма, и другой для процесса exim, который будет доставлять чистую почту, отсканированную mailscanner. Вам также требуется 2 очереди: одна для входящей почты и другая для чистой почты, которая была отсканирована.

Я не буду углубляться во все параметры конфигурации, которые предоставляет exim, я ожидаю, что вы сможете получить подробную информацию в другом месте о том, как настроить нормально работающую систему exim, поэтому я сосредоточусь только на тех областях, которые специфичны для этой настройки.

  • Итак, для начала создайте резервную копию вашей конфигурации exim, затем создайте второй конфигурационный файл для исходящего процесса.
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig  
cp /etc/exim/exim.conf /etc/exim/exim_out.conf

Входящий Exim

Это конфигурация для демона exim, который слушает на порту 25 и принимает сообщения, ставя их в очередь для обработки mailscanner. Конфигурационный файл - /etc/exim/exim.conf.

Антивирусные проверки / Sanesecurity

Настройте входящий демон exim (/etc/exim/exim.conf) для использования clamav для сканирования входящей почты и отклонения вирусных писем и спама с изображениями и pdf во время smtp.

av_scanner = clamd:/var/run/clamav/clamd.sock

Маршрутизация почты

Настройте домены, для которых вы принимаете почту, мы добавим их в файл /etc/exim/relay_domains.

# пример /etc/exim/relay_domains
example.com

Укажите это в конфигурации exim:

domainlist relay_to_domains = lsearch;/etc/exim/relay_domains

Настройте маршрутизацию доменов, для которых вы фильтруете почту, в файле /etc/exim/mail-routes.

#пример /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx # этот домен находится в кластере CGP из 2 фронтальных узлов
somedomain.com: xxx.xxx.xxx.xxx # это доставляет на одну машину CGP

Настройте маршрутизатор для принятия почты для доменов пересылки. Вам нужно добавить это под check_backend: router (см. проверка адреса ниже).

deliver_clean:
  driver = manualroute
  domains = +relay_to_domains
  transport = remote_smtp
  route_data = ${lookup{$domain}lsearch{/etc/exim/mail-routes}}

Интеграция Mailscanner

Настройте входящий exim так, чтобы он просто ставил сообщения в очередь и не доставлял их, чтобы позволить mailscanner обработать их.

spool_directory = /var/spool/exim.in
process_log_path = /var/spool/exim/exim-process.info
queue_only = true
queue_only_override = false

RBL’s

Настройте RBL’s под acl_check_rcpt:

drop    message       = REJECTED because $sender_host_address is in a black list spamhaus.org
           dnslists      = xen.spamhaus.org
drop    message       = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
           dnslists      = bl.spamcop.net
drop    message       = REJECTED because $sender_host_address is in a black list at $dnslist_domain\n$dnslist_text
           dnslists      = dnsbl.sorbs.net
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.