1.2.2.23.2. パスの正規化設定の更新


Istio 認証ポリシーは、HTTP リクエストの URL パスをベースとする場合があります。URI の正規化として知られる パスの正規化 は、正規化されたパスを標準の方法で処理できるように、受信要求のパスを変更し、標準化します。構文の異なるパスは、パスの正規化後と同一になる場合があります。

Istio は、認証ポリシーに対して評価し、要求をルーティングする前の、要求パスでの以下の正規化スキームをサポートします。

表1.1 正規化スキーム
オプション説明注記

NONE

正規化は行われません。Envoy が受信する内容はそのまますべて、どのバックエンドサービスにも完全に転送されます。

../%2fa../b は認証ポリシーによって評価され、サービスに送信されます。

この設定は CVE-2021-31920 に対して脆弱です。

BASE

現時点で、これは Istio の デフォルト インストールで使用されるオプションです。これにより、Envoy プロキシーで normalize_path オプションが適用されます。これは、追加の正規化において RFC 3986 に従い、バックスラッシュをフォワードスラッシュに変換します。

/a/../b/b に正規化されます。\da/da に正規化されます。

この設定は CVE-2021-31920 に対して脆弱です。

MERGE_SLASHES

スラッシュは BASE の正規化後にマージされます。

/a//b/a/b に正規化されます。

この設定に対して更新を行い、CVE-2021-31920 のリスクを軽減します。

DECODE_AND_MERGE_SLASHES

デフォルトですべてのトラフィックを許可する場合の最も厳密な設定です。この設定の場合、認証ポリシーのルートを詳細にテストする必要がある点に注意してください。パーセントでエンコードされた スラッシュおよびバックスラッシュ文字 (%2F%2f%5C および %5c) は、MERGE_SLASHES の正規化の前に / または \ にデコードされます。

/a%2fb/a/b に正規化されます。

この設定に対して更新を行い、CVE-2021-31920 のリスクを軽減します。この設定はより安全ですが、アプリケーションが破損する可能性があります。実稼働環境にデプロイする前にアプリケーションをテストします。

正規化アルゴリズムは以下の順序で実行されます。

  1. パーセントでデコードされた %2F%2f%5C および %5c
  2. Envoy の normalize_path オプションで実装された RFC 3986 およびその他の正規化。
  3. スラッシュをマージします。
警告

これらの正規化オプションは HTTP 標準および一般的な業界プラクティスの推奨事項を表しますが、アプリケーションは独自に選択したいずれかの方法で URL を解釈する場合があります。拒否ポリシーを使用する場合には、アプリケーションの動作を把握している必要があります。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.