Apache F5攻撃対策 mod_evasiveでDoS攻撃防御

誰でもできるDos攻撃 それがF5攻撃

Webサーバを機能不全に陥らせる攻撃(DoS攻撃)手法の一つで、Webブラウザの「再読み込み」機能を何度も連続して行なうことにより大量のページ送信要求を送り、過大な負荷をかけて停止させること。また、特殊なソフトウェアなどを用いて同じように大量の連続リクエストを送信すること。

多くのWebブラウザには「F5」キーを押すと現在閲覧しているWebページを更新(リロード) する機能があり、これを連打あるいは押しっぱなしにすることで、Webサーバに対して毎秒数十回に及ぶ大量の送信要求を送ることができる。複数の人間が時 間などを申し合わせて一斉にF5攻撃を行うと、サーバや回線、通信機器などが過負荷状態となり、ついには停止してしまう。@see e-words

誰でも出来るという事が怖いですね・・・。

対策いろいろ

  • ファイアウォール(iptables)ではじく
  • Apacheのモジュールではじく
  • チューニングではじく、負荷を下げる
  • Proxyサーバーで公開されているリストをはじく
  • 負荷時に通知メールを受信し国別にはじく
  • キャッシュで静的ページを返す
  • アプライアンス製品ではじく

いろいろあるわけです。

今回はApacheモジュールのmod_evasiveのご紹介

 

 

*******************************************
EPELリポジトリが入っているならyumでいける
※CentOS6 64bit
# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

*******************************************

# yum install -y mod_evasive

インストール:
mod_evasive.x86_64 0:1.10.1-10.el6

 

 

 

中身を見てみよう

 

 

つまり有効部分は

 

# mod_evasive configuration
LoadModule evasive20_module modules/mod_evasive20.so

<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
#DOSEmailNotify you@yourdomain.com
#DOSSystemCommand “su – someuser -c ‘/sbin/… %s …'”
#DOSLogDir “/var/lock/mod_evasive”
#DOSWhitelist 127.0.0.1
#DOSWhitelist 192.168.0.*
</IfModule>

 

同一IPから同一ページに2秒間に10回のリクエスト
同一IPサイトに1秒間に50回のアクセスがある場合

条件を満たしたら10秒403 Forbiddenを返す設定。

 

 

オリジナル設定ファイルをバックアップ
# mv /etc/httpd/conf.d/mod_evasive.conf /etc/httpd/conf.d/mod_evasive.conf.org

 

 

# vi /etc/httpd/conf.d/mod_evasive.conf

 

コンフィグテスト

 

# httpd -t

 

# service httpd restart

 

# apachectl -M

 

 

Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)

(省略)

cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
cgi_module (shared)
version_module (shared)
extract_forwarded_module (shared)
evasive20_module (shared)
rpaf_module (shared)
php5_module (shared)
Syntax OK

 

 

テスト用スクリプト
# perl /usr/share/doc/mod_evasive-1.10.1/test.pl

 

 

こんな感じになる。

 

 

 

実際のサイトでの表示

 

F5対策
ちょっとF5を押すとこのように返してくれます٩(๑❛ᴗ❛๑)۶

 

 

※弊社公式サイトのサーバーは平和なので未導入、自身のサーバーで導入して試してください。

優 ( エンジニア )

この記事を書いた人:優 ( エンジニア )

システムガーディアン爆弾処理班。アクセス負荷対策やNginxへの移行案件が多いこの頃。IBM SoftLayerやAWSなどクラウド案件も多くなってきました。

この記事に関してのお問い合わせ
御連絡・ご返信は原則2営業日以内を予定しております。
お急ぎの場合は、お手数ですが下記電話でもご対応をしております。

システムガーディアン株式会社
受付時間:平日9:00~18:00
受付担当:坪郷(つぼごう)・加藤
電話:03-6758-9166