Apache HTTP Serverの脆弱性を突く「Apache Killer」――パッチは48時間以内にリリース予定(SourceForge.JP)
昨日から猛威をふるっている Apache DDoS攻撃 「Apache Killer」
問題となっているのは「Range header DoS」と呼ばれる脆弱性で、リモートから多数のRange指定を
含むリクエストを送ることで、ターゲットシステムのメモリとCPUを消費させるというもの。
この攻撃で、Webが書き換えられるといったことは起こらない。サーバが強制的に落ちるということです。
大量のリクエストを送信する必要もなく、簡単なスクリプトでサーバをダウンさせることができます。
Exploitコードも公開されており、自分のサイトが対策出来ているかどうかもわかります。
Bug 51714 - Byte Range Filter might consume huge amounts of memory combined with compressed streams
https://issues.apache.org/bugzilla/show_bug.cgi?id=51714
対象範囲が「1.3系」および「2系」の全てが対象となっており、広い範囲で影響が出ています。
対策パッチはまだリリースされていないが、48時間以内にリリースされるということで
1〜2日後には準備されるだろう。IT管理者の皆さんは、アップデート作業に追われるわけです。
暫定対応としては下記の点をあげている
・SetEnvIfもしくはmod_rewriteを使用し、リクエストに多数のRange指定があった場合はそれを無視する
・リクエストフィールドのサイズ制限を小さめに設定し、長いRangeヘッダを受け付けないようにする
(副作用として、ほかのHTTPヘッダが影響を受ける可能性がある)
・mod_headersを利用してRangeヘッダサポートを無効にする
・Rangeヘッダーカウントモジュールを適用する
・現在議論されている対策パッチを適用する
有効ではあるが、副作用もあるので注意ともある。
別の日記で見つけた「mod_security」モジュール(Apatch用Webアプリケーションファイアーウォール(WAF))を
使用した方法を見つけたので参考リンクしておきます。
ものは HTTP Request Header の Range: をチェックして、多すぎる場合には弾くような動きのようだ
another mitigation against apache killer
https://blackpearl.kawasaki3.org/Plone/Staggering-and-Stumbling-Diary/apache%20killer%20another%20mitigation
mod_rewrite などで制御する内容は Apache公式 に設定方法が記載されています。
Advisory: Range header DoS vulnerability Apache HTTPD 1.3/2.x (CVE-2011-3192\)
http://mail-archives.apache.org/mod_mbox/httpd-announce/201108.mbox/%3C20110824161640.122D387DD@minotaur.apache.org%3E
新しい ADVISORY UPDATE が告知されています。
内部的にも大きく仕様を変えていくようですね。
Apache HTTPD Security ADVISORY UPDATE 2
http://mail-archives.apache.org/mod_mbox/httpd-announce/201108.mbox/raw/%3C20110826103531.998348F82@minotaur.apache.org%3E/
Apache HTTP Server 2.2.20 Released
http://d.hatena.ne.jp/myu10/20110831#1314770024