1.2.2.23.2. パスの正規化設定の更新
Istio 認証ポリシーは、HTTP リクエストの URL パスをベースとする場合があります。URI の正規化として知られる パスの正規化 は、正規化されたパスを標準の方法で処理できるように、受信要求のパスを変更し、標準化します。構文の異なるパスは、パスの正規化後と同一になる場合があります。
Istio は、認証ポリシーに対して評価し、要求をルーティングする前の、要求パスでの以下の正規化スキームをサポートします。
オプション | 説明 | 例 | 注記 |
---|---|---|---|
| 正規化は行われません。Envoy が受信する内容はそのまますべて、どのバックエンドサービスにも完全に転送されます。 |
| この設定は CVE-2021-31920 に対して脆弱です。 |
|
現時点で、これは Istio の デフォルト インストールで使用されるオプションです。これにより、Envoy プロキシーで |
| この設定は CVE-2021-31920 に対して脆弱です。 |
| スラッシュは BASE の正規化後にマージされます。 |
| この設定に対して更新を行い、CVE-2021-31920 のリスクを軽減します。 |
|
デフォルトですべてのトラフィックを許可する場合の最も厳密な設定です。この設定の場合、認証ポリシーのルートを詳細にテストする必要がある点に注意してください。パーセントでエンコードされた スラッシュおよびバックスラッシュ文字 ( |
| この設定に対して更新を行い、CVE-2021-31920 のリスクを軽減します。この設定はより安全ですが、アプリケーションが破損する可能性があります。実稼働環境にデプロイする前にアプリケーションをテストします。 |
正規化アルゴリズムは以下の順序で実行されます。
-
パーセントでデコードされた
%2F
、%2f
、%5C
および%5c
。 -
Envoy の
normalize_path
オプションで実装された RFC 3986 およびその他の正規化。 - スラッシュをマージします。
これらの正規化オプションは HTTP 標準および一般的な業界プラクティスの推奨事項を表しますが、アプリケーションは独自に選択したいずれかの方法で URL を解釈する場合があります。拒否ポリシーを使用する場合には、アプリケーションの動作を把握している必要があります。