본문 바로가기
IT/네트워크

프록시(Proxy)서버와 사용목적

by 미니송 2017. 9. 26.

프록시(Proxy)서버와 사용목적




이번 포스팅은 프록시에 대한 설명에 대해 하겠습니다. 프록시는 IP를 우회해서 접속하지 못하는 사이트를 접속할 때 많이 사용한다고 알고 계실겁니다. 하지만 프록시의 원래 기능은 보안을 강화하는 기능입니다. 이러한 보안을 강화하는 프록시를 순기능으로 사용하는 것이 아닌 역기능으로 사용하는 사람들이 많은 것 같습니다. 그래서 오늘은 프록시가 어떻게 동작하며 무엇을 하는지에 대해 포스팅 하도록 하겠습니다.

 

프록시(Proxy)?

컴퓨터 네트워크에서 다른 서버 상의 자원을 찾는 클라이언트로부터 요청을 받아 중계하는 서버를 말합니다. 간단히 말해서 중계해주는 서버라고 생각하면 됩니다.


또한 프록시라고 말하는 것은 대부분 웹 프록시를 말하는 것입니다. 컴퓨터 네트워크에서 다른 서버로의 자원 요청을 중계하며 분산 시스템 구조를 단순화하여 서비스의 복잡도를 줄일 수 있습니다.


클라이언트가 서버로부터 필요한 파일, 연결, 웹 페이지 등과 같은 자원을 프록시 서버에 요청하면 프록시 서버는 클라이언트와의 사이에서 대신 통신을 수행합니다.

프록시 서버에는 클라이언트로부터 원격에 요청된 자원들이 캐시되어 임시로 저장되어 있어 이같이 중계자 역할을 할 수 있습니다. 클라이언트는 자원 재요청 시 원격 서버에 접속할 필요 없이 프록시 서버 내의 정보를 제공받을 수 있으며, 따라서 데이터 전송 시간과 외부 트래픽이 줄어들고 서버 측의 네트워크 병목 현상을 방지할 수 있습니다.


또한 보안적인 측면에서는 프록시 서버 측에서 위험이 예상되는 웹 콘텐츠 및 악성코드를 필터링 함으로써 클라이언트 측의 보안을 향상시킬 수 있습니다.


회사 및 중요 기관에서는 보안 유지를 위해 내부 통신과 외부 데이터 접근(특정 사이트 접근 차단)을 통제하고 인터넷 이용률 통계를 수집하기 위해 프록시 서버를 사용하기도 합니다. 따라서 로그가 남기 때문에 분석을 하는데 사용할 수 있습니다.

역기능으로는 사용자의 입장에서 자신의 웹 서핑 기록을 익명화하기 위해 익명 웹 프록시(anonymizer)를 사용합니다. 중계서버를 거쳐서 넘어가기 때문에 자신의 IP기록이 남지 않게 만들 수 있습니다.

 

프록시 서버 종류

포워드 프록시(forward proxy) : 프록시 서버가 클라이언트와 원격 서버 사이의 네트워크 상 어디에든 위치할 수 있습니다. 클라이언트는 원격의 목적지 서버의 주소를 기반으로 자원을 요청하고 프록시 서버는 그 주소를 받아 목적지 서버에 연결을 하고 자원을 가져옵니다. , 프록시 서버는 클라이언트가 알려주기 전에 목적지 서버의 주소를 알지 못합니다.


리버스 프록시(reverse proxy) : 프록시 서버가 사설 네트워크(private network) 상의 서버들 바로 앞단의 프론트엔드(front-end)에 위치하여 서버들을 제어하고 보호합니다. 클라이언트는 리버스 프록시 서버의 주소를 목적지 서버로 하여 데이터를 요청합니다.

클라이언트에게 리버스 프록시 서버는 일반적인 보통 서버로 보이게 됩니다. 리버스 프록시 서버는 클라이언트의 요청에 따라 자신의 뒷쪽(reverse)에 있는 적합한 서버에 데이터 요청을 전달하고 응답된 데이터를 클라이언트로 전달합니다.

따라서 리버스 프록시 서버는 자신의 뒷쪽에 있는 실제 서버들에 대한 주소를 유지하고 있어야 합니다. 리버스 프록시는 보안이나 암호화를 위해서 사용되기도 하고, 뒷단의 서버들에 대한 요청을 로드밸런싱을 위해서 사용되기도 합니다.


오픈 프록시(open proxy) : 모든 인터넷 사용자가 액세스 할 수 있는 프록시 서버로 익명 공개 프록시는 사용자가 웹 브라우징을 하거나 다른 인터넷 서비스를 사용하는 동안 자신의 IP 주소를 숨길 수 있도록 해줍니다. 역기능을 위해 사용하는 기능들은 이것을 이용하는 것입니다. IP추적을 방지하거나 우회해서 접속하는 기능을 수행할 수 있습니다.

 

프록시 서버의 사용목적

익명으로 컴퓨터를 유지 할 수 있습니다. 프록시 서버를 통해 한 단계의 보안을 더 할 수 있기 때문에 컴퓨터 보안을 유지할 수 있습니다. 캐시를 사용하여 리소스로의 접근을 빠르게 하기 위해 사용합니다. 웹 프록시는 웹 서버로부터 웹 페이지를 캐시로 저장하는 데 흔히 쓰이며 캐싱을 통해 콘텐츠를 빠르게 가져올 수 있습니다.


네트워크 서비스나 콘텐츠로의 접근 정책을 적용하기 위해서 사용합니다. 또한 사용률을 기록하고 검사하기 위해 사용할 수 있습니다. 이것은 관리자 입장에서 사용하는 것이며 접근제어로서 사용할 수 있습니다. 관리자 입장에서는 편할 수 있습니다.


보안 및 통제를 뚫고 나가기 위해 사용할 수 있습니다. 또한 역으로 IP추적을 당하지 않을 목적으로 사용합니다. 역기능이긴 하지만 우회를 할 수 있도록 합니다. 또한 바이러스 전파, 악성 루머 전파, 다른 정보들을 빼낼 목적으로도 사용가능 합니다. 하지만 네트워크에 대한 이해가 없으면 제대로 사용할 수 없습니다.


전달에 앞서 악성 코드를 목적으로 전달된 콘텐츠를 검사하기 위해 사용할 수 있습니다. 악성코드가 있다면 콘텐츠를 검사하는데 검출할 수 있습니다. 따라서 한 단계의 중계서버를 거치므로 콘텐츠를 검사하는데 유용하게 사용할 수 있습니다.


밖으로 나가는 콘텐츠를 검사하기 위해 사용합니다. 중계 서버인 프록시 서버를 거치기 때문에 콘텐츠를 검사할 수 있습니다. 지역 제한을 우회하기 위해 사용할 수 있습니다. IP를 바꾸어 국가까지 바꾸어서 사용할 수 있습니다.

 

댓글