투명 프록시

투명 프록시

투명 프록시는 서버를 통해 요청을 전달하지만 웹사이트에 사용자의 원래 IP 주소를 공개합니다. 요청에 정보를 덧붙이는 필드인 HTTP 헤더에 주소를 추가하는 방식 등이 있습니다. 따라서 다른 IP로 연결한다고 자신의 주소가 반드시 숨겨지는 것은 아닙니다.

이 용어는 과거의 프록시 익명성 수준 분류에 속합니다. 현대 상용 프록시는 클라이언트의 원래 IP를 전달하지 않고 프록시 사용을 알리는 헤더도 추가하지 않는 Elite / High Anonymity 동작이 일반적입니다. Transparent 범주는 주로 과거 설명이나 공개 프록시 목록의 표시를 이해하는 데 유용합니다.

웹사이트가 사용자 IP를 알게 되는 방식

사용자의 공인 IP가 198.51.100.24이고 프록시는 203.0.113.80에서 웹사이트에 접속한다고 가정해 보세요. 프록시가 웹사이트에 연결하므로 웹사이트에는 프록시 주소가 연결 출발지로 보입니다.

하지만 암호화되지 않은 HTTP 요청을 전달할 때 프록시는 X-Forwarded-For: 198.51.100.24를 추가할 수 있습니다. 그러면 웹사이트는 연결에서 프록시 IP를, 요청 안의 필드에서 사용자 IP를 받아 두 주소를 알게 됩니다.

198.51.100.24의 기기에서 203.0.113.80의 프록시를 거쳐 웹사이트로 요청이 이동합니다. 웹사이트는 연결에서 프록시 IP를 받고 X-Forwarded-For에서 사용자의 원래 IP를 받습니다.
프록시는 자체 IP로 연결하면서 HTTP 요청 안에 사용자 주소도 전송합니다.

IP 확인 페이지는 연결 주소만 표시할 수 있습니다. 자신의 주소도 웹사이트에 도달했지만 프록시 IP만 보일 수 있습니다. 이런 공개를 점검하려면 전달된 값을 프록시 접속에 사용하는 공인 IP와 비교하세요. X-Forwarded-For가 있다는 사실만으로 실제 주소가 포함되었다고 볼 수 없습니다. 웹사이트가 다른 주체의 헤더를 신뢰해야 하는 것은 아니지만, 값이 자신의 IP라면 정보는 이미 도달한 것입니다.

원래 주소를 유지하는 이유

프록시는 익명성이 필요 없는 작업도 수행합니다. 조직 네트워크 안에서 웹사이트 접근을 제한하거나 요청을 필터링하거나 캐시 가능한 응답을 저장하여 원본 서버에서 다시 가져오지 않고 제공할 수 있습니다.

한 조직의 여러 시스템을 요청이 통과하면 다음 시스템이 어느 클라이언트가 보냈는지 알아야 할 수 있습니다. 원래 주소를 전달하면 요청 집계와 접근 규칙에 도움이 됩니다. 의도적인 인프라 선택입니다. 외부 웹사이트에 IP를 숨기려고 프록시를 구매하는 고객에게는 적합하지 않습니다.

“투명”의 또 다른 의미

네트워크 문서에서 투명 프록시는 트래픽이 자동으로 지나도록 라우팅된 프록시를 뜻하기도 합니다. 사용자가 브라우저에 프록시 주소를 입력하지 않고 네트워크 장비가 경로를 정합니다. 관리자는 이 구성으로 기기를 공통 필터링 시스템에 연결할 수 있습니다.

이 경우 단어는 연결 구성 방식을 설명합니다. 익명성 분류에서는 웹사이트에 IP가 공개되는지를 설명합니다. 독립적인 속성입니다. 수동 설정이 주소 숨김을 보장하지 않고 자동 경로 변경만으로 HTTP 헤더에 주소가 전달되는 것도 아닙니다.

HTTPS에서는 달라지는 점

X-Forwarded-For 예시는 프록시가 읽을 수 있는 요청에 해당합니다. HTTP 프록시를 통한 일반 HTTPS 연결에서는 애플리케이션이 CONNECT로 터널을 엽니다. 이후 웹사이트 요청과 헤더는 암호화된 TLS 연결 안에서 이동합니다. 암호화된 바이트만 중계하는 프록시는 그 안에 사용자 IP를 삽입할 수 없습니다.

HTTPS를 복호화하는 기업 게이트웨이는 다르게 작동합니다. 인증서 오류 없이 검사하려면 사용자 기기가 게이트웨이의 인증서를 신뢰해야 합니다. 따라서 평문 HTTP 테스트의 Transparent 결과를 터널로 전달되는 HTTPS에 자동 적용할 수 없습니다.

지식 베이스로 돌아가기