今回紹介するSPAMコメント・トラックバックの対策方法は、“Junk slowdown”というスクリプトの導入です。
結論から先に言うと、自分がいろいろ試したSPAM対策の中で、一番効果があったのがこの方法です。
まずはその前に、従来のSPAM対策の説明、そして“Junk slowdown”導入方法、導入後の状況を書きます。
各種SPAM対策のプラグインは、ほとんどが「コメント・トラックバックを受け取った後で、SPAMかどうか判断する」という流れになります。
しかしその方法では、一日に何十、何百とSPAMによる被害を受けている状況だと、その度にプラグインによるチェックが行われるので、サーバに負担をかけることになります。「毎秒コメントCGIにアクセス」なんて、自宅サーバでは言うに及ばず、レンタルサーバ環境でも恐怖です(追い出されるかも)。
たとえば──ちょっと前の記事ですが、drkさんは2時間程度で約1万件のトラックバックスパムを受信
とのことです。恐ろしや……。
トラックバックスパムで攻撃されてます・・・orz :: Drk7jp
そこで先ずお勧めなのが、コメントCGIの改名です。
コメントCGIもトラックバックCGIも同様に処置できるので、二つのCGIをまとめて、以下「コメントCGI」と呼びます。
コメントCGIリネームと“mt.cfg(mt-config.cgi)”の変更方法は、下記を参照ください。
mt-comments のリネーム: blog.bulknews.net
SPAM業者に(何らかの手段で)知られたコメントCGIのURL。それを変えてしまうことで、SPAM送信者から「コメント・トラックバックを受け付けること」自体が無くなります。
──しかし、自分も何度か試しましたが効果があるのは約一週間。その後はまた、一日に何回もSPAMを受けるようになりました。
おそらく──SPAM業者が「コメントCGIの設置してあるURLが存在しない」ということを知り、SPAM送信先を修正するのでは──と想像します。
(余談だが──何回かMT-Comment.cgiをリネームしたけど、毎回毎回、再びSPAMが来るまで一週間のタイムラグがある。〈エラーが出たら自動的にURLを修正するスクリプト〉くらい、簡単に組めそうな気がするが──人間がログを見て、手動で修正しているのかな? ご苦労様! SPAM業者! 😀 )
ということで、上記の方法を改善するのが、下記URLにあるスクリプト。英語で書いてあり、自分の語学力では全てを把握できませんが、抜群の威力です。
Solid Wall of Code: MT 3.2: Junk slowdown
これは要するに「リネームしたコメントCGIの替わりに設置しておくオトリ」です。Perl版とPHP版があり、PHP版の方がお勧めのようです。PHP版はページの半分くらいの“Implementation (Advanced)”にあります。
スクリプトの記述にあるsleep
がミソで、アクセスすると30秒間プログラムの実行を遅延させます。おそらく、数秒間隔でのアクセスに対抗するため、と思います(もしくは、タイムアウトエラーを意図的に発生させるため?)。
“.htaccess”を利用して、「リネーム前のCGI」へアクセスするとJunk slowdownに飛ばす、という方法が有効です。
- 上記スクリプトを設置
- コメントCGIをリネーム
- “mt.cfg”を変更(MT3.2xは“mt-config.cgi”)
- “.htaccess”に下記のように記述
- コメント・トラックバックのテストを忘れずに!!
Junk slowdownの設置場所は、ブラウザでアクセスできる場所であればどこでも大丈夫です。
たとえば、Junk slowdownを“/hoge/sand-trap.php”に設置したとします。Movable Typeのインストールディレクトリにある“.htaccess”に以下のコードを追記します。なるべく上の行に追記した方がいいでしょう。
RewriteEngine on
RewriteRule ^(mt-comments|mt-tb|mt-comcom|mt-tbtb)\.cgi$ /hoge/sand-trap.php [LAST]
二行目は「()
内にあるファイル名(|
区切り)で、拡張子が“.cgi”のファイルにアクセスするとJunk slowdownに飛ばす」という意味です(自分なりに工夫した部分なので、もっとスマートな方法があるかも 😛 )。
コメントCGIをリネームする度に、上記の()
内にリネーム前のファイル名を追加していきます。
自分の環境ではJunk slowdown導入後、一ヶ月の間に一件もSPAMを受信しませんでした! MT管理画面の「迷惑コメント・トラックバック」に一件もSPAMはありません。多いときで一日に数十件のSPAMを受けていたので、これはかなりうれしいです。
(これまた余談──しかし、毎日毎日、〈リネーム後のCGI〉にアクセスはある。一日20~30回程度。いったい、何をしているんだ?)
一日に何万、何十万とアクセスがある(それだけ注目されている)環境だと、もしかするとこれだけではヌルいかもしれません。しかし、やってみる価値のある、効果の高い方法だと思います。
コメント・トラックバックCGIのリネームとMT.cfg・.htaccessの変更を、同時に行ってくれるスクリプトがあれば、週一くらいで実行すると万全なのですが。
あと、激しく疑問なのが上記の「リネーム後のCGIにアクセスはあるのにコメントが届かない」こと。ひょっとして──正式にコメントしているひとが何十人もいる、とか!?
対SPAM最終兵器“Junk slowdown”!!
Movable Type
シェアする
タイトルに偽りなし
今回紹介するSPAMコメント・トラックバックの対策方法は、“Junk slowdown”というスクリプトの導入です。
結論から先に言うと、自分がいろいろ試したSPAM対策の中で、一番効果があったのがこの方法です。
まずはその前に、従来のSPAM対策の説明、そして“Junk slowdown”導入方法、導入後の状況を書きます。
まずはおさらい
各種SPAM対策のプラグインは、ほとんどが「コメント・トラックバックを受け取った後で、SPAMかどうか判断する」という流れになります。
しかしその方法では、一日に何十、何百とSPAMによる被害を受けている状況だと、その度にプラグインによるチェックが行われるので、サーバに負担をかけることになります。「毎秒コメントCGIにアクセス」なんて、自宅サーバでは言うに及ばず、レンタルサーバ環境でも恐怖です(追い出されるかも)。
たとえば──ちょっと前の記事ですが、drkさんは
とのことです。恐ろしや……。トラックバックスパムで攻撃されてます・・・orz :: Drk7jp
MT-Comment.cgiのリネーム
そこで先ずお勧めなのが、コメントCGIの改名です。
コメントCGIもトラックバックCGIも同様に処置できるので、二つのCGIをまとめて、以下「コメントCGI」と呼びます。
コメントCGIリネームと“mt.cfg(mt-config.cgi)”の変更方法は、下記を参照ください。
mt-comments のリネーム: blog.bulknews.net
SPAM業者に(何らかの手段で)知られたコメントCGIのURL。それを変えてしまうことで、SPAM送信者から「コメント・トラックバックを受け付けること」自体が無くなります。
──しかし、自分も何度か試しましたが効果があるのは約一週間。その後はまた、一日に何回もSPAMを受けるようになりました。
おそらく──SPAM業者が「コメントCGIの設置してあるURLが存在しない」ということを知り、SPAM送信先を修正するのでは──と想像します。
(余談だが──何回かMT-Comment.cgiをリネームしたけど、毎回毎回、再びSPAMが来るまで一週間のタイムラグがある。〈エラーが出たら自動的にURLを修正するスクリプト〉くらい、簡単に組めそうな気がするが──人間がログを見て、手動で修正しているのかな? ご苦労様! SPAM業者! 😀 )
“Junk slowdown”!!
ということで、上記の方法を改善するのが、下記URLにあるスクリプト。英語で書いてあり、自分の語学力では全てを把握できませんが、抜群の威力です。
Solid Wall of Code: MT 3.2: Junk slowdown
これは要するに「リネームしたコメントCGIの替わりに設置しておくオトリ」です。Perl版とPHP版があり、PHP版の方がお勧めのようです。PHP版はページの半分くらいの“Implementation (Advanced)”にあります。
スクリプトの記述にある
sleep
がミソで、アクセスすると30秒間プログラムの実行を遅延させます。おそらく、数秒間隔でのアクセスに対抗するため、と思います(もしくは、タイムアウトエラーを意図的に発生させるため?)。おすすめの設置方法
“.htaccess”を利用して、「リネーム前のCGI」へアクセスするとJunk slowdownに飛ばす、という方法が有効です。
Junk slowdownの設置場所は、ブラウザでアクセスできる場所であればどこでも大丈夫です。
たとえば、Junk slowdownを“/hoge/sand-trap.php”に設置したとします。Movable Typeのインストールディレクトリにある“.htaccess”に以下のコードを追記します。なるべく上の行に追記した方がいいでしょう。
二行目は「
()
内にあるファイル名(|
区切り)で、拡張子が“.cgi”のファイルにアクセスするとJunk slowdownに飛ばす」という意味です(自分なりに工夫した部分なので、もっとスマートな方法があるかも 😛 )。コメントCGIをリネームする度に、上記の
()
内にリネーム前のファイル名を追加していきます。導入してどうなったか
自分の環境ではJunk slowdown導入後、一ヶ月の間に一件もSPAMを受信しませんでした! MT管理画面の「迷惑コメント・トラックバック」に一件もSPAMはありません。多いときで一日に数十件のSPAMを受けていたので、これはかなりうれしいです。
(これまた余談──しかし、毎日毎日、〈リネーム後のCGI〉にアクセスはある。一日20~30回程度。いったい、何をしているんだ?)
一日に何万、何十万とアクセスがある(それだけ注目されている)環境だと、もしかするとこれだけではヌルいかもしれません。しかし、やってみる価値のある、効果の高い方法だと思います。
教えて
エロいえらいひとコメント・トラックバックCGIのリネームとMT.cfg・.htaccessの変更を、同時に行ってくれるスクリプトがあれば、週一くらいで実行すると万全なのですが。
あと、激しく疑問なのが上記の「リネーム後のCGIにアクセスはあるのにコメントが届かない」こと。ひょっとして──正式にコメントしているひとが何十人もいる、とか!?