記事本文
AutoIPBan Plugin
トラックバック SPAM と迷惑トラックバックでトラックバック SPAM が最近増えたとお伝えしていましたが、先生、最近トラックバックスパムがひどいんです。 - Ogawa::Memoranda のように、うちと同様、いや数倍以上の規模でトラックバック SPAM に悩まされていた Ogawa::Memoranda の (o) さんが、 AutoIPBan Plugin というプラグインを公開してくださいましたありがたや。
なお、今回の記事は AutoIPBan Plugin/ja - Ogawa::Wiki の内容を自分なりにまとめ直したものです。 AutoIPBan Plugin/ja - Ogawa::Wiki を既にお読みで、内容を理解できたのであればこれ以降は読んでいただく必要はあまりありません。
まずはプラグインを導入してみる
この項では、実際に私がプラグインを導入した手順を記録しています。
AutoIPBan Plugin/ja - Ogawa::Wiki から、 AutoIPBan.zip をダウンロードします。
ダウンロードした AutoIPBan.zip を解凍し、 AutoIPBan.pl を取り出します。
AutoIPBan.pl を install directory/plugins/ 下に put します。
要するに、
AutoIPBan.plをMovable Typeのpluginsディレクトリにコピーするだけです
という手順を少し詳しく書いただけですが……。
さて、インストールを行ったら、 Movable Type の管理画面の「コミュニティ」のコメントまたはトラックバックの画面を見てみましょう。 「その他の操作」のプルダウンメニューに、 Add To IPBanList という項目が追加されています。 スロットリング ( mt-config.cgi の OneHourMaxPings や OneDayMaxPings の設定値を超えたと判断 ) されたコメントやトラックバックが寄せられたらプラグインが自動で IPBanList 送り、それ以外のコメントやトラックバックでも、管理者が Ban したいと思ったコメントやトラックバックにチェックボックスにチェックを入れて Add To IPBanList を選択して IPBanList 送りという寸法です。
実際に IPBanList 送りにしてみる
さて、実際のトラックバック SPAM を使って IPBanList 送りにしてみましょう。 プラグイン導入後は、スロットリングの対象になるものは自動的に IPBanList に追加されますが、過去のものや SpamLookup によるフィルタリング対象のものは追加されません。 そこで、既に送られたトラックバック SPAM を IPBanList に送る手順をサンプルにします。 幸か不幸かサンプルには事欠きませんし !
Movable Type の管理画面から、迷惑トラックバック一覧を表示します。
SpamLookup プラグイン ( Movable Type 3.2x に標準で実装されている SPAM フィルタリングプラグイン ) によって自動的に迷惑トラックバックに分類されているトラックバック SPAM にチェックを入れます。
「その他の操作」のプルダウンメニューから Add To IPBanList を選び、「 Go 」をクリック。
「既に迷惑トラックバックとして扱われているなら、わざわざプラグインまで使って IPBanList 送りにしなくてもいいじゃないか」と思われるかもしれません。 確かに迷惑トラックバックとして分類されたなら、次回以降に同様のトラックバックが送られてきても迷惑トラックバックとして扱われるので問題は無いように思えます。 しかし、 AutoIPBan Plugin/ja - Ogawa::Wiki にも
Movable Type 3.2には以下の複数のトラックバックスパム防止機能が標準的に組み込まれています。
- IPBanListによるIPアドレスに基づいたトラックバック禁止機能
- トラックバックのスロットリング機能(OneHourMaxPings, OneDayMaxPings)
- SpamLookupによるJunk Folderへの振り分け機能
これらの機能はこの順で適用されますから、3.よりは2.、2.よりは1.の機能を用いてより多くのトラックバックスパムを防止できれば、それだけサーバ負荷の削減に繋がります。
と書かれてあるように、早期段階で対応することでサーバ負荷を軽減する狙いがあるのです。 たとえば hxxk.jp は XREA.COM の共用サーバを使っていますが、 CGI 負荷率がサーバ内での TOP3 を常にキープしています。 トラックバック SPAM が全ての負荷の原因とは限りませんが、 IPBanList によってその負荷が下がるのなら是非導入をした方が良いでしょう。
追加された IPBanList の内容を確認する (1) - mt-config.cgi の修正
IPBanList に送られた IP アドレスを確認してみましょう。 これは 2 つの方法があります。 まずは mt-config.cgi を修正する方法。
Movable Type 3.2x では、デフォルトでは IPBanList を確認することができません。 IPBanList の画面自体は <$MTCGIPath$><$MTAdminScript$>?__mode=list&_type=banlist&blog_id=<$MTBlogID$> というアドレス ( これを直接ブラウザのアドレスバーに入れてもダメですよ。それぞれのテンプレートタグを貴方の環境のものに手動で置き換えてください ) で呼び出すことができますが、デフォルトでは管理画面からこのアドレスに向けられたリンクアンカーはありません。 Movable Type 3.1x までは「ウェブログの設定」→「禁止 IP 」の順で確認できるようになっていたのですが。
これも AutoIPBan Plugin/ja - Ogawa::Wiki の受け売りになりますが、 mt-config.cgi に
ShowIPInformation 1
という行を書き加えることで、「設定」画面の中に「禁止 IP アドレス」という項目が現れます。
追加された IPBanList の内容を確認する (2) - テンプレートでリストアップ
前項の方法はデフォルトの Movable Type 3.2x における方法ですが、 AutoIPBan Plugin を導入済みであれば IPBanList を用いたテンプレートを作るという方法もあります。
<ul>
<MTIPBanList>
<li><$MTIPBanListIP$></li>
</MTIPBanList>
</ul>
AutoIPBan Plugin/ja - Ogawa::Wiki ではこのようにリストアップする例が提示されています。 これを .htaccess に応用することで、実際に IPBanList 送りにしてみるで述べた早期段階での対応が容易になります。
Order allow,deny allow from all <MTIPBanList> deny from <$MTIPBanListIP$> </MTIPBanList>
AutoIPBan Plugin/ja - Ogawa::Wiki に書かれてある記述を、 .htaccess のテンプレートに加えれば、 mt-comments.cgi や mt-trackback.cgi に SPAM が辿り着く前に deny されるということになります。 なお、 .htaccess のテンプレートの作成については Latest Entry Redirect Template を参照してください。
気を付けなければならないこと
このプラグインを導入した場合、トラックバック SPAM と迷惑トラックバックで触れたような「正規のコメント / トラックバックだけど迷惑コメント / トラックバックと誤認されたもの」を定期的にチェックして、そういったものを IPBanList から除外しないと、以後のコメントやトラックバックの送信ができないばかりか .htaccess の deny リストに加えている場合は閲覧すら不可能になってしまいます。 ( .htaccess を公開用のディレクトリ直下に作るのではなく、 Movable Type のシステムをインストールしているディレクトリに作るのであれば閲覧自体が不可能になるということはありませんが。 )
AutoIPBan Plugin公開 - Ogawa::Memoranda でも
OneHourMaxPings, OneDayMaxPingsを小さめに設定しておけばより高い効果が得られます。
が、正常なトラックバックがIPBanList入りする恐れが多少増します。
とある通り、 .htaccess との組み合わせには少々慎重を期した方が良いかもしれません。
これまた良さそうな対策が
ここまで書いたところで、対SPAM最終兵器“Junk slowdown”!! : 亜細亜ノ蛾 - Weblogという記事を発見。 全く違うアプローチですがこちらも SPAM 対策に有効そうですね。
同時に対策しちゃうと、どちらの方法が効果があったのか分からないので、まずは AutoIPBan Plugin で数日様子を見て、 Junk slowdown を後日試してみることにしましょうかね。
トラックバック送信先
- AutoIPBan Plugin公開 - Ogawa::Memoranda
-
AutoIPBan Plugin について、スクリーンショットを交えて解説してみました。

