DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

Apacheで簡単なDDOS対策「mod_evasive」

Apacheではサーバーへの大量パケットが投げられるというDDOS攻撃の対策として

mod_evasive

というモジュールを利用することが出来ます。

 

これは大量アクセスへ対策するもので、デフォルトのままで

 

  • 同一ページへ1秒間に2回以上のアクセスでブロックリスト追加
  • 同一サイトへ1秒間に50回以上のアクセスでブロックリスト追加
  • 最後のアクセスから10秒後にブロックリスト解除

 

という挙動をしてくれるものです。

 

手順として

httpd -l

を実行。出て来る一覧に

mod_so.c

が存在することを確認します。

無ければhttpd24u-develというものをインストールする必用があるようです。

 

httpd -M | grep evasive

コマンドで

evasive~~

が存在しないことを確認します。存在していれば既に導入済みです。

 

インストールします

sudo yum install epel-release

sudo yum install --enablerepo=epel mod_evasive

 

 

設定します。

sudo nano /etc/httpd/conf.d/mod_evasive.conf

デフォルトではこのようになっていました。

DOSHashTableSize 3097 プロセスのハッシュテーブルサイズ

DOSPageCount 2  同一ページへのアクセス数

DOSSiteCount 50 同一サイトへのアクセス数

DOSPageInterval 1 何秒間に上記アクセス数をカウントするか

DOSBlockingPeriod 10 何秒後に解除するか

 

 

Apacheの再起動

sudo systemctl restart httpd.service

 

インストールの確認

httpd -M | grep evasive
evasive20_module (shared)

 

ひとまずこれでOKです。

f:id:DreamerDream:20181102091314p:plain

 

【手順】DOS対策(mod_evasive) - Qiita

kampa.me