Computer Science/[ Network ]

[ Network ] 11. Proxy Server란?

kim.svadoz 2020. 11. 4. 17:35
반응형

Proxy Server


네트워크 프로그램의 일종으로서 클라이언트 기준으로 방화벽을 넘어가서 서버와 클라이언트 간에 인터넷으로 직접 접속을 허용하여 특정 서비스를 중계해주는 역할을 하는 구조물이다.

프록시 서버는 서버에 있는 소켓을 열고, 그 소켓을 통해 인터넷으로의 통신을 허용한다.

예를 들어, 사용자의 컴퓨터가 보호받는 네트워크의 안쪽에 있고, 웹 브라우저를 사용하여 웹 검색을 하고 싶다면 방화벽 상에서 Proxy Server를 설정해야 한다.

클라이언트는 필요한 서비스를 프록시 서버에 요청하고, 서버는 클라이언트의 요청에 따라 외부 네트워크와 연결해주는 서비스 중계 역할을 한다.

클라이언트(자신의 컴퓨터)와 서버(목적지) 사이 데이터를 중계하는 중간 서버 역할!!

  • 보통 어떤 서버에 우회 접속하거나 내 아이피 주소를 숨기면서 인터넷을 사용할 목적으로 많이 이용 하지만 그것 외에 캐시, 방화벽, 보안 등에도 이용한다.

  • 캐시는 접속했던 사이트를 중간에 저장해 두었다가 다시 접속할 때 빠르게 접속/이용할 수 있게 해주는 기능이다.

  • 방화벽이나 보안 기능은 아이피, 포트 ,사이트를 필요 시 차단이나 제한 등 여러가지 설정을 응용하여 보안에 응용할 수 있다.

  • 보통 프록시 서버를 이용하면 평소보다 속도가 훨씬 느려지는데 그것은 우회접속(아이피 숨기기)를 위해 프록시를 사용하는 데 외국 프록시 서버를 이용하기 때문이다.

    (프록시 서버의 위치에 따라 속도 차이가 난다!)

  • 자기 아이피 주소를 숨긴다는 말은 프록시 서버를 이용하여 목적지 서버에 접속하면 목적지 서버에 남는 로그에 프록시서버의 주소가 남는다는 것이다. 때문에, 목적지에서는 내가 아닌 프록시 컴퓨터가 접속한 것으로 아는 것!

  • 피시방에서 집에있는 내컴퓨터로 원격접속하여 어떤 사이트에 접속하는 것과 마찬가지다.

  • 프록시서버에는 내가 어떤사이트나 서버에 접속했는지 로그에 남아서 역추적이 가능하다.

  • 프록시 서버를 이용하려면 자신의 pc에 직접 msproxy나 리눅스에 squid 같은 프로그램을 설치하여 서버를 구성하여 이용할 수도 있지만, 공개된 해외 프록시 서버를 이용해도 된다.

  • 요즘 해외 프록시는 프록시 서버 아이피를 알려주는 곳도 있고 바로 프록시를 이용할 수 있는 웹 프록시 사이트도 있다.

  • 프록시 서버에서

    • Latency : 반응시간으로 낮을수록 좋고
    • Type : Transparent Proxy, Anonymous Proxy, Elite Proxy (T<A<E) 순으로 숨기기 능력이 강력하고 큰 의미는 없다.
    • SSL : 보안상 있는 것이 좋다.
    • Uptime(가동시간) : 높을수록 좋다

Proxy Server

Proxy는 자신을 통해 다른 네트워크에 간접적으로 접속할 수 있도록 해주는 컴퓨터나 프로그램을 말한다.

즉, 클라이언트의 요청을 중계하는 일을 하는 컴퓨터/프로그램으로 생각하면 될 것이다.

이 때 중계하는 프로그램을 Proxy Program이라 한다. 이러한 프로그램은 서버로서 작동하기 때문에 일반적으로 Proxy Server라고 한다.

Proxy는 요청의 중계라는 추상적 과정을 가르킨다. 때문에 중계의 목적, 중계의 위치, 중계의 방법에 따라 다양한 Proxy Server가 존재한다.

이러한 Proxy Sever의 목적은 아래와 같다.

  1. 보안 : 익명의 사용자가 서버에 접근하는 것을 막는다.

  2. 속도 : Proxy server는 사용자의 요청을 Cache해서 동일 요청이 들어오면 Cache자원을 반환한다. 이는 서비스의 속도를 높여준다.

  3. ACL : 사이트 접근에 대한 접근 정책을 정의할 수 있다.

    (ACL = Proxy Server에 접속할 수 있는 범위를 설정하는 옵션)

  4. Log/Audit : 회사 내 직원의 인터넷 사용을 레포팅할 수 있다. 반대로 인트라넷 사용을 레포팅 할 수도 있다.

  5. 지역 네트워크의 제한 우회 : 보안상의 이유로 80포트 외에 포트를 막아 놓는 경우가 있는데, 이러한 제한을 우회하여 원하는 다른 서비스를 이용할 수 있다.

Proxy의 종류

  1. Caching Proxy Server
    • 이전 클라이언트의 요청 내용과 응답 컨텐츠를 저장해 두었다가 동일한 요청이 들어오면 저장된 컨텐츠를 전송한다.
    • 이 방법을 이용하면 트래픽을 줄이고 성능을 높일 수 있다.
    • 비용을 아낄 수 있기 때문에 ISP와 큰 규모의 회사들은 Caching Proxy를 자주 사용한다.
    • 널리 사용되고는 있지만 잘못 구현된 Caching Proxy의 구현은 유저 인증에서 문제가 발생하기도 한다.
  2. Web Proxy
    • World Wide Web 트래픽에 초점이 맞춰진 Proxy서버를 말한다.
    • Web Proxy의 가장 일반적 형태는 Web Cache이다.
    • 어떤 Proxy서버는 핸드폰, PDA에 맞게 웹 서버의 컨텐츠를 변환하는 일을 하기도 한다.
  3. Foward Proxy
    • 일반적으로 사용되는 Proxy방식이다.
    • Proxy 서버는 클라이언트와 애플리케이션 서버 사이에 위치하여 클라이언트가 타겟인 서버에 애플리케이션 서비스를 요청할 때, Proxy서버로 요청을 보내게 된다.
    • 그러면 Proxy서버가 타겟인 서버로 요청을 중계하게 된다.
  4. Reverse Proxy
    • 기본적 구성은 Forward Proxy와 동일하지만, 클라이언트는 Proxy Server 배후에 있는 타겟서버의 URL이 아닌 Proxy Server의 URL로 요청한다.
    • 이를 통해 애플리케이션 서버는 외부로부터 감추어지게 되는 효과를 얻게 된다.
반응형