Apache HTTP Serverの脆弱性を突く「Apache Killer」――パッチは48時間以内にリリース予定...
未だにこんな脆弱性が残ってるのね。 Advisoryを読む限り、Rengeヘッダを単に無視してしまう方法が簡単かつ安全な対策に思えます。
例えば1MBのファイルをサーバーからダウンロード中に、 ブチ切れたとする。手元のファイルは500KBしかないが、頭から ダウンロードするのタルい。後半500KBだけ欲しい。 いわゆるレジューム動作をするときにRengeヘッダはよく使われます。
あとVODだね。HTTP Streamingはほぼ間違いなくRangeを使う。
意外なところで、多くの2ちゃんねるビューワーは、DATファイル(掲示板のスレファイル)を取得するのにRengeヘッダを使います。 最大でも500KB(だっけ?)なんだから全部ダウンロードすれば いいじゃないか、と思うのだがサーバ側の負荷対策らしいね。 なるほど影響を受けるわけだ....
いいかえると、それ以外のサービスを提供している「ふつーの」 WebサーバはRangeは無視してかまわないってことですな(断言していいのか、という懸念はあるが)
mod_headersを有効にする。
# a2enmod headers
/etc/apache2/mods-enabled/headers.confを作成(1行だけ)
RequestHeader unset Range
Apache2を再起動する。
# /etc/init.d/apache2 restart
以上。巷に出回ってる攻撃ツールのひとつ、killapache.plは「Host does not seem vulnerable」って言って瞬間に諦めるようになった(笑)
同時並列に大量のアクセスが同一IPアドレスからあると、 一定時間アクセスをカットしてくれる、 そんな便利なモジュールmod-evasiveがある。 Range攻撃の抑止を行っても、大量アクセスで落ちたら話にならんので、入れていなければ入れておこう。
aptを使ってパッケージを入れよう。
# apt-get install libapache2-mod-evasive
モジュールを有効化。
# a2enmod mod-evasive
/etc/apache2/mods-enabled/mod-evasive.confを作成。
DOSHashTableSize 3097 DOSPageCount 50 DOSSiteCount 280 DOSPageInterval 2 DOSSiteInterval 2 DOSBLockingPeriod 300
よほどの大規模サイトでない限り、この設定のままでかまわない。
Apache2を再起動する。
# /etc/init.d/apache2 restart
以上。
Your goal is to breed all the different dragons available to you and enter combat against other player's dragons. deagdckegdek
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!
Very nice site!