프록시란?

프록시 서버는 클라이언트와 다른 서버 사이에서 요청을 중계하는 역할을 하는 서버입니다. 서버와 클라이언트 사이에 중계기 로서 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부릅니다. 주로 보안, 익명성 및 데이터 관리를 위해 사용됩니다.

포워드 프록시

  1. 요청 중계
    • 클라이언트가 웹 리소스에 접근하려 할 때, 그 요청을 프록시 서버로 보냅니다.
    • 프록시 서버는 이 요청을 받아 대상 서버로 전달합니다.
  2. 응답 처리
    • 대상 서버는 요청에 대한 응답을 프록시 서버로 보냅니다.
    • 프록시 서버는 이 응답을 받아 클라이언트에게 전달합니다.
  3. 캐싱 및 필터링
    • 프록시 서버는 자주 요청되는 데이터를 캐시에 저장할 수 있습니다.
    • 또한, 설정된 규칙에 따라 특정 요청이나 콘텐츠를 차단할 수 있습니다.

주요 기능

1. 익명성 보장

프록시 서버는 사용자의 실제 IP 주소를 숨기고, 프록시의 IP 주소를 사용하여 인터넷에 요청을 전송합니다. 이를 통해 사용자의 신원과 위치 정보를 익명으로 유지할 수 있습니다.

2. 보안 강화

프록시는 외부의 위협으로부터 내부 네트워크를 보호하는 방어책 역할을 합니다. 프록시 서버가 악의적인 트래픽과 요청을 필터링할 수 있습니다.

3. 콘텐츠 필터링

기업이나 교육 기관에서는 프록시 서버를 사용하여 부적절하거나 원하지 않는 웹사이트에 대한 접근을 차단할 수 있습니다.

4. 캐싱

프록시 서버는 자주 요청되는 웹 페이지나 데이터를 로컬에 저장(캐싱)하고, 동일한 요청이 있을 때 빠르게 응답할 수 있도록 합니다. 이는 네트워크 대역폭을 절약하고 응답 시간을 단축시킵니다.

5. 지역 제한 우회

특정 지역에서만 제공되는 서비스나 콘텐츠에 접근하기 위해, 해당 지역에 위치한 프록시 서버를 사용할 수 있습니다.

프록시 종류

1. 포워드 프록시

포워드 프록시

  • 일반적인 프록시 서버로, 클라이언트와 인터넷 사이에 위치합니다.
  • 사용자가 인터넷 리소스에 접근할 때, 포워드 프록시를 통해 요청을 보내고 응답을 받습니다.
  • 주로 콘텐츠 필터링, 사용자 보안, IP 주소 익명화에 사용됩니다.

2. 리버스 프록시

리버스 프록시

  • 인터넷과 서버 사이에 위치하여 서버로 들어오는 요청을 처리합니다.
  • 주로 서버의 보안 강화, 부하 분산, SSL 암호화 터미네이션 등에 사용됩니다.

3. 투명 프록시(Transparent proxy)

투명 프록시

  • 유저와 인터넷 간의 연결을 가로채서 요청과 응답을 변경하지 않는 방식으로 동작하여서 투명 프록시라고 불립니다.
  • 주로 ISP(Internet Service Provider)에 의해 사용되어 캐싱과 속도 향상을 목적으로 합니다.

ex) 회사의 네트워크를 사용하고 있는 user가 cnn.com에서 뉴스 기사를 보고자 요청하면 자신의 집에서 로컬 연결로 볼때 와 똑같은 콘텐츠를 볼 수 있습니다. 그러나 사용자가 모르게 기업 네트워크에 있는 투명 프록시에서 제공하므로써 동일한 사용자 경험을 할 수 있지만 기업은 사용자의 행동을 모니터링하고 특정 웨사이트에 대한 액세스를 제한할 수 있습니다.

4. 익명 프록시

  • 사용자의 IP 주소를 숨기고 인터넷에 접속합니다.
  • 온라인 프라이버시를 보호하는 데 사용됩니다.

5. 고익명 프록시 (Distorting Proxy)

고익명 프록시

  • HTTP헤더의 IP주소를 변경하거나 왜곡하려 요청이 다른 IP 주소에서 온 것처럼 보이게 합니다.
  • ‘X-Forwarded-For’ 헤더를 수정하는 방식으로 동작합니다. ‘X-Forwarded-For’: TTP 프록시나 로드 밸런서를 통해 웹 서버에 접속하는 클라이언트의 원 IP 주소를 식별하는 사실상의 표준 헤더(mdn web docs)
  • 더 높은 수준의 익명성을 제공합니다.

프록시 vs VPN

프록시와 VPN은 모두 인터넷 트레픽을 중재하고 사용자의 실제 위치와 신원을 숨기는 데 사용됩니다. 그러나 몇가지의 다른 부분이 존재합니다.

특징 프록시 VPN
보안 수준 단순히 사용자의 요청을 대신 전달하는 역할을 합니다. 대부분의 트래픽은 암호화되지 않으므로 보안 수준이 낮습니다. 사용자의 모든 인터넷 트래픽을 암호화합니다. 따라서 데이터가 전송되는 동안 기밀이 유지되고 보호됩니다.
트래픽 처리 일반적으로 특정 애플리케이션 또는 웹 브라우저의 트래픽만 처리합니다. 클라이언트 시스템 전체의 인터넷 연결을 중재합니다. 따라서 시스템의 전체 애플리케이션의 트래픽이 VPN을 통해서 전송됩니다.
속도와 성능 일반적으로 속도가 VPN보다 빠릅니다. 캐싱 기능에 의존하는 경우가 많습니다. 암호화로 인해 속도 저하가 필연적으로 발생합니다.
사용 용도 지역 제한 콘텐츠 접근, 간단한 익명성 유지, 웹사이트 차단 우회 등에 사용됩니다. 온라인 프라이버시 보호, 보안 강화, 원격 근무, 전 세계 콘텐츠 접근 등에 사용됩니다.
설정과 관리 일반적으로 간단하게 적용할 수 있습니다. 웹 브라우저나 특정 애플리케이션에 설정할 수 있습니다. 전체 디바이스 또는 네트워크에 설정해야 하며, 설치와 관리가 조금 더 복잡할 수 있습니다.

Reference

Proxy Server(프록시 서버)란?

프록시(Proxy)란??

[What is a Transparent Proxy Client vs. Server Side Use Cases Imperva](https://www.imperva.com/learn/ddos/transparent-proxy/)
[What is a Distorting Proxy? Things to Know Web Hosting Geeks’ Blog](https://webhostinggeeks.com/blog/what-is-distorting-proxy/)

댓글남기기