メール設定 · 2 min read · Jan 03, 2026

Mailscanner/Exim Gateway With Communigate PRO Guide

Mailscanner/Exim Gateway With Communigate PRO Guide

このチュートリアルでは、Communigate pro クラスターの前にメールファイアウォールとして Mailscanner をインストールおよび設定します。このチュートリアルは CENTOS 5.x Linux ディストリビューション用に書かれていますが、少しの修正で他の Linux ベースのシステムでも使用できると思います。システムは SELinux を強制モードで実行します。使用するコンポーネントは以下の通りです:

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

パッケージのインストール

「Development Tools」グループを使用して、基本的な CENTOS 5 システムをインストールしたと仮定しますので、パッケージの選択やパーティションのレイアウトなどの問題にはあまり触れません。デフォルトの CENTOS ベースに含まれていない特定のソフトウェアをインストールする必要があるため、必要なソフトウェアをパッケージ化している Dag Wieers の rpm リポジトリを使用するようにシステムを構成する必要があります。

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 の設定

はじめに

Mailscanner と共に exim を実行するには、ポート 25 でリッスンし、受信メールを受け入れるデーモン用の 2 つの設定ファイルと、Mailscanner によってスキャンされたクリーンなメールを配信するための exim プロセス用の 1 つの設定ファイルが必要です。また、受信メール用とスキャンされたクリーンメール用の 2 つのキューも必要です。

exim が提供するすべての設定オプションについては詳しく説明しませんが、通常の実行中の exim システムを設定する方法については他の場所で詳細情報を得られると思いますので、このセットアップに特有の領域にのみ焦点を当てます。

  • まず、exim の設定をバックアップし、次にアウトバウンドプロセスのための 2 番目の設定ファイルを作成します。
cp /etc/exim/exim.conf /etc/exim/exim.conf.orig  
cp /etc/exim/exim.conf /etc/exim/exim_out.conf

受信 Exim

これは、ポート 25 でリッスンし、メッセージを受け入れて Mailscanner に処理させるためにキューに入れる exim デーモンの設定です。設定ファイルは /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 に追加します。

# example /etc/exim/relay_domains
example.com

これを exim 設定に指定します:

domainlist relay_to_domains = lsearch;/etc/exim/relay_domains

フィルタリングするメールのドメインのルーティングをファイル /etc/exim/mail-routes で設定します。

#example /etc/exim/mail-routes
example.com: xxx.xxx.xxx.xxx:xxx.xxx.xxx.xxx #このドメインは 2 つのフロントエンドノードの CGP クラスターにあります
somedomain.com: xxx.xxx.xxx.xxx # これは 1 台の 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

acl_check_rcpt の下に RBL を設定します:

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

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。