TOPIC/General

#01 Proxy(프록시) 서버란?

admin_cloud 2024. 7. 31. 15:19

안녕하세요. TAK 입니다:)

 

이번 포스팅은 Proxy(프록시) 서버란 무엇인지 알아보겠습니다.🤞

 

Proxy(프록시) 서버라는 단어는 네트워크 관련 주제에서 빠지지 않고 등장하는 용어인데, 낱낱이 살펴보겠습니다!


1. Proxy(프록시) Server란?

1-1. Proxy(프록시) 의미

Proxy 라는 단어의 뜻을 먼저 살펴보면, "대리∙신(권)" 또는 "대리∙신의"이라는 의미인 것을 알 수 있습니다.

즉, 개념적인 용어로 특정 기능을 수행하는 역할이라고 표현할 수 있습니다.

 

이러한 일반적인 개념을 IT Network 영역에 적용하여 

"클라이언트 요청을 다른 서버로 전달하고 그 결과를 클라이언트에게 반환하는 중계 역할" 하는 것을 "Proxy Server" 라고 합니다.

 

1-2. Proxy(프록시) 서버

좌 : https://www.fortinet.com/content/dam/fortinet/images/cyberglossary/proxy-server-1.jpeg 우 : https://data-flair.training/blogs/wp-content/uploads/sites/2/2022/01/mechanism-of-proxy-server.webp

 

위에 정의한 것을 다시 설명하자면, 클라이언트가 Proxy Server를 통해 다른 네트워크의 서비스에 간접적으로 액세스 할 수 있도록 해주는 컴퓨터 시스템이나 응용 프로그램을 말합니다. 

 

즉, 클라이언와 서버 간 중계기로써 대리로 통신을 수행하는 것을 지칭하며 Proxy Server 이므로 물리적 혹은 가상 서버입니다.

 

Proxy Server 는 다양한 용도로 사용될 수 있습니다.

 

전에 포스팅한 CDN 과 비슷하게 캐시를 이용하여 클라이언트의 요청에 빠른 응답을 가능케 하고 이는 웹 브라우징의 속도를 향상합니다. 또한, 보안을 위한 방화벽 기능, 서버의 IP 주소를 숨기기 위한 익명화 등 다양한 네트워크 및 보안 기능을 제공합니다.

 

1-3. Proxy(프록시) 서버 특징

Proxy Server는 다음과 같은 특징을 가집니다. 아래 항목들은 Proxy Server의 종류에 따라 달라질 수 있습니다.

  • 특징
    • 중계 역할 :클라이언트의 요청을 대신하여 서버에 전달하고, 서버의 응답을 클라이언트로 전달합니다.
      다만, 서버를 관리하고 설정하는 과정이 복잡할 수 있으며, 상용 프로그램 사용 시에 추가 비용이 발생할 수 있습니다.
    • 캐싱 기능 : 자주 요청되는 웹 페이지나 데이터를 캐시에 저장하여 같은 요청이 있을 때 더 빠르게 응답할 수 있습니다. 이를 통해 네트워크 대역폭을 절약하고 응답 시간을 단축시킵니다.
    • 보안 강화 : 클라이언트의 IP를 숨겨 익명성을 제공하고, 악성 사이트에 대한 접근을 차단할 수 있습니다. 또한, HTTPS 프록시는 암호화된 트래픽을 검사하여 보안을 강화할 수 있습니다.
    • 콘텐츠 필터링 : 특정 웹 사이트나 콘텐츠에 대한 접근을 차단하거나 제한할 수 있습니다. 이는 기업이나 학교에서 사용자가 부적절한 사이트에 접속하는 막는 데 사용될 수 있습니다.
      다만, 일부 웹 사이트나 서비스는 Proxy Server를 통한 접근을 차단할 수도 있습니다. 이는 익명화 Proxy나 지역 제한 우회를 위한 Proxy 사용 시 발생할 수 있습니다.
    • 로깅 및 모니터링 : 사용자의 웹 활동을 기록하고 모니터링할 수 있습니다. 이를 통해 네트워크 사용 패턴을 분석하고 보안 위협을 감지할 수 있습니다.
      다만, 운영자가 사용자 트래픽을 모니터링할 수 있기에 프라이버시 침해의 우려가 있을 수 있습니다.
    • 속도 저하 가능성 : 모든 트래픽이 Proxy Server를 거친다면, 서버의 성능에 따라 전체 네트워크 속도가 저하될 가능성이 있습니다.

 

1-4. Proxy(프록시) 서버 종류

Proxy Server는 다양한 유형으로 나뉘며, 각 유형은 목적에 따른 동작 방식을 통해 작동합니다.

즉, 네트워크 상 어디에 위치하는지 또는 네트워크 흐름이 어느 방향으로 데이터는 제공(혹은 요청) 하는지에 따라 달라집니다.

 

이는 Forward Proxy 와 Reverse Proxy 가 일반적이고 대표적으로 구분됩니다.

 

 

아래 항목들을 통해, 다양한 Proxy Server 유형과 간단한 다이어그램을 살펴보겠습니다.

  • 웹 프록시(Web Proxy)
     
    • 주로 HTTP, HTTPS 트래픽을 처리하는 Proxy Server 입니다.
    • 클라이언트의 웹 요청을 받아 원격 서버에 전달하고, 응답을 클라이언트에서 반환합니다.
    • 웹 사이트 접근 시, 보안과 익명성을 제공하고 특정 웹 사이트를 차단하거나 허용하는 데 사용합니다.
    • 브라우저(Firefox, Chrome) 에서 웹 프록시를 사용할 수 있습니다.

 

  • 캐싱 프록시 (Caching Proxy)
    • 클라이언트 요청에 대한 응답 데이터를 캐시에 저장하여 동일한 요청에 다시 들어오면 캐시에 직접 데이터를 제공합니다.
    • 이는 네트워크 대역폭을 절약하고 응답 시간을 단축합니다.
    • 주로 자주 요청되는 데이터를 효율적으로 제공하기 위해 사용됩니다.

 

  • 포워드(정방향) 프록시 (Forward Proxy)
    • 클라이언트와 인터넷 사이에 위치하여 클라이언트의 요청을 대신 처리하고, 원격 서버의 응답을 클라이언트에게 전달합니다.
    • 위 그림과 같이 내부 네트워크의 클라이언트의 요청으로 외부 서버의 데이터는 가져와 응답하는 형식으로 일반적으로 Proxy Server라는 것을 포워드(정방향) 프록시라고 부릅니다. 
    • 주로 내부 네트워크 사용자가 외부 인터넷에 접근할 때 사용되며, 사용자의 신원을 숨기고 익명성을 보장합니다.
    • 보안, 캐싱, 콘텐츠 필터링 등의 기능을 제공합니다.

 

  • 리버스(역방향) 프록시 (Reverse Proxy)
    • 원격 서버(목적지) 앞단에 위치하여 외부 클라이언트의 요청을 받아 적절한 내부 서버로 전달합니다.
    • 서버(목적지)를 외부 트래픽으로부터 보호하여 보안을 강화합니다.
    • 앞단에 위치하고, 외부 트래픽으로 보호한다는 것은 해당 Proxy Server 가 실제 내부 네트워크에 위치한 서버와는 다른 네트워크 환경에 위치함을 시사합니다.
    • 즉, 리버스(역방향) 프록시의 경우, 흔히 얘기하는 DMZ 하는 내/외부 네트워크 사이에 위치함으로써 내부 서버와네트워크 상 구분되어 있으며 이는 보안 이슈를 최소화하고자 함입니다.
    • 여러 서버에 트래픽을 분산시키는 로드 밸런싱을 통해 각 서버의 부하를 줄임으로써 성능 최적화 합니다.

 

  • 오픈(공개) 프록시 (Open Proxy)
    • 누구나 접근할 수 있는 공개 Proxy Server 입니다.
    • 즉, 인터넷상 모든 사용자가 접근할 수 있으며, 이를 통해 자신의 IP 주소를 남기지 않고 익명으로 활동할 수 있습니다.
    • 다만, 이러한 서버는 크래킹, 악성 코드 또는 바이러스 유포 등 불법 행위에 악용되기 쉽습니다.

 

  • 투명 프록시 (Transparent Proxy)
    • "투명"이라는 말 그대로 클라이언트가 Proxy Server 를 사용하고 있다는 것을 인식하지 못합니다.
    • 모든 트래픽이 자동으로 투명 프록시 서버를 통해 라우팅 됩니다.
    • 이는 네트워크 레벨에서의 설정으로 네트워크 관리자에 의해 라우터나 스위치에서 설정됩니다.
    • 서버(목적지)를 외부 트래픽으로부터 보호하여 보안을 강화합니다. 

 

  • 익명 프록시(Anonymous Proxy)
    • 클라이언트의 실제 IP 주소를 숨기고 프록시 서버의 IP 주소로 대체하여 원격 서버(목적지)에 요청을 보냅니다.
    • 이를 통해 사용자의 신원을 숨기고, 익명성을 유지하여 프라이버시 보호에 사용될 수 있습니다.

 

  • 소켓 프록시(SOCKS Proxy)
    • HTTP/HTTPS 이외에도 FTP, SMTP 등 다양한 프로토콜을 지원합니다. 이는 소켓 레벨에서 작동하기 때문에 특정 프르토콜에 종속되지 않습니다.
    • 또한, 기본적인 인증 메커니즘을 지원하여 사용자 인증을 통해 보안을 강화할 수 있습니다. 즉, 허가된 사용자만 프록시 서버를 사용할 수 있게 합니다.
    • 이를 통해 클라이언트와 서버 사이의 모든 데이터를 중계합니다.
    • 다양한 프로토콜이 지원되므로 여러 프로토콜에 대해 네트워크 연결 테스트를 할 수 있으며, 방화벽 규칙을 적용하여 특정 네트워크에 액세스 하는 데 사용될 수 있습니다.

지금까지 "#01 Proxy(프록시) 서버란?" 을 통해 Proxy Server의 개념과 유형 등을 알아보았습니다.

다음 편에는 "#02 Proxy(프록시) 서버 구축"으로 돌아오겠습니다 🙉 (!!많관부!!)

자유로운 의견을 남겨주세요!

728x90
320x100
SMALL

'TOPIC > General' 카테고리의 다른 글

CDN(Content Delivery Network)란?  (0) 2024.07.01
[경영정보시각화능력] 자격증 소개  (0) 2024.03.20
CKAD 시험 후기  (0) 2024.03.04
SSL/TLS 알아 보기  (1) 2024.01.05