프록시란?
프록시 서버는 클라이언트와 다른 서버 사이에서 요청을 중계하는 역할을 하는 서버입니다. 서버와 클라이언트 사이에 중계기
로서 대리로 통신을 수행하는 것을 가리켜 '프록시'
, 그 중계 기능을 하는 것을 프록시 서버라고 부릅니다. 주로 보안, 익명성 및 데이터 관리를 위해 사용됩니다.
- 요청 중계
- 클라이언트가 웹 리소스에 접근하려 할 때, 그 요청을 프록시 서버로 보냅니다.
- 프록시 서버는 이 요청을 받아 대상 서버로 전달합니다.
- 응답 처리
- 대상 서버는 요청에 대한 응답을 프록시 서버로 보냅니다.
- 프록시 서버는 이 응답을 받아 클라이언트에게 전달합니다.
- 캐싱 및 필터링
- 프록시 서버는 자주 요청되는 데이터를 캐시에 저장할 수 있습니다.
- 또한, 설정된 규칙에 따라 특정 요청이나 콘텐츠를 차단할 수 있습니다.
주요 기능
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
[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/) |
댓글남기기