Apache DoS攻撃対策モジュール【mod_evasive編】
Contents
概要
DoS攻撃(Denial of Service attack)は、サーバなどにサービス妨害攻撃またはサービス不能攻撃などと呼ばれています。大量のデータや不正パケットをサーバーに送りつけるなどの不正な攻撃を指します。
Apacheでの、DoS攻撃の対策としては、「mod_evasive」のモジュールを利用することで、特定のIPアドレスからの設定した時間(閾値)あたりにページリクエストの回数制限を超えた、 アクセスブロックを実行したり、403(Forbidden)を返すことができます
mod_evasive インストール
EPELのリポジトリを設定していれば、yumでインストールできます。EPELは普段の有効にしない設定(enabled=0)にします。利用するときは、yum –enablerepo=epel [パッケージ名] として利用します
EPEL リポジトリ追加(CentOS 6.x)
# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 # rpm --import RPM-GPG-KEY-EPEL-6 # rm -f RPM-GPG-KEY-EPEL-6 # 以下の内容で新規作成 # vi /etc/yum.repos.d/epel.repo [epel] name=EPEL RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/ gpgcheck=1 enabled=0
EPEL リポジトリ追加(CentOS 7.x)
# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-7 # rpm --import RPM-GPG-KEY-EPEL-7 # rm -f RPM-GPG-KEY-EPEL-7 # 以下の内容で新規作成 # vi /etc/yum.repos.d/epel.repo [epel] name=EPEL RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/fedora/epel/7/$basearch/ gpgcheck=1 enabled=0
mod_evasive インストール
# yum --enablerepo=epel -y install mod_evasive
mod_evasive 設定
ログディレクトリを作成します
# mkdir /var/log/mod_evasive/ # chown apache:apache /var/log/mod_evasive/
設定ファイルを編集します
項目の設定は、以下を参照してください
# vi /etc/httpd/conf.d/mod_evasive.conf LoadModule evasive20_module modules/mod_evasive24.so <IfModule mod_evasive24.c> DOSHashTableSize 3097 DOSPageCount 10 DOSSiteCount 30 DOSPageInterval 2 DOSSiteInterval 1 DOSBlockingPeriod 60 DOSLogDir "/var/log/mod_evasive" DOSWhitelist 127.0.0.1 </IfModule>
DOSHashTableSize | 子プロセスでのハッシュテーブルサイズ。 サイズを増やすことでパフォーマンス向上するが、メモリを消費する |
DOSPageCount | 同一ページへのリクエスト数の閾値 |
DOSSiteCount | 同サイトへのリクエスト数の閾値 |
DOSPageInterval | ページカウントを計測する時間(秒) |
DOSSiteInterval | サイト内カウントを計測する時間(秒) |
DOSBlockingPeriod | ブロック時間(404 Forbiddenを返す)する時間(秒) |
DOSLogDir | DOS攻撃のログの場所 |
DOSEmailNotify | メールの通知先 |
DOSWhitelist | ホワイトリスト |
ディスカッション
コメント一覧
まだ、コメントがありません