Настройка почты · 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 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
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.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/Настройка пакетов
Настройка 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 = falseRBL’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.netGet new posts in your inbox
No spam. Unsubscribe anytime.