Diff of Protectorのチューニングを行う


*Protectorについて [#t6f45107]
 ProtectorはXOOPSで構築したサイトをスパマーなどから守るために重要なモジュールである。デフォルトの設定そのままでいい部分がほとんどだが、サイトの特性、運営者のこだわり具合によっては多少変更が必要な所もあるので紹介したい。
**一般設定での変更部分 [#p5b22272]
***Brute Force対策 [#m65537b0]
 パスワードを忘れると、パスワードを請求するよりも思いつく限り入力していく人も多いだろう。デフォルトの設定値より少し数字を増やしてもいいかもしれない。
***DoS監視の対象から外すモジュール [#x3d4b888]
 [[AutoPagerizeに対応した>AutoPagerizeに対応する]]モジュールがあれば入力した方がいい。
***DoS等の監視時間 (秒) [#ce3a7133]
 ページが表示されたらきっちり読むという人ばかりではなく、探したい記事を見つけるために読み込んでページをぱっと見た瞬間に戻ったり進んだりする人もいるので、デフォルトの設定値より少し多くしてもいい。
***悪意あるクローラーと見なす回数 [#f1eee72e]
 上とほぼ同じ。
 私の経験からいうと、「これはちょっと」といいたくなる大量アクセスをしてくるのは利用者のPCにサイトのデータをなにからなにまで全部保存しようとするダウンロードツール。特にPockey-GetHTMLというのはすごかった。なので、こういったダウンロードツールのユーザーエージェントを調べて.htaccessなどでピンポイントで弾いた方がいいかもしれない。
 私の経験からいうと、「これはちょっと」といいたくなる短時間での大量アクセスをしてくるのは利用者のPCにサイトのデータをなにからなにまで全部保存しようとするダウンロードツール。特にPockey-GetHTMLというのはすごかった。なので、こういったダウンロードツールのユーザーエージェントを調べて.htaccessなどでピンポイントで弾いた方がいいかもしれない。
***参考サイト [#a693143f]
 [[.htaccessで特定のユーザーエージェントからのアクセスを制限する方法>http://www.shtml.jp/htaccess/browser.html]]
 [[ダウンロードツール - ロボ避けとアクセス制限のための覚え書き - livedoor Wiki(ウィキ)>http://wiki.livedoor.jp/aissle/d/%a5%c0%a5%a6%a5%f3%a5%ed%a1%bc%a5%c9%a5%c4%a1%bc%a5%eb]]
**xoops_trust_pathでの設定 [#k1075daa]
 スパマーによる投稿、スパマーのユーザ登録を排除するためにfilters_disabledフォルダにある「''postcommon_post_deny_by_rbl.php''」と「''postcommon_post_need_multibyte.php''」をfilters_enabledフォルダにアップロードする。これは非常に効くので、現在大量のスパムに悩まされている、あるいは理由があって長期間サイトのメンテナンスができないということならやっておきたい。

 ただ、以下のような副作用があることは頭に入れておこう。
 ネットには「スパム投稿を行っているIP」というのをリストにして記録しているサーバがあり、postcommon_post_deny_by_rbl.phpはこのリストにアクセスして、現在、自サイトにアクセスしているIPがそこに記録されているかどうかを確認している。リストにあったらアクセスを弾くというわけだ。で、スパムに使われやすいIPの中には「匿名で使えるネットカフェの回線」なんていうのもあり、ネットカフェの利用者は年中入れ替わっているので、当然、普通の人のアクセスも弾く可能性がある。
***参考サイト [#b80b9d9d]
 [[spamhaus.orgをはじめとするIPアドレスベースのブラックリスト(RBL)を使ってはいけない>http://neta.ywcafe.net/000678.html]]
**postcommon_post_deny_by_rbl.phpの設定 [#u7ec9dc1]
 上記の「スパム投稿を行っているIPを記録しているサーバ」というのはいろいろあって、サーバによって質が違う(たとえば情報が古くてスパマーのアクセスをまったく弾けないなど)といわれている。postcommon_post_deny_by_rbl.phpは初期設定では「sbl-xbl.spamhaus.org」というサーバだけを見ているが、こだわりがあるなら他のサーバを指定することができる。

 初期設定
#pre{{
		// RBL servers (don't enable too many servers)
		$rbls = array(
			'sbl-xbl.spamhaus.org' ,
#			'niku.2ch.net' ,
#			'list.dsbl.org' ,
#			'bl.spamcop.net' ,
#			'all.rbl.jp' ,
#			'opm.blitzed.org' ,
#			'bsb.empty.us' ,
#			'bsb.spamlookup.net' ,
		) ;
}}
 #を外すことでそのサーバにアクセスしてIPの照合を行う。うちの本家では[[niku.2ch.net>http://ja.wikipedia.org/wiki/BBQ_%28%E6%8E%B2%E7%A4%BA%E6%9D%BF%29]]を使っている。

[PR]