2.2. 알려진 프록시
자동화 컨트롤러가 REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR', 'REMOTE_ADDR', 'REMOTE_HOST'] 로 구성된 경우 X-Forwarded-For 의 값이 자동화 컨트롤러 앞에 있는 프록시/로드 밸런서에서 발생했다고 가정합니다. 프록시/로드 밸런서를 사용하지 않고 자동화 컨트롤러에 도달하거나 프록시에서 헤더의 유효성을 검사하지 않는 경우 X-Forwarded-For 의 값을 위조하여 원래 IP 주소를 위조할 수 있습니다.
REMOTE _FOR를 사용하면 취약점이 발생합니다.
_HOST_HEADERS 설정에서 HTTP_X_FORARDED
이를 방지하려면 허용되는 알려진 프록시 목록을 구성할 수 있습니다.
프로세스
-
탐색 패널에서
을 선택합니다. 서비스에서 프록시 IP 허용 목록 필드에서 사용자 지정 원격 헤더 값을 신뢰해야 하는 프록시 IP 주소 목록을 입력합니다.
참고알려진 프록시 목록에 없는 로드 밸런서 및 호스트로 인해 요청이 거부됩니다.
2.2.1. 알려진 프록시 구성 링크 복사링크가 클립보드에 복사되었습니다!
자동화 컨트롤러에 대해 알려진 프록시 목록을 구성하려면 시스템 설정 페이지의 프록시 IP 허용 목록 필드에 프록시 IP 주소를 추가합니다.
프로세스
-
탐색 패널에서
을 선택합니다. 프록시 IP 허용 목록 필드에 다음 예의 구문을 사용하여 자동화 컨트롤러에 연결할 수 있는 IP 주소를 입력합니다.
프록시 IP 허용 목록 항목 예
[ "example1.proxy.com:8080", "example2.proxy.com:8080" ]중요-
프록시 IP 허용 목록에 있는 프록시는 헤더 입력을 적절히 제거하고
X-Forwarded-For값을 클라이언트의 실제 소스 IP와 올바르게 설정합니다. 자동화 컨트롤러는 프록시 IP 허용 목록 의 IP 주소 및 호스트 이름을 사용하여X-Forwarded-for에 스푸핑되지 않은 값을 제공할 수 있습니다. 다음 조건을 모두 충족하지 않는 한
HTTP_X_FORWARDED_FOR을 원격 호스트 헤더 의 항목으로 구성하지 마십시오.- ssl 종료가 있는 프록시된 환경을 사용하고 있습니다.
-
프록시는 클라이언트 스푸핑을 방지하기 위해
X-Forwarded-For헤더의 종료 또는 검증을 제공합니다. -
/etc/tower/conf.d/remote_host_headers.py는 신뢰할 수 있는 프록시 또는 로드 밸런서의 원래 IP 주소만 포함하는PROXY_IP_ALLOWED_LIST를 정의합니다.
-
프록시 IP 허용 목록에 있는 프록시는 헤더 입력을 적절히 제거하고
- 클릭하여 설정을 저장합니다.