프록시(Proxy) 서버

프록시(Proxy)란?

  • 프록시 : 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것
  • 프록시 서버 : 그 중계 기능을 하는 것,클라이언트가 프록시 서버를 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램을 말한다.

프록시 서버의 장점

프록시 서버 중 일부는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장할 수 있다. 캐시 안에 있는 정보를 요구하는 요청에 대해서는 원격 서버에 접속하여 데이터를 가져올 필요가 없게 됨으로 전송 시간을 절약할 수 있고 불필요하게 외부와 연결을 하지 않아도 되는 장점이 있다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지하는 효과도 얻을 수 있게 된다.

📎 참고) 병목 현상 : 전체 시스템의 성능이나 용량이 하나의 구성 요소로 인해 제한을 받는 현상

프록시 서버의 종류

Forward Proxy(포워드 프록시)

프록시 서버가 클라이언트와 원격 서버 사이의 네트워크 상 어디에든 위치할 수 있다. 클라이언트는 원격의 목적지 서버의 주소를 기반으로 자원을 요청하고 프록시 서버는 그 주소를 받아 목적시 서버에 연결하고 자원을 가져온다. 즉, 프록시 서버는 클라이언트가 알려주기 전까지 목적지 서버의 주소를 알지 못한다.

Reverse Proxy(리버스 프록시)

프록시 서버가 사설 네트워크(Private Network) 상의 서버들 바로 앞단의 프론트엔드에 위치하여 서버들을 제어하고 보호한다. 클라이언트는 리버스 프록시 서버의 주소를 목적지 서버로 하여 데이터를 요청한다. 관련 클라이언트들을 위해 임의의 서버에 접속하는 중간 매개체인 포워드 프록시(forward proxy)와는 반대로, 리버스 프록시는 관련 서버들을 위해 임의의 클라이언트가 해당 서버에 접속하는 중간 매개체이다. 널리 보급된 웹 서버들은 리버스 프록시 기능을 사용하는 일이 잦으며 취약한 HTTP 기능의 애플리케이션 프레임워크를 보호한다.

Open Proxy(공개 프록시 또는 오픈 프록시)

누구나 자유롭게 접속하여 사용할 수 있는 프록시 서버로 사용자가 웹 브라우징을 하거나 다른 인터넷 서비스를 사용하는 동안 자신의 IP주소를 숨겨서 익명으로 활동할 수 있다. IP추적을 방지하거나 우회해서 접속하는 기능을 수행할 수 있지만 크래킹, 악성 코드 또는 바이러스 유포, 불법 행동 등에 악용되기 쉽다. 따라서, 많은 프로그램은 공개 프록시를 검출하여 사용을 금지하는 방법을 사용한다.

프록시 서버의 목적

프록시 서버의 사용 목적은 잠재적으로 다양하다:

  • 익명으로 컴퓨터를 유지 (주로 보안을 위하여)
  • 캐시를 사용하여 리소스로의 접근을 빠르게 하기 위해. 웹 프록시는 웹 서버로부터 웹 페이지를 캐시로 저장하는 데 흔히 쓰인다.
  • 네트워크 서비스나 콘텐츠로의 접근 정책을 적용하기 위해. (이를테면 원치 않는 사이트를 차단)
  • 사용률을 기록하고 검사하기 위해 (이를테면 회사는 인터넷 이용을 파악)
  • 보안 및 통제를 뚫고 나가기 위해
  • 바이러스 전파, 악성 루머 전파, 다른 정보들을 빼낼 목적으로
  • 역으로 IP추적을 당하지 않을 목적으로
  • 전달에 앞서 악성 코드를 목적으로 전달된 콘텐츠를 검사하기 위해
  • 밖으로 나가는 콘텐츠를 검사하기 위해 (데이터 유출 보호)
  • 지역 제한을 우회하기 위해

참고