前回の記事ではスパマー(スパム発信業者)の手口を解説した。今回の記事では,スパム対策について考えてみたい。まず重要なことは,スパマーにメール・アドレスを収集されないようにすること。メール・サーバーの管理者は,オープン・リレーを許さない設定にすることが不可欠である。

メール・アドレスの記載には工夫を

 前回の記事で解説したように,スパマーは,スパムの送り先アドレスをWeb サイトなどから収集する場合が多い。ツールを使って,「mailto:」にリンクされている文字列や「文字列@文字列」をメール・アドレスとして収集する。裏を返せば,Webページにメール・アドレスを直接記述しなければ,アドレスがスパマーの手に渡る可能性を低減できることになる。

 具体的には,メール・アドレスをテキストで記述するのではなく,画像にする方法が考えられる。実際,この記事の末尾に記載している筆者のアドレスはGIF画像である。ただし,これだけでは「テキスト・ブラウザでは分からない」といったアクセシビリティの問題が出てくる。そこで,「alt」として「inoueアットマークmxg.nes.nec.co.jp」としている。

 このaltの例のように,「人が見れば分かるがツールには分からない」形で記述するのも手だ。「@」を「アットマーク」とする以外にも,いろいろ方法はあるだろう。よく見かける方法としては,メール・アドレス中に「NOSPAM」という文字列を入れる方法がある。そのままでは無効なアドレスだが,「NOSPAM」を取り除けば有効なアドレスになる(関連記事)。

 「ユーザーの利便性のために mailto: タグを用意したい」という場合には,上記の方法は使えない。mailto: の引数に有効なアドレスを記述する必要がある。ただし,そのまま記述するとスパマーに収集されてしまう。そこで,HTML中には直接書かず,「mailto:メール・アドレス」と出力するだけの簡単な Java スクリプトなどを呼び出すリンクに変更する。アドレス収集ツールは,Webサーバーが公開するHTMLファイルにアクセスして,その中にアドレスが含まれないかどうかを調べる。このため,スクリプトなどを使って間接的にmailto: タグを出力するようにすれば,ツール対策として有効だ。

 メール・アドレスを不用意に教えないことも重要である。アンケートや懸賞などに申し込む際には,メール・アドレスの記入が求められることがある。疑い出せばキリがないが,「本当に記入する必要があるのか」「アドレスを悪用される恐れはないか」――をよく考えた上で記入するべきだろう。

 今では名刺にメール・アドレスが記載されているケースが多いだろう。このアドレスが回りまわってスパマーの手に渡る可能性もある。これも疑い出せばキリがないが,展示会などで不必要に名刺を渡して回るのは控えたほうがよいだろう。

 もちろん必要以上に神経質になることはない。誰にも教えなければ,メール・アドレスを持っている意味がない。ただ,これを期にちょっと考えていただきたい。

オープン・リレー・サーバーは“協力者”

 スパマーはオープン・リレー・サーバーを経由してスパムを送ろうとする。これも前回の記事でお話した通りだ。メール・サーバーの管理者は,これを許してはいけない。オープン・リレー・サーバーを運用していると,リソースをただで使われるだけではなく,スパマーの協力者とみなされるからだ。

 以前とは異なり,最近のメール・サーバー・プログラムは,デフォルトでオープン・リレーを禁止する設定になっている。このため,普通に使っている場合には,オープン・リレーを許さないはずだ。

 しかしながら,「デフォルトでオープン・リレーを許している古いメール・サーバー・プログラムを使っている」「メール・サーバー・プログラムにオープン・リレーを禁止する設定がない」「単純な設定ミス」――などにより,インターネット上にはオープン・リレー・サーバーが多数存在するのが現状である。

 そういったオープン・リレー・サーバーは,RBL(Realtime Blackhole List)と呼ばれる,いわゆるブラック・リストに登録されてしまう。RBLに登録されているメール・サーバーからのメールはスパムである可能性が高いとして,受信を拒否する企業や組織は少なくない。

 RBLは,複数の組織や団体からインターネット上で公開されている。誰でも参照できる。自社のサーバーあるいは,自社が管理を任されているサーバーがRBLに登録されていたらどうだろうか。実際にスパマーに使われていなくても,自社からのメールが相手にきちんと届かないばかりか,信用問題に発展する可能性がある。

 RBLに登録されることを防ぐためにも,オープン・リレーを許してはいけない。「うちのサーバーは大丈夫」という管理者も,これを期に再確認していただきたい。加えて,現在使用しているサーバー・プログラムのどの設定がオープン・リレーに対応する項目なのかなどを,きちんと把握しておきたい。

ツールは有効,しかし万全ではない

 ユーザーとして,あるいは管理者として考えられる対策をすべて施しても,送られてくるスパムをゼロにはできない。そこで,スパムを効率よく判別あるいは破棄できるようにすることも,スパム対策の一つである。そのためのアンチスパム・ツールが多数出回っているので,それらを利用するとよいだろう。

 アンチスパム・ツールにはサーバー(ゲートウエイ)型とクライアント型があり,スパムかどうか判別するための仕組みもさまざまである。

 例えば,スパマーの使用するメールのうたい文句や文章の特徴などをデータベース化し,それをもとにチェックする方法がある。ちょうど,アンチウイルス・ソフトがパターン・ファイルに基づいてチェックするのと同じである。ほとんどの場合,データベースは,そのツールのベンダーが定期的に更新し,オンラインで提供する。

 そのほか,過去のスパムのパターンを“学習”し,スパムかどうかを判断する「ヒューリスティック分析」「ベイズ分類」といった方法もある。ユーザーがフィルタリング条件(例えば,「特定のキーワードを含むメールはスパムとする」「特定のドメインから送られてきたメールはスパムとする」)を設定する方法もある。

 ただし,いずれの方法も万全ではない。スパムを判別できるようになるまで時間がかかる場合もある。使ってみないと分からない場合が多いので,ツールを選択する際には,導入前に試用することをお勧めする。

 プロバイダがスパムのフィルタリング・サービスを用意している場合には,それを利用するのも手だ。サービスによっては,各ユーザーごとにフィルタリング条件を設定できたり,自分で設定した条件にマッチしたメールを自動的に別のメール・ボックスに振り向けたりするなど,いろいろな機能を備えている。

 前述のRBLを参照する方法もある。ほとんどのサーバー(ゲートウエイ)型アンチスパム・ツールがRBLを参照する機能を備えている。RBLを参照できるメール・サーバーも多い。ただし,RBLの情報が誤っていたり,RBLに登録されているサーバーから正規のメールが送られてきたりした場合には,スパムと誤判定する危険性もある。

 うまく使えば有効なアンチスパム・ツールやRBLだが,いずれも万全ではない。そのことを心にとめて,過信しないようにしたい。


井上 秀 (INOUE Hiizu)inoueアットマークmxg.nes.nec.co.jp
NECソフト株式会社 プラットフォームシステム事業部
Linux システム G


 IT Pro Securityが提供する「今週のSecurity Check [一般編]」は,セキュリティ全般の話題(技術,製品,トレンド,ノウハウ)を取り上げる週刊コラムです。システム・インテグレーションやソフト開発を手がける「NECソフト株式会社」の,セキュリティに精通したスタッフの方を執筆陣に迎え,分かりやすく解説していただきます。