Apache 2.0/1.3系及びCentOSでのApache Killer対策
DoSの脆弱性を修正した Apache 2.2.20 が公開されました。
DoSの脆弱性を修正した「Apache 2.2.20」、公開
http://www.atmarkit.co.jp/news/201108/31/apache.html
ただし、Apache 2.0系と1.3系及びCentOSのyumで導入できるApache2.2.3については、まだ修正版がリリースされていないので、以下の方法による対策が必要となります。
また、Apache 1.3系については今後も修正版はリリースされません。2.0系または2.2系へのアップデートが推奨されています。
Advisory: Range header DoS vulnerability Apache HTTPD 1.3/2.x (CVE-2011-3192)より
Apache 2.2系での対策
httpd.confに以下の行を追加して、Apacheを再起動します。
# 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
Apache 2.0/1.3系での対策
httpd.confに以下の行を追加して、Apacheを再起動します。
# 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
DoSの脆弱性を修正した「Apache 2.2.20」、公開
http://www.atmarkit.co.jp/news/201108/31/apache.html
ただし、Apache 2.0系と1.3系及びCentOSのyumで導入できるApache2.2.3については、まだ修正版がリリースされていないので、以下の方法による対策が必要となります。
また、Apache 1.3系については今後も修正版はリリースされません。2.0系または2.2系へのアップデートが推奨されています。
Advisory: Range header DoS vulnerability Apache HTTPD 1.3/2.x (CVE-2011-3192)より
Apache 2.2系での対策
httpd.confに以下の行を追加して、Apacheを再起動します。
# 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
Apache 2.0/1.3系での対策
httpd.confに以下の行を追加して、Apacheを再起動します。
# 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