0w0
[HTTP 헤더] X-Forwarded-For (XFF) 본문
1. X-Forwarded-For (XFF) 란?
- HTTP 헤더의 필드 중 하나
- XFF의 목적 : WAS, Web Server 앞 단에 위치한 Load Balancers, Proxy Server, Caching Server 등의 IP로 HTTP 헤더의 src_ip가 되어 로깅되는 것을 확인하고 실제 Client의 IP를 로깅 및 확인하기 위해 사용됨.
2. X-Forwarded-For (XFF)에서 Client IP 는?
- HTTP 헤더에서 XFF가 다음과 같이 확인된다면
X-Forwarded-For : IP_1, IP_2, IP_3
- 해석
○ XFF 필드는 우측 끝으로 추가가 이뤄짐.
○ 즉, 해당 패킷에서 추가 경로가 발생되면 IP_3 뒤로 IP_4가 붙는 것
○ IP_1 이 실제 Client IP로 확인하면됨
○ 패킷에서 src_ip와 XFF의 IP_1이 같다면 정상적인 처리가 이뤄진 것
○ XFF 필드가 생성되어 있으며 IP_1과 src_ip가 다르다면 서버(WAS, Web Server)로 접속하는 과정 중 앞 단의 장비나 S/W에 의해서src_ip가 변경된 것, IP_1을 Client인 것을 XFF를 통해 확인 가능.
- 흐름
클라이언트(IP_1) -> Caching Sever(IP_2) -> Proxy Server(IP_3) -> Web Server
X-Forwarded-For : IP_1 + IP_2
X-Forwarded-For : IP_1 , IP_2 +IP_3
X-Forwarded-For : IP_1, IP_2, IP_3
○ 결과적으로 Web Server 로깅상에 남는 src_ip가 이상하거나 패킷 src_ip가 이상할 경우에서 추가적으로 X-Forwarded-For 필드가 있을 경우 src_ip 보다 XFF의 첫번 째 IP(IP_1) 를 Client IP라는 것을 알 수 있음
'Header' 카테고리의 다른 글
[HTTP] HTTP 응답 코드 (0) | 2020.11.24 |
---|---|
[HTTP] HTTP와 HTTPS (0) | 2019.02.13 |
[HTTP] HTTP/1.0과 HTTP/1.1 차이로 HTTP/1.1이 갖는 특징 (0.1 눈높이) (0) | 2019.02.10 |