"Shade検索"Wiki

迷惑メール対策

迷惑メール(スパムメール)対策についてまとめてみました。

スパムメールが来たら

スパムメールに返信しない。


返信すると、さらにたくさんのスパムが来ます。

メールに書かれているリンクを不用意にクリックしない


これもメールアドレスが生きていることがばれます。
リンク先のURLに?○○=8475hdg93763
などという記号のようなものがついていたら、メールアドレスを識別するための番号である可能性が高いです。リンクをクリックしたら、そのメールアドレスの所有者がクリックしたということがわかる仕掛けです。
こうしたリンクをクリックすると、メールアドレスが生きていることがばれるだけでなく、いきなり自分のメールアドレスやIPアドレスが表示され、"ご契約ありがとうございます"なんていうページに飛ばされる恐れがあるので、ご注意を。
どうしてもリンク先を見てみたいという場合は、識別番号っぽい部分を削除した上で、ブラウザへダイレクト入力するという方法もあるかもしれませんが、他の仕掛けもあるかもしれないので、おすすめはしません。どうせ怪しげなサイトです。

HTMLメールは受け取らない。受け取る場合は画像をダウンロードしない。


HTMLメールはいろいろな仕掛けをしやすいので、受け取らない方が無難です。
HTMLメールの場合は、見た目のURLが
http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/
などと普通のURLになっていても、実際のリンクは違うものになっている可能性もあります。
<a href="http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/ayasige.cgi?id=8475hdg93763">http://www2u.biglobe.ne.jp/~k_hiray/ps_db/search/</a>
わざわざ実際のリンク先と違うURLを表示するというだけで、だまそうという意図が見え見えです。

また、画像のリンクが埋め込まれたHTMLを受け取ったら、プレビューしただけでメールアドレスが生きていることがばれます。
どういう仕組みになっているのかなと思ったら、意外と簡単な仕掛けなようです。
まず、HTMLのメールに画像を埋め込む際、メールに画像ファイルを添付するのではなく、画像ファイルはWEB上のサーバーに置き、HTMLメールにはそのリンクを埋め込みます。その画像ファイルはメール1通ごとに名前を変え、どのメールアドレスになんという名前の画像ファイルを埋め込んだかというリストを持っているので、サーバーの画像ファイルへのアクセスを調べることによって、その画像ファイルへのリンクを埋め込んだメールが読まれたかどうかわかる、つまりどのメールアドレスの所有者がメールを開いたかわかるというわけです。
HTMLメールを受け取り、画像を自動でダウンロードする設定にしていると、プレビューしただけでメールが読まれたことがわかってしまいます。最近はメールソフトで画像の自動ダウンロードをオフにできるものもあるので、これはオフにしておいた方が無難だと思います。

フィルターで振り分ける


1日に10通以上来るようになると、スパムメールを1通1通削除するのは面倒なので、フィルターでふるい落とす方がいいでしょう。最近のメールソフトはたいていそうしたフィルター機能がついているようです。私が使ったメールソフトではThunderBirdが細かい設定をしなくてもちゃんと振り分けてくれるので楽でした。一度スパムメールと登録したら、そのパターンを学習して同じようなメールをスパムと判断する仕組みだと言うことです。
また、プロバイダでスパムメール防止サービスを行っている場合もあるし、メールソフトでダウンロードする前にサーバーでスパムメールを削除してくれるフリーウェアもあるようです。

メールアドレスを変えてしまう


以上のような対策をしても、スパムメールが煩わしいのには違いありません。
一度メールアドレスがスパムメール業者に知られてしまったら、複数の業者に流れてしまうようなので、まずそうした業者にメールアドレスを知られないということが重要だと思います。スパムが来るようになってしまったら思い切ってメールアドレスを変えるというのが確実かもしれません。
メールアドレスを変えたら、その扱いは慎重に行うべきでしょう。せっかくアドレスを変えても、すぐスパム業者に知られてしまえば、同じことの繰り返しになります。WEB上に公開したことによって漏れるというケースが多いと思うので、まずそこから対策すべきでしょう。

メールアドレス漏洩を防ぐ


インターネット上で公開されているメールアドレスは、メールアドレス収集ロボット、スパムボットなどと呼ばれる自動巡回プログラムによって収集されることが多いようです。
メールアドレス収集ロボットに狙われないためには、

  • メールアドレスをJavaScriptで表示する
  • @を別の文字に変えて、これを@マークに置き換えてもらうようにする
  • メールアドレスを文字ではなく画像で表示する
  • メールアドレスをエンティティコードで表示する

などの方法があるようです。私は試したことがないので、効果のほどは未確認です。
しかし、収集ロボットもこうした対策に対応してくる(あるいはしている)可能性もあるし、ロボットには効果があっても業者が手作業で収集をはかれば、知られてしまう恐れはあります。WEB上ではメールアドレスを公開しないのが確実な対策かもしれません。不特定多数の人とのコミュニケーションは掲示板などメール以外の方法をとるとか。

フォームメールを使う


とはいっても、公開しないだけじゃ寂しいので、私の場合は、メールはすべてフォームメールで送ってもらうことにしました。フォームメールCGIはKent Webさんのpostmail.cgiを使わせてもらいました。これは、htmlでフォームをカスタマイズできるタイプのものなので、改造も簡単です。送信者へ控えメールも送れるので、本当に送れたかどうかの目安にもなると思います。
オリジナルのCGIでは送信者がメールアドレスを記載し、控えメールを送る設定で送信した場合、

To: こちらのメールアドレス
From: 送信者のメールアドレス
CC: 送信者のメールアドレス

というヘッダーになります。つまり送信者が自分のメールアドレスを書いて控えを送る設定で送信した場合は、同じメールが送信者にも送られ、こちらのメールアドレスも知られることになります。
わざわざ自分のメールアドレスを書いて送ってくれてるんだから、そういう方にはメールアドレスを知られてもかまわないのじゃないかなと思っていたのですが、最近では、フォームメールからスパムメールが送られてくるというケースもあるようです。業者が手作業でメールフォームにアクセスして送っているのか、複数のフォームメールから自動的にメール送信できるようなソフトがあるのかもしれません。こういう背景があるのか、Kent WEbのpostmailの最新バージョンの解説では、「セキュリティ上控え送信は推奨しない」となっていました。
幸い、私のところではまだフォームメールからスパムが送られてきたことはありませんが、一度でも送られてきたらアウトなので、CCで控えメールを送るのはやめ、送信元を送信者自身のメールアドレスにした控え専用のメールを別途送信するように修正しました。
こちらが受け取るメールは

To: こちらのメールアドレス
From: 送信者のメールアドレス

送信者への控えは

To: 送信者のメールアドレス
From: 送信者のメールアドレス

というヘッダーになります。せっかくメールを送ってくれた方には申し訳ないけど、スパムメール業者の手口がこれだけ悪質、巧妙になってくると、ここまで用心せざるを得ないようです。こちらのメールアドレスは返信する際にお知らせすることになります。

同様のフォームメール化対策をShade Web検索のホームページ登録者のメールに対しても行っています。また、掲示板に書き込まれたメールアドレスも同様にメールフォームで送るように改造しました。
掲示板やメール送信フォームには一切メールアドレスは表示せず(もちろんソース内にも)、メール送信時にCGIでログファイルからメールアドレスを抜き出して送信するという方式です。掲示板のログファイル内を検索されてもわからないよう、ログファイルの拡張子をブラウザなどで直接見られないはずの.cgiに変更しました。

こうした方法で、どこまでスパムメールを予防できるかまだわかりませんが、私の場合、昨年メールアドレスを変更したあと、これまでのところスパムメールは1件も来ていません。

フォームメールその後


6月13日にbiglobeのサーバーの仕様が一部変更されました。その関係で、少し問題が起きたので、
biglobeのsendmail仕様変更? にまとめました。



4104


>>2010/01/25 01:27:00更新>>