DoS攻撃対策 --- mod_evasive ---   26Jan2008   >>TOP

環境: サーバ:Linux(Fedora)
Dos(Denial of Service attack)攻撃対策を目的とした Apache モジュールとして mod_evasive というものがり,ソースとして http://www.zdziarski.com/blog/?page_id=442 から入手が出来る。(現時点:mod_evasive_1.10.1.tar.gz)
この mod_evasive は,特定のアドレスに同じIPアドレスからリクエストが集中した時に,”403 Forbidden”を返すもの。

mod_evasive のインストール
/usr/local/src で作業を行うこととし,Apache2.2.8 は /usr/local/apache2 としてインストールされていると仮定。
# tar zxvf mod_evasive_1.10.1.tar.gz
# cd mod_evasive
# /usr/local/apache2/bin/apxs -i -a -c mod_evasive20.c

以上で,現在 /usr/local/apache2/modules 内に mod_evasive20.so が追加される。
httpd.conf (/usr/local/apache2/conf/httpd.conf) に自動で ”LoadModule evasive20_module modules/mod_evasive20.so” は追加される。
他に,設定を追加する。
・・・・・・・・・・・・・・・・・・・
LoadModule evasive20_module modules/mod_evasive20.so
・・・・・・・・・・・・・・・・・・・

<IfModule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 2
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 10
    DOSWhitelist 127.0.0.1
    DOSWhitelist 127.0.0.*
</IfModule>


・・・・・・・・・・・・・・・・・・・
  • DOSHashTableSize: 各子プロセスに於けるハッシュテーブル・サイズ
  • DOSPageCount: 同ページへのリクエスト数の閾値
  • DOSSiteCount: 同サイトへのリクエスト数の閾値
  • DOSPageInterval: PageCount閾値の計測間隔(秒)
  • DOSSiteInterval: SiteCount閾値の計測間隔(秒)
  • DOSBlockingPeriod: IPアドレスをブラックリストに載せておく期間(秒)
  • DOSWhitelist: 検出対象外とするIPアドレス

Apache2 を再起動すれば終了。