このようなサーバ側に設置するオープンソースのスパム対策ソフトの例としては、ベイジアンフィルタをサポートしている「SpamAssassin」が挙げられる(関連リンク)。また、同じくベイジアンフィルタを採用してruby言語で記述されている「bsfilter」も人気だ(関連リンク)。
2. クライアント側に設置する場合
クライアント側に設置する場合には、ユーザーの手間を必要とするが、好きなスパム対策ソフトを使うことができる。実際のところ、クライアント向けのスパム対策ソフトは、セキュリティ対策ソフトの分野に含まれており、パッケージ市販されているものが多い。市販パッケージであれば「ウイルスバスター」(トレンドマイクロ)や「Norton AntiVirus」(シマンテック)などがお馴染みだろう。フリーソフトウェアであれば、「POPFile」などが挙げられる(関連リンク)。
クライアント側で実行する場合には、ユーザーが動作をカスタマイズできるというメリットがある。しかし、デメリットとしては各人がアンチウイルスソフトの常駐状態を気にしなければならない点、そして数十人規模以上の会社になるとウイルスパターンの更新トラフィックが想像以上にネットワークを圧迫してしまう点が挙げられる。ただし、後者の問題は、LAN内に更新パターンファイルを一括配送するためのサーバプロダクトが用意されているため、対策は容易だ。
結局のところ、サーバ側とクライアント側のどちらで排除するのがよいのだろうか? 要約してみよう。
1. サーバ側であれば短期間に学習効果が期待できる
サーバ側では個々のユーザーに限らずドメイン内すべてのユーザーがやり取りするメールが行き交う。このため、扱うスパム量が比較的多く、判定のためのサンプル採取が豊富という点がメリットだといえる。
また、運用直後からある程度の学習効果が期待できるため、後で参加する新規ユーザーにも、それなりのメリットが得られるだろう。
2. クライアント側は個人宛に届くスパム傾向で学習できる
クライアント側では、当然ながら個人宛に届くスパムメールがスパムフィルタなどの学習対象となる。そのため、個人差によるスパム量で学習度合いに開きが生じるが、精度が高まることが期待できる。
前述したが、スパムメールの傾向として日々さまざまなスパム送信元から送られてくるのではなく、特定の送信元から定期的に送られてくることが多い。このため、送信されてくるスパム内容にはある程度の共通点がある。この共通点を集中的に学習すれば、排除効率はいっそう高まるはずだ。
最近では、プロバイダーがスパムフィルタサービスを提供している場合が多い。このようなサービスでは、メールサーバ側でスパムを判定を行うことになるが、プロバイダー側に配備するスパムフィルタの場合には、プロバイダー独自の判定チューニング(ならびに学習)を行っている場合が多い。このため、汎用的なスパムフィルタに比べ即効性が期待できるのも特徴だろう。このケースは、どちらかというとサーバサイドでの対処に当てはまる。
スパムフィルタは、スパムを自動的に除去する便利な仕組みではあるが、実際に使う場合には次のような点に注意が必要だ。
Copyright © ITmedia, Inc. All Rights Reserved.