特集
» 2006年03月24日 08時00分 公開

スパム対策最前線:スパムへの終止符は誰が打つべきか (1/3)

日々届き続けるスパムメール。このまま自ら排除し続けるしか手段がないのか? ウイルスと違い断定基準の難しいスパムだが、排除するためのポイントが幾つかある。

[大澤文孝,ITmedia]

 オンライン・ムック「スパム対策最前線」の前回「スパムを見分けるリテラシー」では、スパムを判定するための基本的な概念について解説した。そして、最近ではベイズ理論に基づいた「ベイジアンフィルタ」が幅広く使われており、学習によって精度が高まることにも触れた。

 今回の記事では、実際にフィルタの仕組みを使ってシステム上のどこでスパムを排除するのがよいのかを考えていく。読者には、スパムの到達経路上でどのような対策を講じるべきか理解し、効率的な排除手段を見つけ出してほしい。自らで対処するか、サーバサイドのソリューションを導入するかである。

 運用や開発の経験者であれば、それぞれの特性を理解してメリット、デメリットを想像するのは容易だろう。しかし、ドメイン内の誰にでもスパムが届く昨今、スパム判別のために社員が日々就業時間内に数十分から1時間以上も費やしていることは、もはや経営層としても見過ごすことはできないだろう。

スパムをどこで判定すべきか

 スパムメールの判定ルーチン(以下、スパムフィルタ)は、送信から受信までの経路でどこに置くのがよいのだろうか。当然ながら、配備する場所としては、「サーバ側」と「クライアント側」の2カ所が考えられる。

 それぞれに配備した場合のポイントは次の通りだ。

1. サーバ側に設置する場合

 サーバ側に設置するメリットは、メール本文の送受信操作を行うユーザー環境を問わないという点だ。ユーザーは、どのようなメールソフトを使っても問題がない。また、サーバ側でスパム判定と同時に削除してしまえば、ユーザーは、スパム自体を意識しなくて済むだろう。ただし、サーバ側でスパムを自動削除することは極力避けるべきだ。スパムフィルタの誤判定によって重要なメールが届かないという可能性があるからだ。これを防ぐ方法としては、例えば、スパム用の別ディレクトリをサーバ上に用意して集積してユーザーへ排除通知をするか、メールの件名へ自動的に「[SPAM]」などと入れて(サーバサイドソフトでは機能搭載されていることが多い)、ユーザーがフィルタでスパム排除を行えるようにするかが考えられる。トラブルを避けるためにも、メールそのものの存在をユーザーの意に反して排除しない方がよい。

 メールサーバ上でスパム判定を行うメリットはほかにもある。サーバ上では「全ユーザーが受信したメール」を処理しているため、例えばベイジアンフィルタを採用するスパムフィルタを使う場合、サンプリング環境として適している。1ユーザーのスパムを対象とするよりも、比較的短期間で広範囲のスパムを学習効果に取り入れることができるからだ。しかし、全ユーザー共通のスパムが判定基準となるため、個人宛のスパム傾向が学習内容の割合で少なくなることも考えなければならない。

 ほかにデメリットとして挙げられるのが、比較的サーバ負荷が高くなるという点だ。そのためユーザー数の規模によっては、SMTPで受け取る時点で処理を行うのではなく、POP3でユーザーが受信する際にフィルタを機能させる方がよいかもしれない。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ

マーケット解説

- PR -