[xlang:en]
= SUMMARY =

Xoops Protector is a module to defend XOOPS2 from various and malicious attacks.

This module can protect a various kind of attacks like:

- DoS
- Bad Crawlers (like bots collecting e-mails...)
- SQL Injection
- XSS (Just only a little kind of ...)
- System globals pollution
- Session hi-jacking
- Null-bytes
- Wrong file path specifications
- Some kind of CSRF (fatal in XOOPS <= 2.0.9.2)
- Brute Force

Xoops Protector defends you XOOPS from these attacks, and it records into its log. 

Of course, all vulnerablities can't be prevented.
Be not overconfident, please.

However, I [color=ff0000][b]strongly[/b][/color] recommend installing this module to all XOOPS sites with any versions.



= RELATION to AntiDoS-P =

The antecedent of Xoops Protector was AntiDoS-P.

Since all functions of AntiDoS-P has been succeeded in Xoops Protector, you'd better to uninstall AntiDoS-P.



= USAGE =

Please install it as well as a usual module. 

After Xoops Protector is installed, edit your mainfile.php like this:
[code]
	define('XOOPS_GROUP_ADMIN', '1');
	define('XOOPS_GROUP_USERS', '2');
	define('XOOPS_GROUP_ANONYMOUS', '3');

	[color=ff0000]include( XOOPS_ROOT_PATH . '/modules/protector/include/precheck.inc.php' ) ;[/color]
	if (!isset($xoopsOption['nocommon']) [color=0000ff]&& XOOPS_ROOT_PATH != ''[/color] ) {
		include XOOPS_ROOT_PATH."/include/common.php";
	}
	[color=ff0000]include( XOOPS_ROOT_PATH . '/modules/protector/include/postcheck.inc.php' ) ;[/color]
[/code]
If the blue colored part is different from your mainfile.php, don't mind it.

Both pre-check and post-check are needed.

When you turn this on, you have to check if your IP is included in
"Enter IP addresses that should be banned from the site".

If unfortunately you as an administrator are banned by some unexpected erros, you can directly access

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

but be sure to set the password in preferences of XoopsProtector in advance.


An option "DENY by .htaccess" is added on version 2.34.
If you try this option, set writable XOOPS_ROOT_PATH/.htaccess
Before installing this, you should compare it to the security risks which .htaccess is writable.



= THANKS =
 - Kikuchi  (Traditional Chinese language files)
 - Marcelo Yuji Himoro (Brazilian Portuguese and Spanish language files)
 - HMN (French language files)
 - Defkon1 (Italian language files)
 - Dirk Louwers (Dutch language files)
 - Rene (German language files)
 - kokko (Finnish language files)
 - Tomasz (Polski language files)
 - Sergey (Russian language files)

Moreover, I thank to JM2 and minahito -zx team- about having taught me kindly.
You are very great programmers!



p.s.

If you've created or modified language files for this module, contact to me.
I will register it in Protector archive.


[/xlang:en][xlang:ja]

●要旨

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

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

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

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

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

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



●AntiDoS-P との関係

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

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



●利用方法

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

それだけではまったく動作していませんので、mainfile.php からも呼び出すようにすることが絶対必要条件です。

Xoops Protector をインストール後、お使いのXOOPSの mainfile.php の一番下のあたりに
[code]
	define('XOOPS_GROUP_ADMIN', '1');
	define('XOOPS_GROUP_USERS', '2');
	define('XOOPS_GROUP_ANONYMOUS', '3');

	[color=ff0000]include( XOOPS_ROOT_PATH . '/modules/protector/include/precheck.inc.php' ) ;[/color]
	if (!isset($xoopsOption['nocommon']) [color=0000ff]&& XOOPS_ROOT_PATH != ''[/color] ) {
		include XOOPS_ROOT_PATH."/include/common.php";
	}
	[color=ff0000]include( XOOPS_ROOT_PATH . '/modules/protector/include/postcheck.inc.php' ) ;[/color]
[/code]
と、２行追加して下さい。

青色の部分は、最初にインストールした時のバージョンによって異なりますが、違っていても気にしなくて結構です。

悪意ある攻撃を行ってくるような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ファイルが書込可能である、というリスクと比較して下さい。


●謝辞
 - Kikuchi (繁体中国語ファイル)
 - Marcelo Yuji Himoro (ブラジルのポルトガル語・スペイン語ファイル)
 - HMN (フランス語ファイル)
 - Defkon1 (イタリア語ファイル)
 - Dirk Louwers (オランダ語ファイル)
 - Rene (ドイツ語ファイル)
 - kokko (フィンランド語ファイル)
 - Tomasz (ポーランド語ファイル)
 - Sergey (ロシア語ファイル)

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



[/xlang:ja]

------------------------------------------------------------

GIJ=CHECKMATE <gij@peak.ne.jp>   aka GIJOE in jp.xoops.org
2004,2005

PEAK XOOPS  http://www.peak.ne.jp/xoops/

