アクセス制限について

まずスクリプトで制限する方法だと負荷が高いのでapacheかosまたはスイッチレベルでの制限が前提となる。

httpd.confであれば最初に一回読み込むだけなので負荷を抑えられるけど、.htaccessでIP制限をかけると、毎回ファイルを確認することになる(再起動も不要)のでhttpd.confに比べ負荷がかなり上がる。

制限の方法として、ドメイン名またはIPで制限する方法があるが、ドメインだと逆引きの負荷がかかる。IP制限しても固定IPでなければ完璧ではない。

osレベルでiptablesを使った拒否も可能。apacheよりも負荷が低い。

その他負荷軽減策など
クローラーが不要であれば拒否設定を行う
・Keep-Aliveがオンの状態だと接続状態が維持されてプロセスが消費されるため、場合によってはオフにすると良い
・リバースプロキシ&mod_rewriteを使えば静的・動的なページを振り分けたり、キャッシュさせたりできる

apacheレベルのdos対策としては

mod_evasive
mod_dosdetector

等のモジュールが有効らしい

mod_dosdetector
mod_dosdetectorの反応への反応 - stanaka's blog