1.2.2.10.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을 해석할 수 있습니다. 거부 정책을 사용할 때 애플리케이션이 작동하는 방식을 이해해야 합니다.