httpoxyの脆弱性に対抗するセキュリティ対策

セキュリティとストレージのリーディングカンパニー > ブログ > Web Application Firewall > httpoxyの脆弱性に対抗するセキュリティ対策

httpoxyの脆弱性に対抗するセキュリティ対策
NITZAN MIRON

2016年09月02日

またもや新たな脆弱性が発覚しました。今回は、httpoxyという名前の脆弱性です。この脆弱性を悪用することにより、一部のWebサーバ構成では、サーバ間の内部通信のインターセプトや、サーバリソースに過剰な負荷を与えてサービス拒否(DoS)攻撃を仕掛けることが可能になります。httpoxyは、HTTPヘッダと環境変数という何の関連もない2つのエンティティに名前の衝突が発生している点に起因します。

しくみ

Webブラウザが要求をWebサイトに送信する際、要求に関する情報が複数のヘッダで指定されます。たとえば、所定の言語でコンテンツを返すようにサーバに指示したい場合は「Accept-Language」ヘッダを使用します。また、ブラウザが保存しているCookieをサーバに渡す場合は「Cookie」ヘッダを使用します。このようなヘッダの1つに、「Proxy」があります。脆弱性が存在するサーバでは、いくつかのヘッダが「HTTP」プレフィックスを持つ環境変数にコピーされてしまいます。これによって攻撃者は、Webアプリケーションコードに簡単にアクセスできるようになります。たとえば、「Proxy」ヘッダが「HTTP_PROXY」という名前の環境変数にコピーされたとします。「HTTP_PROXY」環境変数はさまざまな用途に使用されており、HTTPプロキシ設定もその1つです。本来ならばWebクライアントにはこの設定を行う権限はありませんが、脆弱性によって設定が可能になります。

最悪の場合、ユーザがWebアプリケーションにアクセスすると、それによって内部Webサービスが呼び出され、内部情報が取得されます。アプリケーション間の内部呼び出しでは、パスワードなどの認証データがやりとりされるのですが、ユーザにパスワードが表示されることはありません。

ところが脆弱な環境の場合、ユーザが選択したサーバで要求を代理処理するように、Webサーバに指示することができます。つまり、発信要求をすべて特定のサーバに送信するよう、Webサーバに指示することが可能なのです。次の図のようになります。

内部要求は、内部サービスではなくユーザが指示したプロキシサーバに送信されています。もちろん、これにはパスワードも含まれます。場合によっては、パスワードを悪用して内部データベースやファイルに不正アクセスし、多大な被害へとつながる危険もあります。

対策

Barracuda Web Application Firewallがあれば、ヘッダ拒否ルールを追加するだけで、httpoxy対策は完了です。ヘッダ名を「Proxy」、ヘッダ長の最大値を0(ゼロ)に設定します。これにより、空白文字列以外を含むProxyヘッダがブロックされるので、ユーザはサーバのプロキシ設定をコントロールできなくなります。ヘッダ拒否ルールは、[Webサイト]->[許可/拒否]画面で追加でき、Web Application Firewallの全モデルで設定が可能です。

Proxyヘッダは標準ヘッダではなく、合法的でもないので、脆弱性の有無にかかわらずあらゆる環境でルールを設定できます。脆弱なサーバがないか調査するよりは、すべての環境にルールを適用する方が簡単で時間もかかりません。また、将来に備えたセキュリティ対策にもなります。

参考資料

※本内容はBarracuda Product Blog 2016年7月21How to protect yourself from the httpoxy vulnerabilityを翻訳したものです。


コラム(バラクーダブログ)一覧へ

お役立ち情報満載の資料ダウンロード|機能詳細、導入構成、モデル一覧などお役立ち情報が満載です。

お問い合わせはこちら

03-5436-6235 受付時間 平日9:00〜17:00

Webからのお問い合わせはこちら