Calendar
« 2005年01月 »
Su Mo Tu We Th Fr Sa
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          


Categories
Archives

2005年01月 29日

本格的にコメントスパム対策

IIS で禁止 IP を設定したり、MT-Baysian を入れてみたりしてきましたが、5分間隔で数時間、かなり広範に IP を変えて連続ポストするコメントスパムに最近あっています。これはスパムと言うよりは殆ど攻撃っちゅうヤツで、サーバー落としかねない悪質さ。

一番の解決策は MT-Blacklist なるコメント内の URL / メールアドレスからもスパムを検出、弾くことができる plug-in を利用することらしいのですが、どうにも IIS サーバーでは動かず。readme にも Unix サーバー前提と書いてあるし。

で、業を煮やして mt-comment.cgi に手を入れる対策を採りました。下記サイトで紹介されている方法です。アップデート時に問題になるため、本当は CGI に手を入れたくなかったんですが。

コメントスパム 対策いろいろ

注意点は、上記サイトの Perl ソース、シングルクォート『'』とダブルクォート『"』は全角になっているので半角に変更してくださいね。mt-comment.cgi 側の追加改変は、ほんの4行程度の追加です。とは言え、MT のアップデート時はチェックを忘れないようにしましょう。なお、mt-comment.cgi は2004年5月から変更ないようです。

この仕掛けは簡単です。まず、コメント書き込み時に隠れたパラメータをセットするようにコメント関係のテンプレートを変更しています。コメント書き込み要求があった際、mt-comment.cgi には各種データが送られるわけですが、その中に隠しパラメータがない場合はその場で終了するようになっています。この工夫がコメントスパム対策に効果的なワケは、一連の連続ポスト型コメントスパムが自動ツールを使って mt-comment.cgi に対して直接パラメータ呼び出しをしていることに由来します。自動ツールには隠しパラメータはついていないので、その場で弾くって寸法です。

対策まで例の勢いでコメントスパムが書き込まれていたのですが、対策後は全く書き込まれなくなりました。ふぅ。このアイディアのご提供にはとても感謝!

Posted by Gucchiy at 2005年01月29日 07:36
トラックバック
コメントスパム 対策いろいろ
 コメントスパム問題は、MovableTypeがブロガーの間で多く利用されているためでしょうか、その構造を理解したものが悪用する問題も多発してきました。 その多...
From: 話題のナレッジベース at 2005年01月30日 01:03
コメント

ご無沙汰してまーす。TBありがとうございます。
実はその後まさにこの方法を取り入れてみました。
すると数日間はパッタリ治まったのですが、どうやらform文を解析されたようで、再び怒涛の攻撃が始まったのです。
で、悩んだ挙句この方法をちょっと応用させてもらい、JavaScriptと組み合わせて、form文を見ただけでは正しいパラメータが判らないようにしてみました。
とはいえ、ソースを丁寧に解析されると必ず破られるので安心はできないのですが、今のところ(まだ3日間ですが)完封できているようです。
1ヶ月以上大丈夫だったらまた報告したいと思います。

Posted by: ygonno at 2005年01月29日 09:45

ゴンノさん、こんばんは!

いつもお世話になってます。うーん、そこまで凝ったマネをしてくるとは…。お疲れ様です。

確かに人が見れば hidden 属性の input key 対策も一発で見破れますものねぇ。自動化するのもそんなには難しくなさそう…JavaScript で解決されたわけですね。安定してきたらぜひ手法をご教授頂けたらうれしいです。

僕も予め対策を考えてみようかな。うーん、後思いつくのはクッキーを使う方法かなぁ。これもソース解析されたらあっという間にオジャンか。書き込み時間をキーにするなりして暗号化でもしてみようかしら?

Posted by: Gucchiy at 2005年01月29日 23:03

その後の報告です。

先述のJavaScriptの方法の種明かしですが、例のhidden属性のinput要素を元のform文には明記せずに、Confirmボタンを押すことでDOMを操作してinput/@hiddenを生成してからPostボタンを押すという仕組みにしていました。
で、確かにこの方法で今度こそコメントスパムは来なくなったようでした。

ところがです。
ほぼそれと同時に今度はトラックバックスパムの応酬が始まった訳です。
もぅ参りました。

ということで、これを切っ掛けに、ずぅっと導入をためらっていたMT-Blacklistを遂に導入してしまいました。
こんなことに時間を費やすならもっと早くに導入しておくんだったという気分です。まぁいろいろ勉強にはなりました。

数日経ってログを見ると、依然としてTBスパムの応酬は続いているようですが、コメントスパムの方は上述の仕組みのお陰でパッタリやんだようで、今のところ平和に過ごしています。

Posted by: ygonno at 2005年02月04日 19:10

お疲れ様です m(_ _)m
大変な騒ぎだったみたいですね…。ありがとうございます、参考にしてみます。TB スパム、ぼちぼち増えているようなことを巷の blog で見かけます。こちらはまだそこまで酷い攻撃にはあっていないですが、いずれそんな日も来るのかなぁ。でも Win Server は MT-Blacklist が動かないし…。
攻撃ターゲットは PageRank に依存しているような感じもしているんですが。そういう意味ではウチは当面大丈夫そうですがw

Posted by: Gucchiy at 2005年02月05日 01:45