1.2.2.23.2. 更新路径规范化配置
Istio 授权策略可能基于 HTTP 请求中的 URL 路径。路径规范化 (也称为 URI 规范化)、修改和标准化传入请求的路径,以便能够以标准的方式处理规范化路径。在路径规范化后,同步不同路径可能是等同的。
Istio 在根据授权策略和路由请求前,支持请求路径中的以下规范化方案:
选项 | 描述 | 示例 | 备注 |
---|---|---|---|
| 没有进行规范化。Envoy 接收的任何内容都会完全按原样转发到任何后端服务。 |
| 此设置会受到 CVE-2021-31920 的影响。 |
|
这是目前 Istio 默认安装中使用的选项。这在 Envoy 代理上应用 |
| 此设置会受到 CVE-2021-31920 的影响。 |
| 斜杠会在 BASE 规范化后合并。 |
| 更新此设置以缓解 CVE-2021-31920 的问题。 |
|
默认允许所有流量时的最严格设置。建议使用此设置,请注意您必须对您的授权策略路由进行彻底测试。Percent 编码的 斜杠和反斜杠字符( |
| 更新此设置以缓解 CVE-2021-31920 的问题。这个设置更为安全,但可能会破坏应用程序。在部署到生产环境中前测试您的应用程序。 |
规范化算法按以下顺序进行:
-
解码百分比
%2F
、%2f
、%5C
和%5c
。 -
RFC 3986 和其他在 Envoy 中的
normalize_path
选项实现的规范化。 - 合并斜杠。
虽然这些规范化选项代表来自 HTTP 标准和常见行业实践的建议,但应用程序可能会以它选择的任何方式解释 URL。在使用拒绝策略时,请确保您了解应用程序的行为方式。