Apache Killer で検証してみた。

2011.09.10 Author: hoge

ずいぶんと久しぶりに書き込みます。

CVE-2011-3192(2011年8月25日リリース)

いわずと知れた「Apache」の脆弱性について公開された情報です。
超概要を書きますと、メモリを喰い尽してどうしようも無くなります。
shutodownも効かないですよ~。

[注意すべき場合]

1、コンテンツデータサイズ:1299バイト以上
2、httpd.conf:MaxClientがメモリ適切で設定されている場合

上記に該当する場合は、漏れなく簡単に激重になります。

攻撃方法については、はっきり言って誰できてしまう内容なので、書きませんが、
かなり強烈なツールである事は間違いないです。

とうわけで、アドバイザリに従って対処をしましょう!!!

destination file "httpd.conf"
Option 1: (Apache 2.2)

# Drop the Range header when more than 5 ranges.
# CVE-2011-3192
SetEnvIf Range (?:,.*?){5,5} bad-range=1
RequestHeader unset Range env=bad-range

# We always drop Request-Range; as this is a legacy
# dating back to MSIE3 and Netscape 2 and 3.
RequestHeader unset Request-Range

required case
# optional logging.
CustomLog logs/range-CVE-2011-3192.log common env=bad-range
CustomLog logs/range-CVE-2011-3192.log common env=bad-req-range


Option 2: (Pre 2.2 and 1.3)

# Reject request when more than 5 ranges in the Range: header.
# CVE-2011-3192
#
RewriteEngine on
RewriteCond %{HTTP:range} !(bytes=[^,]+(,[^,]+){0,4}$|^$)
# RewriteCond %{HTTP:request-range} !(bytes=[^,]+(?:,[^,]+){0,4}$|^$)
RewriteRule .* - [F]

# We always drop Request-Range; as this is a legacy
# dating back to MSIE3 and Netscape 2 and 3.
RequestHeader unset Request-Range

#あ~~~~ややこしい設定内容になりますね~~~~~。
#Rangeヘッダに多くのパラメータを指定してhttpdプロセスの使用メモリを増大しますので、
#結局、よほどショボイ内容のコンテンツを公開しているWebサーバ以外全てが対象だ。

いくつかの検証環境で実験したところ、仮想環境で構築されたWebサーバほど、
著しく影響を受ける傾向になってしまいますね。
何故なら、アサインメモリが少ない傾向にある!!!!!


(とにもかくにも、お客様システム修正しないとね)

名古屋のWebシステム開発・ネットワーク構築会社 コネクティボへ