프록시 서버 (Proxy Server)

프록시 서버는 인터넷에서 유저를 대신해서 데이터를 가져오는 서버입니다.

 

원래는 클라이언트가 서버에 직접 접근해서 요청한 내용을 가져와야 하지만

 

프록시 서버가 대신 서버에 요청하고 클라이언트에게 가져다 줍니다.

 

예를 들면 클라이언트에서 naver의 주소를 입력해서 접속을 시도합니다.

 

이 요청은 서버로 가는게 아니라 프록시 서버로 갑니다. 프록시 서버가 네이버의 서버에 도착해서 웹페이지를 가져다가 클라이언트인 웹브라우저에게 보내주는거죠.

 

프록시 proxy 에는 '대리' 라는 뜻이 있습니다. 클라이언트를 대리한다는 뜻 입니다. 중계인도 비슷한 말이죠.

 

 

위키피디아 프록시 서버
이미지 출처: 위키피디아 프록시 서버

프록시 서버를 사용하는 이유

1. 개인정보를 보호할 수 있습니다.

 

프록시 서버 없이 클라이언트가 네이버의 서버에 요청을 할 때 나의 IP 주소도 전달이 됩니다. 프록시 서버를 사용하면 네이버의 서버는 나의 IP가 아니라 프록시 서버의 IP를 보게 됩니다. 즉 네이버 서버 관리부에서는 IP 주소를 보고 어디서 네이버에 접속했는지 알아낼 수 있습니다. IP 주소를 추적하면...? 다 나오겠죠? 프록시 서버를 사용하면 나의 IP주소는 네이버 서버에 전달되지 않습니다.

 

2. 캐시 사용 - 속도향상

 

프록시 서버가 웹페이지를 가져올 때 자신의 데이터베이스에 최근 데이터를 저장해놓습니다. 이것을 캐시라 합니다 (Cache)

 

다른 클라이언트가 접속할 때 캐시된 웹페이지가 있으면 프록시 서버에서 바로 클라이언트에 전송함으로써 속도를 향상 시킬 수 있습니다. 인터넷으로 갈 필요도 없이 프락시 서버에서 끝나는 것이죠.

 

프락시 서버에서는 가비지 콜렉션을 해서 캐시 상태를 유지합니다. 원본 문서에 대한 캐시도 업데이트하여 클라이언트에 문서의 최신 버전을 전달할 수 있도록 합니다.

 

캐시기능을 사용하면 인터넷으로 데이터를 수집하러 나갈 필요가 없으니까 대역폭을 줄이는 효과도 있습니다.

 

3. 로그 기록 관리

 

서버에게 개인정보가 보호되지만 프록시 서버에는 클라이언트의 기록이 남아있습니다.

 

이 기록들을 보면 어떤 IP에서 어디에 얼마나 오래 접속했는지 기록을 확인할 수 있습니다.

 

또 프록시 서버가 방문할 수 있는 웹사이트를 제한할 수 있습니다.

 

결국 연결된 클라이언트들의 정보를 제어할 수 있기 때문에 프록시 서버는 회사에서 많이 사용합니다.

 

관리자가 프록시 서버를 열어보면 직원들이 어떤 사이트에 접속했는지 손바닥 처럼 들여다 볼 수 있기 때문이죠.

 

4. 방화벽

 

프락시 서버와 방화벽은 다른 것이지만 보안을 위해 함께 일합니다.

 

프락시는 요청을 방화벽은 네트워크 패킷을 제어합니다.

 

5. 접속 우회

 

프록시 서버는 여러대 연결시킬 수 있습니다.

 

클라이언트 -> 프락시 서버1 -> 프락시 서버2 -> 서버

 

클라이언트의 IP를 숨기기 위해 여러 프록시 서버를 경유하는 기술을 Proxy Chaining 이라고 합니다.

 

흔히 해커들의 IP주소를 숨기고 공격할 때 쓰는 수법으로 알려져 있습니다만,

 

Proxy Chaining 이 완벽한 기술은 아닙니다. 어쨋든 서버에는 프록시 서버의 주소가 남아있을테니 추적을 거듭하면 클라이언트를 알아낼 수도 있습니다. 다만 여러 국가의 컴퓨터에 접속해서 우회한다면 상당히 힘들겠죠? 나라마다 정보 보호법이 달라서 서버의 정보를 공개하지 않는 나라도 있으니까요.

 

토르 브라우저 (Tor Browser)는 Tor Network 의 프록시 서버를 사용할 수 있도록 고안된 브라우저 입니다.

 

클라이언트를 특정할 수 없도록 중간에 Tor Network 의 컴퓨터들이 운영되고 있습니다.

 

암호화 문제

프록시 서버에서는 데이터를 암호화(encryption) 하지는 않습니다.

 

프록시 서버가 사용하는 네트워크는 기본적으로 공용망(Public Network)이기 때문에

 

장비만 갖춘다면 해커나 공공기관 ISP에서도 클라이언트가 보내는 데이터를 탈취할 수 있습니다.

 

정보를 암호화 하려면 VPN 을 사용해야 합니다.

 

VPN은 Virtual Private Network 가상 사설 네트워크의 약자로 서버와 클라이언트 간에 보안처리된 터널을 만들어 놓습니다. 이 터널에서 암호화된 데이터를 주고 받기 때문에 보안이 유지됩니다.

 

보호되야 하는 데이터를 인터넷에서 전달할 때는 VPN을 사용하는 것이 보안상 필요합니다.

 

 

Proxy Chaining - Infosec Resources (infosecinstitute.com)

 

Proxy Chaining - Infosec Resources

We live in a world where privacy has an important role in our day-to-day life. The activities we perform using the Internet can tell a lot about a

resources.infosecinstitute.com

 

docs.oracle.com/cd/E19438-01/820-0862/adymk/index.html

 

https://docs.oracle.com/cd/E19438-01/820-0862/adymk/index.html

12장 캐시 이 장에서는 Sun Java System Web Proxy Server가 문서를 캐시하는 방법에 대해 설명합니다. 또한 온라인 페이지를 사용하여 캐시를 구성할 수 있는 방법에 대해 설명합니다. 이 장은 다음 내용

docs.oracle.com

서버 컴퓨터
서버 컴퓨터

 

공유하기

facebook twitter kakaoTalk kakaostory naver band