(注:記事は執筆時の情報に基づいており,現在では異なる場合があります)

活用のポイント:周辺ソフトウエアとの連携がカギ

写真2●オープンソースのアンチウイルス・ソフトウエアの公式サイト
(a)AMaViS,(b)Clam AntiVirus
図2●ウイルス・チェック
PostfixとAMaViS,Clam Anti Virusによるメールの検査
表2●主なオープンソースのSPAMフィルタリング・ソフトウエア
写真3●オープンソースの迷惑メール・フィルタリング・ソフトウエアの公式サイト
(a)SpamAssassin,(b)AMaViS

 現在,メール・サーバーの機能が大幅に拡張されることはほとんどない。sendmailやPostfixでは豊富な機能が実装されており,新たな機能が追加されても基本的な機能が変更になることはまずない。

 しかし,今やメール・サーバーは単にメールの送受信ができる環境を提供すれば十分という状況ではなくなってきている。最近の電子メールを取り囲む事情にあわせて,柔軟に機能を追加する必要が出てきている。これらの機能はメール・サーバー本体に実装されることもあるが,多くはメール・サーバーと連携して動作する別のソフトウエアとして開発される。

 こでは,最近ニーズが高い(1)メール・サーバーでのウイルス検出機能,(2)迷惑メールのフィルタ機能の2つを取り上げる。

オープンソースだけでウイルス検出

 メール・サーバーでのウイルス検出機能については,近年ますます重要な機能として認知されてきている。

 従来,クライアントにインストールされたアンチウイルス・ソフトによるウイルス検出が一般的であったが,すべてのクライアントにもれなくこれらをインストールし,さらにウイルス定義ファイルを常に更新し続けることはなかなか困難をきわめる。そこで,クライアントでのウイルス検出とあわせてサーバー側でもウイルス検出をしておこうという動向のようだ。

 サーバーの場合は一括管理できるため,クライアントすべてをメンテナンスするのに比べて少ない手間ですむ上に,大きな成果をあげることができるからだ。

 メール・サーバーでのウイルス検出機能は商用ソフトウエアを利用すれば実現できるが,オープンソース・ソフトウエアだけでも,比較的簡単に構築できる。

 例えば,ウイルス検知ソフトである「Clam Anti Virus」(http://clamav.elektrapro.com/)と「A Mail Virus Scanner」(以下AMaViSとする,http://www.amavis.org/)を組み合わせる。どちらもオープンソース・ソフトウエアである(写真2[拡大表示])。

 AMaViSは,メール・サーバーから電子メールデータを受け取り,メール本文や添付ファイルなどをウイルス検出ソフトでチェックを行うソフトウエアである。添付ファイルなどが圧縮されていたとしても元のファイルに展開してから,そのファイルデータをウイルス検出ソフトに渡すなどの工夫が施されている。

 実際に,Postfixを利用している場合の導入例を図2[拡大表示]に示した。Postfixが受け取った電子メールはcontent_filterと呼ばれる機能によってAMaViSを渡される。AMaViSは電子メール内にウイルスが検出されなければ,データをPostfixに戻して通常どおりの配送が行われるようにする*3。もし,ウイルスが検出されたら,配送を中断して,管理者にウイルスが発見された旨を通知する。

 この例では,Clam Anti Virusというオープンソース・ソフトウエアのウイルス検出ソフトを利用している。オープンソース・ソフトウエアのウイルス検出ソフトはいくつか存在している。どれも商用製品に比べると「ウイルス定義ファイル」でサポートしているウイルス数がやや劣るが,一般的に流通しているウイルスにはほとんど対応しているので,よほどマイナーなウイルスでない限り,検出することができる。実際,著者に日々送られてきているウイルス混入メールはほぼすべて検出できている。

迷惑メールのフィルタリング機能

 迷惑メール(SPAM)のフィルタリング機能もオープンソース・ソフトウエアとして様々なものが提供されている。その中でもよく利用されているのがSpamAssassinとbsfilterである(表2[拡大表示],写真3[拡大表示])。これらは,メール・サーバーがメール・データをメールボックスに格納(ローカル配送)する前にメールの内容を確認して,迷惑メールであるがどうかを判定するというものである。

 あらかじめ過去に届いた迷惑メールとそれ以外のメールをそれぞれ解析して,迷惑メールに入っていることが多いキーワードなどを分析しておく。そして,受け取ったメールについてデータベースと照合して,迷惑メールである確率を算出するという仕組みである。この機能によって,迷惑メールである確率の高いメールはフィルタリングしてしまうことが可能となる。

 オープンソース・ソフトウエアとして提供されている迷惑メールのフィルタリング・ソフトウエアについては「迷惑メールの送信者がソースコードを見て,フィルタリング機能の穴を抜けるように調べているため,効果がない」とする意見も存在している。しかし,実際には事前に作成しておくデータベース・ファイルをしっかり作ることで適切にフィルタリングできる可能性を高めることができる。

 オープンソースで提供されているメール・サーバー・ソフトウエア,メール・サーバー関連のソフトウエアは数多く存在しているが,日々変化するニーズに応えていくため,必要な機能は何かを見極めた上で,いくつかのソフトウエアを上手に組み合わせ利用することが活用のポイントとなってくるだろう。

濱野賢一朗(はまの・けんいちろう)氏

株式会社びぎねっと 取締役,リナックスアカデミー 教務統括部。Linuxをはじめとするオープンソース・ソフトウエアに精通した技術者を養成するための体系的な教育手法を模索するべく,セミナーやトレーニングなどによる情報提供を行っている。「合格Expert LPI Linux 認定試験 レベル1リリース2」(共著,技術評論社),「qmailで作る快適メールサーバー」(共著,秀和システム)など著書多数。