メイン : モジュール : 2.0.x : 

カテゴリ: モジュール 2.0.x
今すぐダウンロード!Xoops Protector 2.3 ヒット数 バージョン: 2.34
掲載日:  2005/2/22
説明:

www.peak.ne.jp_protector_slogo.gif●要旨

Xoops Protector は、XOOPS2 を様々な悪意ある攻撃から守るためのモジュールです。

このモジュールでは、以下の攻撃を防ぎます。

  • DoS
  • 悪意あるクローラー(メール収集ボットなど)
  • SQL Injection
  • XSS (といっても、ごく一部のパターンだけですが…)
  • システムグローバル変数汚染
  • セッションハイジャック
  • ヌルバイト攻撃
  • ディレクトリ遡り指定
  • いくつかの危険なCSRF (XOOPS 2.0.9.2以下に存在するもの)

これらの攻撃からあなたのXOOPSを守り、ログに記録します。

ただし、このモジュールはあくまで、最大公約数的な防御しか行いません。
一部の3rdパーティモジュールに見られるような穴の一部は防げるかもしれませんが、すべての穴を防ぎきるものではなく、過信は禁物です。

その限界は承知の上で、すべてのXOOPSユーザーに対して、インストールを強くお勧めします。

●AntiDoS-P との関係

このモジュールの前身は、AntiDoS-P という名前でしたが、すでにDoS対策だけではなくなっていること、コードも全面的に書き直したことから、新たに Xoops Protector と名付けています。

また、モジュールとしては独立していますが、AntiDoS-P の機能はすべて Xoops Protector が引き継いでいますので、AntiDoS-P はアンインストールなされることをおすすめします。

●利用方法

通常のモジュールと同様にインストールして下さい。

ブロック・グループ管理で、Protector ブロックが左ブロックの一番上(優先順位が0)に表示されるようにしてください。
同じく、その画面で、すべてのユーザーにブロックアクセス権限を設定して下さい。

悪意ある攻撃を本当に防御したければ、mainfile.php からも呼び出すようにすることが絶対必要条件です。

Xoops Protector をインストール後、お使いのXOOPSの mainfile.php の一番下のあたりに

1
2
3
4
5
6
7
8
9
	define('XOOPS_GROUP_ADMIN', '1');
	define('XOOPS_GROUP_USERS', '2');
	define('XOOPS_GROUP_ANONYMOUS', '3');
 
	include( XOOPS_ROOT_PATH . '/modules/protector/include/precheck.inc.php' ) ;
	if (!isset($xoopsOption['nocommon'])) {
		include XOOPS_ROOT_PATH."/include/common.php";
	}
	include( XOOPS_ROOT_PATH . '/modules/protector/include/postcheck.inc.php' ) ;

と、2行追加して下さい。

   if (!isset($xoopsOption['nocommon'])) {
       include XOOPS_ROOT_PATH."/include/common.php";
   }

という3行を挟み込むようにするのが最善の挿入ポイントです。

なお、mainfile.php に挿入することで追加されるのは、あくまで事前チェックです。より適切な処理のために、ブロックでも表示されるようにして下さい。

2.4以降では、ブロックは無くします。

悪意ある攻撃を行ってくるようなIPを今後も継続的に排除するためには、
「システム管理」->「一般設定」->「一般設定」->「IPアクセス拒否」
をONにする必要があります。

通常は、このモジュールをインストールするだけで、ここがONになります。インストールしてもOFFのままだった場合、すぐ下の拒否IP一覧に、お使いのクライアントマシンが載ってしまっている可能性があります。

「IPアクセス拒否」を不用意にONにする前に、お使いのクライアントマシンのIPを、拒否IP一覧から削って下さい。

もし、なんらかの理由で、自分自身がIP拒否リストに載ってしまった場合、

http://(your xoops)/modules/protector/admin/rescue.php

にアクセスして、Protectorの一般設定で指定したパスワードを入力することで、一時的に、IP拒否機能をOFFにできます。

ただし、あらかじめこのパスワードを設定していないと、このレスキュー機能も無効になりますので、ご注意下さい。

2.34から、実験的に、.htaccessによるDoS防御というオプションを追加しました。これを利用する場合、XOOPS_ROOT_PATHにある.htaccessを書込可能とする必要があります。導入する際には、.htaccessファイルが書込可能である、というリスクと比較して下さい。

●変更履歴

2.34 (2005/2/18)

- セッションハイジャック対策でゲストの処理を間違っていたのを修正 (thx blues)
- 特定パターン防御で強制終了する場合のメッセージを修正 (thx suin)
- DoS系防御で、.htaccess に DENY FROM を書き込むというオプションを実験的に追加

2.33 (2005/2/11)

- 「疑わしいファイル指定」で無限に .が増えるコードを修正 (thx mayor)
- チケットシステムからIPチェックを排除

2.32 (2005/2/1)

- 無効化していたMySQL/ブロックデバッグをチェックかけてから通すようにした (thx jseymour)

2.31 (2005/1/30)

- モジュール内ファイルをルートコントローラと誤認識する問題の解決 (thx nobunobu)
- IIS互換性の改善 (thx okuhiki)
- フランス語ファイル更新 (thx HMN)  (2.31a)
- ドイツ語ファイルを追加 (thx Rene)  (2.31b)

2.30 リリース版 (2005/1/30)

- いくつかのデフォルト設定値を変更した
- イタリア語ファイル更新 (thx Defkon1)
- ブラジルポルトガル語・スペイン語ファイルを更新 (thx Marcelo Yuji Himoro)
- オランダ語ファイルを追加 (thx Dirk Louwers)

2.30RC5 (2005/1/22)

- 細かなtypoの修正 (さほど重要ではないのであわてて上書きする必要はありません)
- イタリア語ファイル更新 (thx Defkon1)

2.30RC4 (2005/1/21)

- postcheck.inc.php において、nocommon状態のエラーをFix (thx dendeke)

2.30RC3 (2005/1/21)

- ヌルバイト文字列への対策を、強制終了からサニタイズに変更
- PREFIX マネージャの微調整
- フランス語ファイルを追加 (thx HMN)
- イタリア語ファイルを追加 (thx Defkon1)

2.30RC2 (2005/1/20)

- PREFIX マネージャの修正

2.30RC (2005/1/19)

- PREFIX マネージャの作成
- 2.0.9.2固有穴への対応 (Special thx to zx team!)
- ヌルバイト文字列への対策
- ディレクトリ遡りチェックが甘かったのを改善 (thx minahito)
- セッションハイジャック対策の追加
- postcheck.inc.php の追加 (パッチの当て方が変わっています)
- 変数汚染・SQL Injection2種の設定方法を変更

●謝辞

- Kikuchi (繁体中国語ファイル)
- Marcelo Yuji Himoro (ブラジルのポルトガル語・スペイン語ファイル)
- HMN (フランス語ファイル)
- Defkon1 (イタリア語ファイル)
- Dirk Louwers (オランダ語ファイル)
- Rene (ドイツ語ファイル)

また、このモジュール作成にあたり、様々なご指導・ご鞭撻をいただいた、zxチームの皆様、とりわけJM2さん、minahitoさんに、心より感謝いたします。


18626 回のダウンロード  18626  ファイルサイズ 77.32 KB  利用可能なOS/ソフト等 XOOPS2  ホームページ http://www.peak.ne.jp/
評価: 9.00 (19 票)
このダウンロードを評価する | 投稿 | ファイル破損/リンク切れを報告 | 友達に教える | コメント (10)


投稿された内容の著作権はコメントの投稿者に帰属します。

投稿者 スレッド
t_miyabi
投稿日時: 2004/9/21 15:13  更新日時: 2004/9/21 15:13
長老
登録日: 2003/4/4
居住地: 広島県尾道市
投稿数: 334
 Re: Xoops Protector

些細な事ですが、メモしときます。

mainfile.phpに指示どうり記述すると、ページとソース上に
phpスクリプトが数行表示されてしまう場合
phpの設定でphpの先頭が「 <?php 」でないと
困る設定が原因かもしれません。そんな時は

precheck.inc.php の先頭の「 <? 」を「 <?php 」
にしてやると幸せになれるかもしれません。

これだけに限った話しではないんですけどね。


投稿者 スレッド
labcom
投稿日時: 2004/9/22 16:03  更新日時: 2004/9/22 16:03
新米
登録日: 2003/5/4
居住地:
投稿数: 18
 Re: Xoops Protector
引用:
mainfile.phpに指示どうり記述すると、ページとソース上に
phpスクリプトが数行表示されてしまう

私は半日経ってページがおかしなことになってるのに気付きました :cry:

.htaccessで逃げる手もありますが、個人的には
short_open_tagのOn/Offに関わらずphpのファイルは
"<?php"で始めるべきかなぁと思います。

#Xoopsコア/他のモジュールは大丈夫かな...心配になってきた(^^;


投稿者 スレッド
GIJOE
投稿日時: 2004/9/23 16:46  更新日時: 2004/9/23 16:46
長老
登録日: 2003/4/3
居住地:
投稿数: 2137
 Re: Xoops Protector

ご指摘ありがとうございます。2.10では修正しております。

いわゆるtypoみたいなものですが、私が仕事で作る時は積極的にshort tagを使っているので、ついつい忘れがちだったりします。(タイプ数は問題じゃありませんが、ソースコードの視界の差が大きい)

ちなみに、short tagを後から検索するのなんて簡単ですよ。> labcomさん

grep -Pr '\<\?(?!php|xml)' *

これで一発です。


投稿者 スレッド
labcom
投稿日時: 2004/9/23 19:02  更新日時: 2004/9/23 19:02
新米
登録日: 2003/5/4
居住地:
投稿数: 18
 Re: Xoops Protector
引用:
grep -Pr '\<\?(?!php|xml)' *

Pオプションは見たことないですね。linuxかな?
コアファイルなど確認してみて安心出来ました。ありがとうございます。

てか報告する前にモジュールのお礼を書くべきでした。
重ねてお礼申し上げます。


投稿者 スレッド
Kikuchi
投稿日時: 2004/9/24 3:10  更新日時: 2004/9/24 3:10
常連
登録日: 2003/8/25
居住地: 台湾
投稿数: 58
 Re: Xoops Protector

お世話様です。

:roll: 私から提供したの言語ファイルは繁体中国語ですが....

tchinese(big5) ;-)


投稿者 スレッド
GIJOE
投稿日時: 2004/9/24 4:29  更新日時: 2004/9/24 4:29
長老
登録日: 2003/4/3
居住地:
投稿数: 2137
 Re: Xoops Protector
引用:
私から提供したの言語ファイルは繁体中国語ですが....

す、すみません。
あわてて、READMEと当サイトの記述を修正しました。

なんでそういう勘違いをしてしまったのか自分でも判らないのですが、アーカイブ内はtchineseとなっていてほっとしてます。

ついこの前も、portuguesebr を勝手に portuguese にしてしまうポカをしてしまいました。
もっと海外の言語事情についても勉強しなくては。


投稿者 スレッド
yysuyama
投稿日時: 2005/1/30 12:34  更新日時: 2005/1/30 12:34
長老
登録日: 2004/11/23
居住地: 信州木曽
投稿数: 227
 Re: Xoops Protector

GIJOE様、
有益なモジュールのご提供、ありがとうございます。
セキュリティに対する意識を少しでも多くの人に持ってもらいたいという気持で、勝手ながらわいわいブログに記事を書かせていただきました。

ちなみに私の利用しているホスティング会社では、'allow_url_fopen' : on でしたが、その設定は変更してもらえないそうです。あとは対策により全てOKになりました。
その際、PREFIXマネージャでテーブル名のPREFIXのデフォルト値も変更できたので、とてもスッキリしました。最初何気なくXOOPSをインストールして、PREFIXがデフォルトのままという人はかなり多いのではと思います。

ところで動作チェックにおいて、孤立コメント: は自サイトが普通に開きますが、変数汚染: だと真っ白の表示になります。よく理解していないのですが、これはよくない状態なのでしょうか?
たしか、PREFIXを変更する前は普通に自サイトが開いたと記憶しています。

もう一つ、現在2.30RC4ですが、これを2.30に上げる場合、どのような手順をとればよいでしょうか?
アドバイスのほど、よろしくお願いいたします。

情報共有のためにはフォーラムに書いた方がよかったでしょうか・・・。


投稿者 スレッド
Iso-G
投稿日時: 2005/7/28 20:04  更新日時: 2005/7/28 20:04
新米
登録日: 2004/8/12
居住地:
投稿数: 4
 Re: Xoops Protector 2.3

GIJOE様
素晴らしいモジュールを有難うございます

私の所では今まで DoS や CRAWLER の検出だけでしたが、昨日 xmlrpc を検出し、とても心強く感じました。
Xoops Protector を入れていて良かったと思いました。
お礼を申し上げます。


投稿者 スレッド
GIJOE
投稿日時: 2005/7/31 6:04  更新日時: 2005/7/31 6:04
長老
登録日: 2003/4/3
居住地:
投稿数: 2137
 Re: Xoops Protector 2.3
Iso-Gさん、こんにちは。
引用:
私の所では今まで DoS や CRAWLER の検出だけでしたが、昨日 xmlrpc を検出し、とても心強く感じました。

実のところ、2ヶ月前まで、私自身xmlrpcの危険性はあまり理解していませんでした:-P
でも、JM2さんがそれだけ主張するなら、という程度の理由で、Protector に xmlrpcを殺す設定を追加したおいたのですが、結果的に大正解でしたね。

  • 本来の入口とはまったく別のコントローラである
  • ほとんどの人がその存在を知らない

という点だけでも、xmlrpcはかなり危険です。

結果的に、そのcodingがセキュリティホールとして報道されましたが、存在自体が穴と言えなくもありませんから。

WordPressMEならともかく、newsモジュールにxmlrpc経由で投稿しようとする人はほとんどいないでしょうから、今後もルートコントローラのxmlrpcはデフォルトで殺す設定にしておこうかと思っています。


投稿者 スレッド
Ujiki
投稿日時: 2006/10/9 23:21  更新日時: 2006/10/9 23:21
長老
登録日: 2005/3/20
居住地: Yokosuka
投稿数: 298
 画面が白くなると訴える方々の原因

 利用させて戴いております。今のところ、有名でないので、恩恵にあずかっていないようですが、近い将来、救われるに違いありません! :-D

 ところで、まったく間違った推察かも知れないのですが、Protectorを発言文内に入れましたので、お恐れながらご案内しておきます。
フォーラム 「ProtectorモジュールでIPによる拒否を有効にする場合に問題になりますかね。」です。間違いなら、削除依頼を申請するつもりです。

  • Ujiki.oO -

トップダウンロード

To Top