Proxy Server란 방화벽 시스템이 설치되어 있는 호스트에서 동작하는 서버로, 방화벽 내에 있는 사용자들에게 방화벽 밖에 있는 서버로의 자유로운 서비스 요구와 응답을 받기 위한 수단으로 만들어진 것이다.
해킹과 같이 외부로의 불법적인 접속을 방어하기 위해 설치하는 시스템이 방화벽인데 외부의 접속이 어려운 만큼 내부에서 외부로의 접속도 제한될 수 밖에 없다. 이러할 때에 방화벽이 설치되어 있는 시스템에다 Proxy server를 설치해 두면 방화벽에서는 이 서버에 대한 동작을 허용하고 내부의 모든 사용자는 이 서버에게만 서비스 요구를 하도록 한다. 그러면 이 서버는 외부의 서버들에게 서비스 요청을 하고 응답을 받으면 원래 요청했던 방화벽 내부의 사용자에게 전달해 준다.
즉, Proxy Server는 사용자 브라우저와 방화벽 외부의 서버들 사이에서 방화벽을 통과하는 중계기 역할을 해주는 것이다.
뿐만 아니라 Proxy는 Cache를 가지고 있기 때문에 여러 사람들이 많이 들어가는 호스트는 이미 Cache에 Data가 저장되어 있기 때문에 Proxy에서 바로 가져다가 PC에 전달을 하기 때문에 해외 라인의 트래픽도 줄이고 속도도 빠른 이중의 효과를 얻게 되는 것이다.
공개 프록시(open proxy)는 아무나 자유롭게 접속하여 사용할 수 있는 프록시 서버를 말한다. 공개 프록시를 사용하면 자신의 IP주소를 남기지 않고 익명으로 활동하기가 쉽기 때문에, 이러한 서버들은 크래킹, 악성 코드, 바이러스 배포, 불법 행동 등에 악용되기 쉽다. 따라서, 많은 프로그램은 공개 프록시를 검출하여 사용을 금지하는 방법을 사용한다. 유료 프록시 서버도 있다.
< Proxy Server의 활용 >
Multiple Proxy Caching
Single Proxy Caching 의 문제점
- Proxy 에 문서를 요구하는 client들의 수가 proxy 에 지나치게 많으면 병목 현상으로 인해 속도저하 및 접속불가가 되기 쉬움
Single Proxy Caching 의 문제해결방안
- 여러 개의 caching proxy를 연동시켜서 서로 가지고 있는 cache 등을 공유함 예) Harvest cache, Squid cache
Multiple Proxy Caching 이란?
- Client 의 요청에 따른 object 가 cache 에 없으면 local cache는 자신에게 연결되어 있는 neighbor, parent cache, primary host에 동시에 요청 (request)을 보냄
- 그 중에서 가장 빨리 hit message를 보내주는 host로부터 객체를 가져옴
게이트웨이 역활
비공인 IP address 를 사용하는 지역에서의 인터넷 이용
- 비공인 IP Address 를 사용하는 지역에서는 공인IP 를 사용하는 인터넷망으로 나올 수 가 없어 내부에서만 동작이 가능하다.이런 경우 Proxy를 이용하여 비공인 IP를 공인된 IP처럼 가상으로 변환하여 인터넷 을 이용할 수 있도록 게이트웨이 역할을 하는 방법이 있다.
보안용 장비로 이용
- 외부에서 접속을 하거나 DNS로 외부에 노출되는 것을 막고자 하는 경우Proxy 서버를 중간 게이트웨이로 이용을 하면 Proxy 뒤의 서버들은 외부에서 확인이나 접속이 불가능하다.