Plesk Obsidianリリース記念!Plesk最大7カ月無料キャンペーン

2011/11/18

【実証】メールサーバーの構築AtoZ (第4章)

GMOクラウド株式会社の芦田です。連載4回目で、メールサーバーの構築も終わりです。前回の記事「メールサーバーの構築AtoZ (第3章)」では、Dovecotを使って受信サーバーを導入する過程をご紹介しましたが、今回は、Postfixに届いたメールに対して、自動でウィルスチェックおよびスパムチェックを行えるようにしてみます。

(4) ウィルス対策ソフトの導入

Postfixに届いたメールに対して、自動でウィルスチェックおよびスパムチェックを行えるようにしてみます。アンチウィルスソフトとしては、オープンソースの「Clam AntiVirus」(以下、ClamAV)を使います。

4.1 RPMforgeリポジトリの導入

ClamAVのパッケージはrpmファイルとして配布されているので、これを入手すればrpmコマンドでインストールすることができるのですが、RPMforgeリポジトリを導入することでyumでのインストールも可能になります。今回はyumを使う方法を試してみます。
まず、RPMforgeリポジトリのパッケージが既存のリポジトリのパッケージを上書きしないように、yum-prioritiesというプラグインをインストールしておきます。これはyumを使って次のコマンドでインストールできます。
yum -y install yum-priorities
プロンプト4.1.1
インストールできたら、/etc/yum.repos.d/CentOS-Base.repoを修正します。次のように、各リポジトリの 設定に「priority=1」を付け足してください。下の例はbaseリポジトリのものですが、その他のリポジトリに対しても同じように設定を追加します。
リスト4.1.2
[base]
name=CentOS-$releasever – Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
priority=1
以上の準備ができたら、RPMforgeリポジトリを以下の手順でインストールします。RPM-GPG-KEY.dag.txtはリポジトリ用のGPGキーです。rpmforge-releaseのrpmファイルは最新版をダウンロードしてください。
# wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm –import RPM-GPG-KEY.dag.txt
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
# yum -y update rpmforge-release
プロンプト4.1.3

4.2 ClamAVのインストール

RPMforgeリポジトリを導入すると、ClamAVがyumを使ってインストールできるようになります。パッケージ名は「clamd」です。
yum -y install clamd
プロンプト4.2.1 ClamAVの設定ファイルは「/etc/clamd.conf」になります。clamdがroot権限で動作するように、clamd.confの「User clamav」と書かれている行を次の例のようにコメントアウトしてください。
リスト4.2.2
#User clamav
また、今回はPostfixと連携させたいので、そのための設定として「TCPSocket 3310」と書かれている行も次のようにコメントアウトしておきます。
リスト4.2.3
#TCPSocket 3310
ウィルス定義ファイルは、/etc/cron.daily/freshclamによって毎日自動で最新のものに更新されるようになっていますが、初回だけ手動で更新しておきましょう。ウィルス定義ファイルの更新はfreshclamコマンドで行うことができます。
# freshclam
プロンプト4.2.4
設定が完了したら、次のコマンドでclamdの起動します。他のサービスと同様に自動起動の設定もしておきましょう。
# /etc/rc.d/init.d/clamd start
# /sbin/chkconfig clamd on
プロンプト4.2.5

(5) PostfixとClamAVの連携

PostfixとClamAVの連携には、「AMaViS」(パッケージ名「amavisd-new」)というツールを利用します。AMaViSは、アンチウィルスソフト(この場合はClamAV)と連携してメールサーバーに対してウィルスやスパムのフィルタリング機能を付け加えるソフトです。

5.1 amavisd-newのインストール

続いて、AMaViSと連携するようにPostfixの設定を変更します。まず、/etc/postfix/main.cfの末尾に下記の設定を追加してください。
リスト5.2.1
content_filter = smtp-amavis:[127.0.0.1]:10024
また、/etc/postfix/master.cfの末尾には下記の設定を追加します。
リスト5.2.2
smtp-amavis unix – - n – 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n – n – - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
最後に、Postfixを再起動すれば設定が反映されます。
# /etc/rc.d/init.d/postfix restart
プロンプト5.2.3
なお、AMaViSは日本語のスパムには対応していないので、日本語スパムの検出に使いたい場合には日本語対応パッチをあてたSpamAssassin(日本SpamAssassinユーザ会等を参照のこと)などと連携させて利用する必要があります。
以上で、メールサーバー構築はすべて完了です。皆さんもぜひ、GMOクラウド Publicを利用して試してみてください!


コラム一覧へ