Open MagicVox.net がオススメする MovableType スパム対策まとめ

Posted by
ぴろり
Posted at
2007/01/23 22:53
Trackbacks
関連記事 (1)
Comments
コメント (1)
Post Comment
コメントできます
Category
MovableType カテゴリ

 ブログを開設して誰しも頭を悩ませるのがスパムの嵐です。特にスパムボット(スパム送信を目的にしたプログラム)による絨毯爆撃を受けて、泣く泣くコメント欄を閉鎖したりトラックバックの受付けを停止されたブログ管理者も多いのではないでしょうか?
 このエントリでは Open MagicVox.net で実践中の MovableType でのスパム対策手法をまとめて紹介しています。ちなみに今現在、スパムボットに対する排除率は 100% を記録しています。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  

コメントスパム対策

 英文によるものを目にすることが多く、オンラインカジノやポルノサイトへ誘導するための URL が張られることが多いです。コメント欄がスパムで埋め尽くされていたりすると、折角面白いエントリであってもコメントを残す気力も失せてしまいます。コメントしても読まれないのが目に見えていますからね… サイトを訪問頂いたビジタとの数少ないコミュニケーションの場ですから是非とも堅守しましょう。

Step.1 - コメント投稿スクリプトのファイル名変更

 コメントの投稿を受付けるスクリプト(CGI)は MovableType の初期設定では mt-comments.cgi というファイル名になっています。最近はさすがに数が減ってきましたが、スパムボットの中にはこのファイル名に対して決め撃ちでアクセスしてくるものが未だにあります。そのためこのファイル名を変更することは一応の効果があります。

  1. MovableType をインストールしたディレクトリにある mt-comments.cgi のファイル名を変更します(例えば post-komment.cgi など)
  2. MovableType の設定ファイル(mt-config.cgi)をエディタで開き、先ほど変更したファイル名に合わせて以下の行を追加します
CommentScript    post-komment.cgi

バージョン 3.2 以前の設定ファイルでは # でコメントアウトされているので、行頭の # を削除してから修正します

Step.2 - コメント投稿スクリプトのファイル名隠蔽

 Step.1 でスクリプトの名前を変更しただけでは効果がありません。変更したファイル名がコメント投稿フォームの中に埋め込まれてしまっているためです。そこで JavaScript を使ってこのファイル名を隠蔽することにします。
 この方法の良いところは、スパムボットがスクリプトへのアクセス自体を防ぐことにより、サーバ負荷を大幅に軽減することができるという点です。後述する CAPTCHA などの手法は非常に有効な手段ではあるものの、スクリプトが起動してからスパムを拒否するという動作のために、スクリプトへの絨毯爆撃が行なわれるとサーバが落ちるなどの危険性があります。JavaScript を評価できないスパムボットは、この段階で間違った URL へアクセスを試みて 404 Not Found エラーとなります。
 Open MagicVox.net でのアクセスログを観察してみると、この段階でスパムボットによるアクセスは 100% 防げているようです。海外の怪しいドメインからのアクセスは間違った URL へのコメント投稿を試みて尽くエラーとなっていることが伺えます( ̄ー ̄)

Step.3 - コメント欄への CAPTCHA 導入

 最後の砦はスパム対策の切り札とも言える CAPTCHA です。Step.2 で紹介した JavaScript を用いる方法は機械的に突破するのが比較的容易く、対策方法として有効なのも時間の問題でしょう。CAPTCHA については機械的に突破するためのコストが著しく高いため、スパムボット対策としては当分は効果的です。
 Open MagicVox.net では自作の CAPTCHA システムを導入しています。ビジタに一手間を強いるのは気が引けますが、スパムによる機会損失を考えると導入を検討するに値するでしょう。

トラックバックスパム対策

 トラックバックでのスパム対策も基本的にはコメントスパム対策と似ています。トラックバックは外部で言及されたリソース同士を結びつけるための重要な仕組みです。トラックバック欄が充実した記事はそれだけでハブとしての情報的価値を持ちます。そんなステキな仕組みをスパムのために無駄にするのは勿体無いことです。

Step.1 - トラックバック用スクリプトのファイル名変更

 コメントスパム対策と同様の理由から、未だにトラックバック用のスクリプトを決め撃ちしてくるスパムボット対策です。このスクリプトは初期設定では mt-tb.cgi というファイル名になっています。

  1. MovableType をインストールしたディレクトリにある mt-tb.cgi のファイル名を変更します(例えば trackback-me.cgi など)
  2. MovableType の設定ファイル(mt-config.cgi)をエディタで開き、先ほど変更したファイル名に合わせて以下の行を追加します
TrackbackScript    trackback-me.cgi

バージョン 3.2 以前の設定ファイルでは # でコメントアウトされているので、行頭の # を削除してから修正します

Step.2 - Trackback Auto Discovery の削除

 Step.1 でファイル名を変更しても、その変更したファイル名が漏れてしまっては意味がありません。MovableType には Trackback Auto Discovery という仕組みがあります、ここにそのファイル名が書かれてしまっています。MovableType の管理画面から[テンプレート]-[アーカイブ]と進み、個別アーカイブテンプレートを修正することでこれを削除できます。アーカイブテンプレート中に MTEntryTrackbackData というテンプレートタグが在る場合、このタグを削除します。
 これによりスパムボットはトラックバック URL を機械的に知ることが難しくなりました。トラックバック用スクリプトへのアクセスが激減することから、サーバ負荷も大きく下がることと思いま。
 なお、Open MagicVox.net では、この段階でトラックバックスパム排除率が 100% です。未だにファイル名を変更する前の mt-tb.cgi 宛に来て 404 Not Found エラーになるものが居ますが、変更後のスクリプトにアクセスできたものは未だありません( ̄ー ̄)

 この Trackback Auto Discovery の仕組みを無効にすることにはデメリットもあります。hxxk.jp - Movable Type の Trackback auto-discoveryにその機能の概要やメリット、デメリットがまとめられています。

Step.3 - トラックバックへの CAPTCHA 導入

 スパムボット対策の決定打はやはり CAPTCHA だと言えます。CAPTCHA の導入は少し敷居が高いものの、効果は十分に期待できます。この CAPTCHA をトラックバックにも利用できればスパムボット対策にも心強いものです。
 Open MagicVox.net では、トラックバック URL の告知欄で CAPTCHA コードの入力をお願いしています。 そしてプラグインを用いて、正しい CAPTCHA コードが入力されていないトラックバックはエラーとなるようにしています。

『人間の敵は人間である』

 これまでに挙げた方法でスパムボットによって機械的に行なわれるスパム行為はほぼ防げるものと思います。しかしそれでも尚、送られてくる検索トラックバックやアフィリエイトサイトへ誘導するための宣伝スパムは防ぎようがありません。これについては注意書きなどでお願いするくらいしか方法がないのですが、こういった行為をする相手にはお願いなんて読まれているハズもありません。頭痛の種は永遠に無くならない訳ですね。合掌。

参考リンク

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  



関連記事/トラックバック (全 1 件中、最新 5 件まで表示しています)

Open MagicVox.net のスクリーンショット
タイトル
最近のスパム迎撃状況
Trackbacked at
2007/04/25 22:29
from
Open MagicVox.net
概要
 Open MagicVox.net では, コメントやトラックバックに 様々なスパム対策を施しているお陰か, スパムボットによるスパム被害というものが...

この記事にトラックバックを送るには?

寄せられたコメント (全 1 件中、最新 5 件まで表示しています)

Posted by
ゆめのあとゆめのあと
at
2007/10/14 10:41
ID
OOebfLvY
初めて投稿させていただきます、ゆめのあとと申します。
コメントスパム対策を探していて、ここに辿り着きました。
参考になります。
サーバの負荷を軽減する方法はないかと探していましたが、
JavaScriptによるファイル名の隠蔽は今のところ効果的に機能しています。
有益な情報をありがとうございます。

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。