Protector V3

Date 2007-01-31 04:28:54 | Category: XOOPS

in englishin japanese
すっかり更新をさぼっていたProtectorですが、ようやくV3が形になりました。
メジャーバージョンが上がっていることからも判ると思いますが、今回は比較的大きな変更を伴っています。

一番大きいのが、XOOPS_TRUST_PATH側に本体を移したことです。このおかげで、セキュリティモジュールを冠しながら、公開側にロジックがデンと置いてある状況、.htaccessなどが効かなかったらPathDisclosureになるかもしれない、という不安から解消されました。

その代わり、mainfile.php に挿入する2行のinclude文が、ROOT_PATHからTRUST_PATHに変更されてます。2.57等からのアップグレードを行う場合、いったんmainfile.phpから削除して、モジュールアップデート後に挿入し直してください。

次に大きいのが、拒否IPの取り扱い変更です。今までは、XOOPS本体の拒否IP機能を利用していましたが、それだとどうしても復旧が大変です。レスキュー画面も使いやすくありませんでした。というわけで、単なるファイルに変更してます。もし自分自身が拒否されても、FTP等でそのファイルを消すだけです。(どのファイルかは、Protectorの管理画面に表示されていますので、事前にチェックしておいてください)

この変更のおかげで、拒否IPの判断にDBが不要となり、DoS系の攻撃にも比較的強くなったと思います。実際、DBコネクション発生の前に拒否できているので、かなり高速に処理が完了します。(もちろん、.htaccessの足下にも及びませんが)

あとは、ここで議論したXSS対策をいれてみました。BigUmbrellaのサブセット版です。副作用や速度的な影響がないように調整したため、POSTなどはノーチェックですが、それでもかなりマシになるとは思います。
http://xoops.peak.ne.jp/md/news/index.php?page=article&storyid=126

もう一つ、XUGJで思いついたグループ1だけのIP制限。結構、いけそうな気がしたので、採用してます。これまた1ファイルに記述されているだけなので、いきなりIPが変わって自分自身がログインできなくなっても、FTP等でそのファイルを消せば復活できます。

最後にSPAM対策。nao-ponさんの「URIの数をカウントする」という方法に感動し、さっそく取り込んでみました。Protectorでは、単純にURIの記述数、という相当にシンプルな形にしてます。このサイトではゲスト投稿を許可していないので効果の程はわかりませんが、運用してみた結果をお知らせいただければ幸いです。
元ネタ:
http://xoops.hypweb.net/wiki/5589.html

同じSPAM対策として、RBLフィルターや英語のみの投稿拒否、なんてプラグインも実装してたりします。

あ、そうそう。忘れちゃいけない。XOOPS Cube 2.1 Legacy RC での動作確認もしてます。
まったく問題なく動いているようです。




You can read more news at PEAK XOOPS.
http://xoops.peak.ne.jp

The URL for this story is:
http://xoops.peak.ne.jp/md/news/index.php?page=article&storyid=401