X-Forwarded-For

XFF 정보를 쏴주는 크롬 데이터 세이버와 그런 거 없는 VPN의 비교.

X-Forwarded-For (XFF)

인터넷을 하면 클라이언트-서버 연결 과정에서 수많은 장비가 관여를 하고, 이 장비들은 각자의 방식대로 패킷을 가공하여 제공하기 때문에 서버가 일반적인 방법으로 패킷에서 IP 주소를 추출하면 클라이언트의 IP 주소가 아닌 패킷이 거쳐온 경로 상의 장비 IP 주소가 찍혀 나오는 경우가 더러 있다.[1]

특히 서버단에 각종 보안 장비를 달면서 그런 추세가 점점 더 심해지고 있는 데, 그래서 나온 기술이 X-Forwarded-For로 표준은 아니었지만 대부분의 장비는 이 기술을 갖추고 있어 2014년부터 표준이 되었다[2].

다만 이 기술은 거쳐오는 장비가 XFF를 지원해 줘야 하는 데, 대다수의 프록시 서버들은 XFF를 지원해 주지 않아 프록시를 거치면 접속자 IP 주소가 프록시 IP 주소로 세탁된다. 그리고 단순한 HTTP 헤더인 만큼 얼마든지 쉽고 간편하게 조작이 가능하기 때문에 이 헤더만 믿고 진짜 IP 주소로 간주하는 것도 위험하다.

각주

  1. 대표적인 예시로 http://ipip.kr 같은 곳에서 IP 주소를 조회했을 때 컴퓨터의 사설 IP 주소가 아닌 인터넷 공유기의 공인 IP 주소가 찍혀나온다.
  2. Forwarded HTTP Extension, Internet Engineering Task Force (IETF)