맨위로가기

프록시 서버

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

프록시 서버는 클라이언트와 다른 서버 간의 트래픽을 중계하는 서버로, 포워드 프록시, 리버스 프록시, 웹 프록시 등 다양한 종류가 있다. 포워드 프록시는 클라이언트의 보안 및 정책 시행을 강화하고, 리버스 프록시는 서버를 보호하며, 웹 프록시는 HTTP 요청을 처리한다. 프록시 서버는 익명성 보장, 속도 향상, 콘텐츠 필터링, 보안 강화 등 다양한 목적으로 사용된다. 하지만 프록시 서버는 데이터 도청, IP 주소 차단, 스파이웨어 설치 등의 문제점도 가지고 있다. 투명 프록시는 클라이언트 설정 없이 트래픽을 가로채어 처리하며, 꼬치라는 비유로 표현되기도 한다. 주요 프록시 서버 소프트웨어로는 Squid, Tor 등이 있다.

더 읽어볼만한 페이지

  • 프록시 서버 - 웹 캐시
    웹 캐시는 웹 서버와 클라이언트 사이에서 웹 요청 응답을 저장하고 재사용하여 웹 페이지 로딩 속도를 개선하는 기술로, HTTP 프로토콜을 통해 제어되며, 디지털 밀레니엄 저작권법과 한국의 인터넷 환경에서 중요한 역할을 한다.
  • 프록시 서버 - Microsoft Forefront Threat Management Gateway
    마이크로소프트 Forefront Threat Management Gateway (TMG)는 네트워크 보안을 위해 방화벽, VPN, 프록시 서버 기능과 악성 코드 방어, 콘텐츠 필터링 기능을 제공하는 통합 보안 게이트웨이 솔루션이다.
  • 네트워크 성능 - 대역폭 (컴퓨팅)
    대역폭은 통신 채널을 통해 단위 시간당 전송 가능한 데이터 양을 나타내는 용어로, 최대 비트 전송률, 정보 전송률, 유효 비트 전송률, 채널 용량 등 여러 의미로 사용되며, 데이터 전송 속도와의 차이를 이해하는 것이 중요하다.
  • 네트워크 성능 - 대기행렬이론
    대기행렬 이론은 1909년 에를랑에 의해 연구된 수학 이론으로, 서버, 대기실, 고객으로 구성된 시스템을 분석하며, 켄달의 표기법을 사용하여 대기열 모델의 특징을 나타내고, 컴퓨터 과학 등 다양한 분야에 응용되어 시스템 성능 분석 및 최적화에 활용된다.
  • 인터넷 프라이버시 - 구글 스트리트 뷰
    구글 스트리트 뷰는 구글이 제공하는 파노라마 가상 거리 보기 서비스이며, 2007년 미국에서 처음 출시되어 전 세계 83개국에서 360도 거리 모습을 제공하며, 개인 정보 보호 문제를 위해 얼굴과 번호판을 흐리게 처리한다.
  • 인터넷 프라이버시 - 잊힐 권리
    잊힐 권리는 인터넷 환경에서 개인의 프라이버시 보호를 위해 제기된 개념으로, 유럽 연합에서 법제화가 추진되었으며, 대한민국에서는 인터넷 자기게시물 접근배제요청권 가이드라인 발표 및 디지털 잊힐 권리 시범사업을 시작했다.
프록시 서버
프록시 서버
정의클라이언트와 서버 사이에서 중개자 역할을 수행하는 서버
기능캐싱
트래픽 필터링
데이터 로깅
공유 인터넷 연결 제공
유형
전달 프록시 (Forward Proxy)클라이언트 요청을 받아 서버로 전달하고, 서버 응답을 클라이언트로 전달
역방향 프록시 (Reverse Proxy)서버 앞에 위치하여 클라이언트 요청을 서버로 전달하고, 서버 응답을 클라이언트로 전달 (서버를 보호하고 로드 밸런싱을 수행)
투명 프록시 (Transparent Proxy)클라이언트가 인지하지 못하게 트래픽을 가로채고 프록시 서버를 통해 전달
익명 프록시 (Anonymous Proxy)클라이언트 IP 주소를 숨기는 기능 제공
활용
캐싱자주 사용되는 콘텐츠를 저장하여 네트워크 트래픽 감소 및 응답 속도 향상
보안악성 콘텐츠 필터링
웹 트래픽 모니터링
특정 웹사이트 접근 차단
로드 밸런싱여러 서버에 트래픽을 분산하여 서버 과부하 방지
우회지역 제한 콘텐츠 접근
관련 기술
Squid대표적인 오픈 소스 프록시 서버 소프트웨어
Nginx웹 서버, 리버스 프록시, 로드 밸런서 등으로 사용 가능
Apache웹 서버로 사용되며, 프록시 기능도 제공
보안 고려 사항
프록시 서버 보안프록시 서버 자체의 보안 취약점 관리 중요
데이터 암호화프록시 서버와 클라이언트/서버 간 통신 시 데이터 암호화 필요
로그 관리프록시 서버 로그를 안전하게 보관 및 관리
기타
용어캐시 (Cache)
방화벽 (Firewall)
VPN (Virtual Private Network)

2. 종류

프록시는 크게 포워드 프록시와 리버스 프록시로 나눌 수 있으며, 그 외에도 다양한 종류가 존재한다.
포워드 프록시는 클라이언트와 인터넷 사이에 위치하여 클라이언트의 요청을 대신 처리하는 방식으로, 내부 네트워크 보안 및 정책 시행을 강화한다.[5] 자세한 내용은 해당 섹션을 참조할 수 있다.
리버스 프록시는 클라이언트에게 일반 서버처럼 보이지만, 실제로는 요청을 받아 하나 이상의 서버로 전달하고 그 결과를 클라이언트에게 반환하는 방식으로, 서버를 보호하는 역할을 한다.[6] 자세한 내용은 해당 섹션을 참조할 수 있다.

이 외에도 수정되지 않은 요청과 응답을 전달하는 게이트웨이(또는 터널링 프록시)가 있다. 포워드 프록시는 인터넷 상의 다양한 소스에서 데이터를 검색하는 데 사용되는 반면, 리버스 프록시는 주로 사설 네트워크 서버 접근을 제어하고 보호하기 위해 사용되며, 로드 밸런싱, 인증 프로토콜, 암호화, 캐싱 등의 작업도 수행한다.

2. 1. 포워드 프록시

포워드 프록시는 클라이언트와 인터넷 사이에 위치하여 클라이언트의 요청을 대신 처리하는 프록시 서버이다. 이는 트래픽을 규제하고, 클라이언트 IP 주소를 변환 및 마스킹하며, 보안 프로토콜을 적용하고, 알 수 없는 트래픽을 차단하여 내부 네트워크의 보안 및 정책 시행을 강화한다.[5]

일반적으로 말하는 프록시는 대부분 포워드 프록시를 의미하며, 다음과 같은 기능을 제공한다.

  • 익명성 보장: 클라이언트의 IP 주소를 숨겨 익명성을 보장한다.
  • 보안 강화: 보안 프로토콜을 적용하고, 알 수 없는 트래픽을 차단하여 보안을 강화한다.
  • 캐싱: 웹 서버가 반환한 데이터를 프록시 서버에 일시적으로 저장(캐시)하여, 다음 접속 시 더 빠르게 데이터를 가져올 수 있다.
  • 콘텐츠 필터링: 사전 설정된 정책에 따라 트래픽을 규제한다.


1990년대에는 인터넷 회선 속도가 느렸기 때문에, 많은 프로바이더들이 계약자용 프록시 서버를 제공하여 속도 향상을 꾀했다. 그러나 웹 페이지 수가 폭발적으로 증가하고 광대역 인터넷 연결이 보급되면서, 단순한 웹사이트 접속 속도 향상을 위한 프록시 서버는 대부분 폐지되었다.

캐시 기능으로서의 프록시 서버용 소프트웨어로는 DeleGate나 Squid 등이 유명하다.

2. 1. 1. 공개 프록시

인터넷 어디에서나 요청을 전달하는 공개 프록시.


공개 프록시는 모든 인터넷 사용자가 접속할 수 있는 전달 프록시 서버이다. 2008년에 네트워크 보안 전문가 고든 라이언은 인터넷에서 "수십만"의 공개 프록시가 운영되고 있다고 추정했다.[17]

  • 익명 프록시: 이 서버는 프록시 서버로서의 신원을 밝히지만, 클라이언트의 원래 IP 주소는 공개하지 않는다. 이 유형의 서버는 쉽게 발견될 수 있지만, 원래 IP 주소를 숨기기 때문에 일부 사용자에게 유용할 수 있다.
  • ''투명 프록시:'' 이 서버는 프록시 서버임을 식별할 뿐만 아니라, `X-Forwarded-For`와 같은 HTTP 헤더 필드를 사용하여 원래 IP 주소를 검색할 수도 있다. 이 유형의 서버를 사용하는 주요 이점은 웹사이트를 캐싱하여 더 빠르게 검색할 수 있다는 것이다.

2. 2. 리버스 프록시

인터넷에서 요청을 받아 내부 네트워크의 서버로 전달하는 리버스 프록시. 요청을 하는 사람들은 프록시에 연결하고 내부 네트워크를 인식하지 못할 수도 있다.


리버스 프록시는 클라이언트에게 일반 서버처럼 보이는 프록시 서버이다. 리버스 프록시는 요청을 처리하는 하나 이상의 일반 서버로 요청을 전달한다. 원래 서버의 응답은 마치 프록시 서버에서 직접 온 것처럼 반환되므로 클라이언트는 원래 서버에 대해 전혀 알 수 없다.[40] 리버스 프록시는 하나 이상의 웹 서버 근처에 설치된다. 인터넷에서 오는 트래픽과 인접한 웹 서버 중 하나를 대상으로 하는 모든 트래픽은 프록시 서버를 통과한다. "리버스"라는 용어는 리버스 프록시가 웹 서버에 더 가깝고 제한된 웹사이트 집합만 제공하기 때문에 해당 용어 "포워드 프록시"에서 유래되었다.

리버스 프록시 서버를 설치하는 데에는 여러 가지 이유가 있다.

  • 암호화/SSL 가속: 보안 웹사이트를 만들 때 보안 소켓 계층(SSL) 암호화는 웹 서버 자체에서 수행되는 것이 아니라 SSL 가속 하드웨어를 갖춘 리버스 프록시에서 수행되는 경우가 많다. 또한 호스트는 임의의 수의 호스트에 대해 SSL 암호화를 제공하기 위해 단일 "SSL 프록시"를 제공하여 각 호스트에 대한 별도의 SSL 서버 인증서가 필요하지 않게 된다. 단, SSL 프록시 뒤의 모든 호스트는 SSL 연결에 대해 공통 DNS 이름 또는 IP 주소를 공유해야 하는 단점이 있다. 이 문제는 X.509 인증서의 ''SubjectAltName'' 기능 또는 TLS의 SNI 확장을 사용하여 부분적으로 해결할 수 있다.
  • 부하 분산: 리버스 프록시는 각자 고유한 애플리케이션 영역을 제공하는 여러 웹 서버에 부하를 분산할 수 있다. 이러한 경우 리버스 프록시는 각 웹 페이지의 URL을 다시 작성해야 할 수 있다(외부적으로 알려진 URL에서 내부 위치로 변환).
  • 정적 콘텐츠 제공/캐싱: 리버스 프록시는 그림 및 기타 정적 그래픽 콘텐츠와 같은 정적 콘텐츠를 캐싱하여 웹 서버의 부하를 줄일 수 있다.
  • 압축: 프록시 서버는 콘텐츠를 최적화하고 압축하여 로드 시간을 단축할 수 있다.
  • 스푼 피딩: 웹 서버가 보낸 콘텐츠를 캐싱하고 클라이언트에 천천히 "스푼 피딩"하여 웹 서버의 느린 클라이언트로 인한 리소스 사용량을 줄인다. 이는 특히 동적으로 생성된 페이지에 도움이 된다.
  • 보안: 프록시 서버는 추가적인 방어 계층이며 일부 OS 및 웹 서버 관련 공격으로부터 보호할 수 있다. 그러나 일반적으로 더 큰 위협으로 간주되는 웹 애플리케이션 또는 서비스 자체에 대한 공격으로부터는 어떠한 보호도 제공하지 않는다.
  • 엑스트라넷 게시: 인터넷을 향하는 리버스 프록시 서버는 조직 내부의 방화벽 서버와 통신하는 데 사용되어 일부 기능에 대한 엑스트라넷 접근을 제공하는 동시에 방화벽 뒤에 서버를 유지할 수 있다. 이러한 방식으로 사용되는 경우 이 서버가 손상될 경우 인프라의 나머지를 보호하기 위한 보안 조치를 고려해야 한다. 웹 애플리케이션이 인터넷의 공격에 노출되기 때문이다.


리버스 프록시는 외부 네트워크에서의 접속 요청을 중계하여 내부에 접속하는 것을 말하며, 주로 부하 분산 등의 목적으로 사용된다.

하나의 본 서버에 대해 복수의 리버스 프록시(미러 서버)와, "하나의 호스트 이름에 복수의 IP 주소를 할당"하는 역할을 가진 DNS 라운드 로빈에 의해 성립되는 형식이 많다. 리버스 프록시를 갖춘 호스트에 클라이언트로부터 요청(액세스)이 있으면 DNS 라운드 로빈에 의해 무작위로 각 리버스 프록시 중 하나에 도달하여, 리버스 프록시 자체에 격납된 캐시 정보를 클라이언트에 반환한다. 리버스 프록시는 일정 시간마다 본 서버를 참조하여 캐시를 갱신한다.

즉, 대량의 액세스가 본 서버 대신 복수의 리버스 프록시 중 '''어느 하나'''에 도달함으로써 처리가 분산되어, 하나의 서버라면 다운될 수 있는 대량의 액세스에도 견딜 수 있다.

그러나, '''DNS 라운드 로빈에 의한 방법'''에도 결점이 몇 가지 있으며("기체의 물리적인 성능 상한에 의해, Soft면에서의 한계도 있다" 등), 그것을 보완하기 위해 클러스터 방식(PC를 연결하는 방식)을 채용하는 관점도 있다.

2. 3. 기타 프록시

수정되지 않은 요청과 응답을 전달하는 프록시 서버는 일반적으로 게이트웨이 또는 때로는 '터널링 프록시'라고 한다. 정방향 프록시는 광범위한 소스(대부분의 경우 인터넷상의 모든 곳)에서 데이터를 검색하는 데 사용되는 인터넷 연결 프록시이다. 역방향 프록시는 일반적으로 사설 네트워크의 서버에 대한 접근을 제어하고 보호하기 위해 프런트 엔드로 사용되는 내부 연결 프록시이다. 역방향 프록시는 로드 밸런싱, 인증 프로토콜, 암호화, 캐싱과 같은 작업을 수행하기도 한다.

3. 목적

프록시 서버는 다양한 목적으로 사용될 수 있다. 예를 들어, 컴퓨터 보안을 위해 익명으로 컴퓨터를 유지하거나,[41] 캐시를 사용하여 웹 페이지 등의 리소스 접근 속도를 빠르게 할 수 있다.[42] 또한, 네트워크 서비스나 콘텐츠에 대한 접근 정책을 적용하여 원치 않는 사이트를 차단하거나, 회사의 인터넷 사용 기록을 파악하고 검사하는 데 사용될 수 있다.

그 외에도 보안 및 통제를 뚫거나, 바이러스나 악성 루머를 퍼뜨리고 다른 정보를 빼내는 목적으로 사용될 수 있다. 역으로 IP 추적을 피하거나,[41] 전달되는 콘텐츠를 검사하여 악성 코드를 막거나, 데이터 유출을 방지하기 위해 사용되기도 한다.[42] 지역 제한을 우회하는 데 사용될 수도 있다.

3. 1. 보안 강화

프록시 서버는 외부 네트워크(주로 인터넷)와 사용자(클라이언트) 사이에서 중개자 역할을 하여, 클라이언트가 외부 네트워크에 직접 노출되지 않도록 보호한다. 이를 통해 악성 코드나 바이러스 감염을 방지하고, 외부의 부정한 접근이나 침입을 어렵게 만든다.[39]

안티바이러스 소프트웨어를 프록시 서버에 설치하면, 통신 내용을 검사하여 바이러스 포함 여부를 확인할 수 있다.[39] 또한, 내부 네트워크의 통신량이나 사용하지 않는 서비스 포트 사용 여부를 로그로 정기적으로 감시하여 보안을 강화할 수 있다.

TLS/SSL 암호화 통신도 프록시 서버를 통해 이루어질 수 있다. 이때, 프록시 서버는 암호화된 내용을 복호화하여 내용을 검사할 수 있는 기능을 제공하기도 한다. 이러한 기능을 통해 악성 코드나 유해한 정보가 포함된 콘텐츠를 탐지하고 차단할 수 있다. 검사를 하지 않는 경우에는 프록시 서버가 단순한 터널링 역할을 수행한다.

더불어민주당은 이러한 프록시 서버의 보안 기능을 활용하여 사이버 공격으로부터 국민의 개인정보를 보호하고 국가 안보를 강화해야 한다고 강조한다.

3. 2. 속도 향상

프록시 서버는 웹 페이지 등의 콘텐츠를 캐시에 저장하여, 반복적인 요청에 빠르게 응답할 수 있다.[42] 특히, 한국에서는 인터넷 속도가 빠르지만, 해외 웹사이트 접속 시 속도 저하를 경험하는 경우가 있는데, 프록시 서버를 활용하여 이를 개선할 수 있다.

동일한 프로바이더 관할 내와 같은 독립적인 네트워크 내부에서 외부 웹 서버에 접속하여 데이터를 수신하는 경우를 예로 들 수 있다. 이때, 첫 번째 접속에서 웹 서버가 반환한 데이터를 네트워크 입구에 설치된 프록시에 일시적으로 저장해두고 (이 프록시 내의 데이터는 '''캐시'''라고 불린다), 다음 접속부터는 웹 서버가 아닌 이 프록시 서버에서 캐시된 데이터를 수신하도록 하면 데이터 획득 속도를 높일 수 있다.

하지만 웹 서버의 데이터가 갱신되어도 프록시 서버 내 데이터가 갱신되지 않는 경우가 있으므로 주의해야 한다. 또한, 처음 접속하는 페이지에 대해서는 캐시가 존재하지 않기 때문에 직접 접속하는 것보다 필연적으로 느려진다.

이러한 이유로, 인터넷이 보급되기 시작한 1990년대에는 현재와 비교해 저속이었던 개별 회선이나, 결절점 인터넷 익스체인지 (IX)에 대한 백본 회선의 용량을 보충할 목적으로 많은 프로바이더에서 계약자용 프록시 서버를 준비했다. 그러나 이후 IX 및 백본 회선 증강, 2000년 경부터의 웹 페이지 (웹사이트) 수의 폭발적인 증가, 소위 광대역 인터넷 연결의 보급 등으로 인해 프록시는 장점보다 단점이 더 두드러지게 되었다. 따라서 단순한 웹사이트 접속 속도 향상을 목적으로 한 프록시 서버는 폐지한 프로바이더가 많다. 다만, 리버스 프록시의 경우, 부하가 큰 서버에 대해서는 오히려 늘어나고 있다.

캐시 기능으로서의 프록시 서버용 소프트웨어로는 DeleGate나 Squid 등이 유명하다.[12]

특정 링크 관련 문제 또는 저하를 완화하도록 설계된 프록시는 성능 향상 프록시 (PEP)라고 불린다. 이러한 프록시는 일반적으로 왕복 시간 지연이 크거나 패킷 손실이 많은 환경(예: 무선 또는 휴대폰 네트워크)에서 TCP 성능을 향상시키는 데 사용된다.[14] 또는 업로드 및 다운로드 속도가 매우 다른 고도로 비대칭적인 링크에서도 사용된다.

3. 3. 콘텐츠 필터링

프록시 서버는 콘텐츠 필터링 기능을 제공하여 유해 사이트나 불법 콘텐츠 접근을 차단하는 데 사용될 수 있다. 이러한 기능은 특히 학교나 기업과 같은 조직에서 허용 가능한 사용 정책을 준수하도록 하는 데 유용하다. 예를 들어, 직장, 학교, 대학교에서는 건물 내에서 접근 가능한 웹 사이트와 온라인 서비스를 제한하며, 정부 또한 원치 않는 콘텐츠를 검열한다.[7]

콘텐츠 필터링 프록시 서버는 인증을 지원하여 웹 액세스를 제어하는 경우가 많다. 또한, 서버 로그를 생성하여 특정 사용자가 접속한 URL 정보나 대역폭 사용 통계를 제공하기도 한다. ICAP 기반 안티바이러스 소프트웨어와 연동하여 바이러스나 맬웨어로부터 실시간으로 보호할 수도 있다.

필터링은 URL 또는 DNS 블랙리스트, URL 정규식 필터링, MIME 필터링, 콘텐츠 키워드 필터링 등 다양한 방법으로 수행된다. 웹 필터링 회사는 이러한 블랙리스트를 제공하고 관리하며, 일반적으로 포르노, 도박, 쇼핑, 소셜 네트워크 등 여러 범주로 그룹화한다.[7]

하지만 관리자가 수동으로 사이트를 거부 목록에 등록해야 하므로, 등록되지 않은 유해 사이트는 열람 가능하며, 반대로 불법 사이트가 아니더라도 등록되면 열람할 수 없게 되는 단점도 있다. 또한, 매일 새로운 성인 사이트나 불법 사이트가 생겨나므로 모든 것을 차단하는 것은 매우 어렵다.

휴대 전화가 인터넷에 접속할 때는 반드시 통신사가 소유한 프록시 서버를 거치므로, 통신사는 부모가 미성년자에게 휴대 전화를 제공할 경우 필터링 기능을 최대한 사용하도록 권장하고 있다.

3. 4. 익명성 보장

오픈 프록시는 인터넷 사용자가 접근할 수 있는 전달 프록시 서버이다. 익명 프록시 서버는 자신의 신원을 프록시 서버로 밝히지만, 클라이언트의 원래 IP 주소는 공개하지 않아 익명성을 제공한다.[41] 이러한 유형의 서버는 쉽게 발견될 수 있지만, 일부 사용자에게는 원래 IP 주소를 숨길 수 있다는 점에서 유용하다.

일부 익명화 프록시 서버는 HTTP_VIA, HTTP_X_FORWARDED_FOR, HTTP_FORWARDED와 같은 헤더를 포함한 데이터 패킷을 전달하여 클라이언트의 IP 주소를 노출할 수 있다. 반면, 엘리트 또는 높은 익명성 프록시 서버는 자신을 클라이언트인 것처럼 보이게 하여 익명성을 더욱 강화한다. 웹사이트는 사용자가 이전에 높은 익명성 프록시를 사용하지 않은 방문에서 쿠키를 보낸 경우 프록시 사용을 의심할 수 있지만, 쿠키 및 캐시를 삭제하면 이 문제를 해결할 수 있다.

Tor는 온라인 익명성을 위한 시스템이다.[32] Tor 클라이언트 소프트웨어는 전 세계 자원봉사 서버 네트워크를 통해 인터넷 트래픽을 라우팅하여 사용자의 위치나 사용 내역을 숨긴다. 이를 통해 네트워크 감시나 트래픽 분석으로부터 사용자를 보호하고, 개인의 자유와 온라인 개인 정보를 보장한다.[32] Tor는 양파 라우팅이라는 방식을 사용하는데, 이는 원본 데이터를 여러 번 암호화하고 재암호화하여 연속적인 Tor 릴레이를 통해 전송하는 방식이다. 각 릴레이는 암호화의 "계층"을 해독하여 데이터를 다음 릴레이로 전달하고, 최종적으로 목적지에 도달하게 한다. 이 방식은 전송 중 데이터 해독이나 이해 가능성을 줄여준다.[33]

I2P 익명 네트워크(I2P)는 온라인 익명성을 위한 프록시 네트워크로, 토르의 양파 라우팅을 개선한 갈릭 라우팅을 구현한다. I2P는 완전히 분산되어 있으며, 여러 계층에서 모든 통신을 암호화하고 자원봉사자들의 라우터 네트워크를 통해 중계한다. 이를 통해 정보 출처를 숨겨 검열 저항성을 제공하고, 사용자의 개인 자유, 프라이버시, 기밀 비즈니스 수행 능력을 보호한다. 각 사용자는 자신의 컴퓨터(노드)에서 I2P 라우터를 실행하며, 이 라우터는 다른 피어를 찾아 익명화 터널을 구축한다. I2P는 HTTP, IRC 등 모든 프로토콜에 대한 프록시를 제공한다.

프록시 서버는 IP 기반 지리적 위치를 사용하여 특정 국가에 서비스 제한을 두는 서버의 콘텐츠 필터링을 우회하는 데 사용될 수 있다.[8] 예를 들어, 특정 국가에서만 접속 가능한 서비스를 이용하기 위해 해당 국가에 위치한 프록시 서버를 사용할 수 있다. 웹 프록시는 정부 검열을 우회하는 일반적인 수단이지만, 실제 사용률은 인터넷 사용자 중 3% 미만이다.[8] 중국과 같이 인터넷 검열이 심한 국가에서 검열을 우회하기 위해 사용되기도 한다.

3. 5. 기타 목적

웹 페이지 번역 서비스를 제공하는 프록시도 있다. [http://honyaku.yahoo.co.jp/url 야후 번역]이나 [https://translate.google.co.jp/ 구글 번역]과 같이 "사이트 전체를 번역하는" 번역 사이트는 프록시의 한 종류이다. 이러한 서버에는 일영 번역이나 일한 번역 등의 프로그램이 있어서, 자동으로 번역한 결과를 웹 브라우저에 표시한다.[41]

한자후리가나를 붙여 표시하거나, 표준어를 간사이 사투리 등의 방언으로 변환하거나, 독특한 단어로 변환하는 프록시 서버도 있다([http://www.yansite.jp/osakaproxy.html 방언 변환 Proxy 서버] 등).[42]

1990년대에는 문자 코드를 특정 코드로 변환하는 공개 프록시도 있었지만, 1990년대 후반 클라이언트 측의 다국어 지원이 발전하면서 이러한 프록시는 역할을 마쳤다.

프록시 서버를 이용하면 경로가 변경되므로, 경로 장애를 회피할 수도 있다.

4. 문제점

프록시는 클라이언트 컴퓨터와 웹 간의 데이터 흐름을 도청하기 위해 설치될 수 있다. 전송되거나 접근된 모든 콘텐츠(제출된 비밀번호 및 사용된 HTTP 쿠키 포함)는 프록시 운영자가 캡처하여 분석할 수 있다.[16] 이러한 이유로 웹 메일 및 뱅킹과 같은 온라인 서비스의 비밀번호는 항상 SSL과 같은 암호화된 보안 연결을 통해 교환해야 한다.

원래 요청자에 대한 데이터를 공개하지 않는 프록시를 연결함으로써 사용자의 대상에서 활동을 난독화하는 것이 가능하다. 그러나 중간 홉에 더 많은 흔적이 남게 되며, 이는 사용자의 활동을 추적하는 데 사용될 수 있다. 프록시 사용자는 수많은 포럼과 웹 사이트가 해당 사이트에 스팸 또는 트롤링한 것으로 알려진 프록시의 IP 주소를 차단하기 때문에 특정 웹 사이트에서 차단될 수 있다.

잘못 구성된 프록시는 인터넷으로부터 격리된 네트워크에 대한 접근을 제공할 수 있다.[17]

불특정 다수가 이용할 수 있는 공개 프록시를 통해 게시판에 글을 게시하는 경우, 게시판을 설치한 서버의 로그에는 프록시 서버의 IP 주소가 남고, 실제로 글을 게시한 컴퓨터의 IP 주소는 숨겨진다. 이 때문에 프록시를 통한 게시글은 게시판 테러, 홍보, 범죄 예고에 사용될 가능성이 있다. 게시판 관리자가 프록시 관리자에게 접속 기록을 요청하는 경우가 있지만, 프록시 관리자가 기록을 하지 않았거나, 정기적으로 기록을 삭제했거나, 관리자의 부주의 등으로 의도치 않게 공개된 프록시라면 추적이 어려워진다.

일부 악의적인 사용자가 스파이웨어컴퓨터 바이러스를 프록시 서버에 설치하여 해당 프록시 이용자의 PC에 침투하도록 조작하는 경우가 있다. 그렇지 않더라도, 접속하는 동안의 쿠키나 기록, 입력한 비밀번호 등은 프록시 서버 관리자에게 모두 노출되므로 보안상의 문제가 있다.

현재 많은 기업이 사내 (인트라넷)에서 사외 (인터넷)로 접근할 때 프록시 (게이트웨이) 서버를 설치하고 있다. 이는 관리자가 직원을 감시하는 역할을 하며, 외부 사이트 열람 및 송수신하는 메일은 모두 프록시를 거치게 된다.

5. 투명 프록시

투명 프록시는 '''인터셉팅 프록시''', '''인라인 프록시''', 또는 '''강제 프록시'''라고도 불리며, 클라이언트가 별도로 설정하지 않아도 자동으로 응용 계층의 통신을 가로채 프록시 서버로 전송하는 방식이다.[20] 클라이언트는 프록시 서버의 존재를 알 필요가 없다. 투명 프록시는 일반적으로 클라이언트와 인터넷 사이에 위치하며, 게이트웨이 또는 라우터의 기능을 수행하기도 한다.[20]

IETF RFC 2616 (Hypertext Transfer Protocol—HTTP/1.1)에서는 투명 프록시에 대해 다음과 같이 정의한다.

"투명 프록시"는 프록시 인증 및 식별에 필요한 범위를 넘어 요청 또는 응답을 수정하지 않는 프록시이다.

이와 반대로 "비투명 프록시"는 사용자에게 추가 서비스를 제공하기 위해 요청 또는 응답을 수정하는 프록시를 말한다. (예: 그룹 주석 서비스, 미디어 유형 변환, 프로토콜 축소, 익명성 필터링 등)

투명 프록시는 주로 다음과 같은 목적으로 사용된다.


  • 기업: 액티브 디렉터리 그룹 정책, DHCP, 자동 프록시 감지 등의 기능을 통해 클라이언트 브라우저 설정을 간소화하여 관리 부담을 줄이고, 허용 가능한 사용 정책을 시행한다.
  • ISP: 업스트림 대역폭을 절약하고 캐싱을 통해 고객 응답 시간을 개선한다. (특히 대역폭이 제한적이거나 사용료를 지불해야 하는 국가에서 유용)


하지만 투명 프록시는 다음과 같은 문제점을 야기할 수 있다.

  • 보안 결함: 2009년 Robert Auger는 투명 프록시 작동 방식의 보안 결함을 발표했다.[21] 컴퓨터 비상 대응팀은 영향을 받는 투명 및 인터셉팅 프록시 서버 목록을 발표했다.[22]
  • HTTP 인증 문제: 특히 NTLM과 같은 연결 지향적 인증에서 문제가 발생할 수 있다. 클라이언트 브라우저는 프록시가 아닌 서버와 통신한다고 착각하기 때문이다.
  • HTTP 캐시 문제: 일부 요청과 응답은 공유 캐시에서 캐시할 수 없게 된다.
  • 크로스 사이트 공격: 원래 대상에 대한 정보를 확인하거나 접근할 수 없는 경우에 발생할 수 있다. (통합 패킷 수준 및 애플리케이션 수준 어플라이언스 또는 소프트웨어를 사용하여 해결 가능)


통합 방화벽/프록시 서버를 사용하면 라우터/방화벽이 프록시와 동일한 호스트에 위치하므로, Microsoft TMG나 WinGate와 같은 방법을 사용하여 원래 대상 정보를 통신할 수 있다.

Cisco의 WCCP(Web Cache Control Protocol)를 사용하여 인터셉션을 수행할 수도 있다. 이 프로토콜은 라우터에 존재하며 캐시에서 구성되므로, 캐시는 라우터에서 투명하게 리디렉션하여 어떤 포트와 트래픽을 캐시로 보낼지 결정할 수 있다. 리디렉션은 GRE 터널링 (OSI 레이어 3) 또는 MAC 재작성 (OSI 레이어 2) 방식으로 수행된다.

트래픽이 프록시 머신 자체에 도달하면, 일반적으로 NAT (Network Address Translation, 네트워크 주소 변환)를 사용하여 인터셉션이 수행된다. 이러한 설정은 클라이언트 브라우저에는 보이지 않지만, 프록시의 인터넷 측에 있는 웹 서버 및 기타 장치에는 프록시가 보이게 된다. 최근의 리눅스 및 일부 BSD 릴리스는 TPROXY (투명 프록시)를 제공하여 IP 레벨 (OSI 레이어 3) 투명 인터셉션과 아웃바운드 트래픽의 스푸핑을 수행하여, 다른 네트워크 장치에서 프록시 IP 주소를 숨긴다.

보안상의 이유로 필터링 등을 위해 프록시를 도입한 경우, 모든 내부 접속자가 이를 사용해야 할 필요가 있다. 이 경우 명시적인 설정을 필요로 하면 관리 비용 증가 등의 문제가 발생한다. 이를 해결하는 한 가지 방법이 투명 프록시이다. 모든 접속 요청을 강제로 프록시 서버로 전송하고, 해당 프록시 서버가 접속 대상인 것처럼 가장하여 요청에 응답함으로써 내부 사용자가 프록시 서버를 의식하지 않도록 한다. 또한 외부로부터의 접속 요청도 투명 프록시를 통해 리버스 프록시로 중계하여 내부의 임의 서버에 대한 부정한 접근으로 의심되는 요청을 필터링할 수 있다.

6. 꼬치

프록시는 어원이나 서버를 통과하는 액세스의 모습을 비유하여 '''꼬치'''라고 불리는 경우가 있다[1]。 또한, 이와 관련하여 프록시를 이용하여 인터넷에 접속하는 것을 꼬치를 꿰다라고 한다[2]

7. 주요 소프트웨어

웹 프록시 서버에는 아파치(mod_proxy 또는 트래픽 서버 포함), HAProxy, 프록시로 구성된 IIS (예: 응용 프로그램 요청 라우팅 포함), Nginx, Privoxy, Squid, Varnish (리버스 프록시만 해당), WinGate, Ziproxy, Tinyproxy, RabbIT 및 Polipo 등이 있다.[19]

클라이언트 환경에서 복잡하거나 여러 개의 프록시 서버가 사용되는 경우, 클라이언트-서버 프록시 자동 설정 프로토콜(''PAC 파일'')을 이용하여 문제를 해결할 수 있다.


  • [https://osdn.net/projects/sfnet_asproxy/ ASProxy]
  • Squid
  • DeleGate
  • Tor
  • 블루코트사(Bluecoat) SGOS

참조

[1] 웹사이트 World-Wide Web Proxies http://courses.cs.vt[...] 1994-04
[2] 간행물 Structure and Encapsulation in Distributed Systems: the Proxy Principle https://hal.inria.fr[...] 2018-12-26
[3] 웹사이트 Proxy servers and tunneling https://developer.mo[...] 2020-12-06
[4] 웹사이트 Forward and Reverse Proxies http://httpd.apache.[...] Apache 2010-12-20
[5] 웹사이트 Difference between Forward Proxy and Reverse Proxy https://www.geeksfor[...] 2024-10-24
[6] 웹사이트 Build Your First Reverse Proxy https://wikipedialib[...] 2024-10-24
[7] 논문 Identifying legitimate Web users and bots with different traffic profiles — an Information Bottleneck approach 2020-06-07
[8] 웹사이트 2010 Circumvention Tool Usage Report http://cyber.law.har[...] The Berkman Center for Internet & Society at Harvard University 2011-09-15
[9] 웹사이트 How to Check if Website is Down or Working Worldwide https://www.hostinge[...] 2019-12-14
[10] 웹사이트 Using a Ninjaproxy to get through a filtered proxy. http://sitevana.com/[...] TSNP 2011-09-17
[11] 웹사이트 Caching Proxy https://www.ibm.com/[...] 2023-07-02
[12] 서적 Beginning Ubuntu Linux: From Novice to Professional https://archive.org/[...] Apress
[13] IETF Known HTTP Proxy/Caching Problems Internet Engineering Task Force 2019-05-17
[14] IETF Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations Internet Engineering Task Force 2014-02-21
[15] 웹사이트 Hot Tactics For Geo-Targeted Ads on Google & Bing http://searchenginel[...] 2014-02-07
[16] 웹사이트 Firewall and Proxy Server HOWTO http://tldp.org/HOWT[...] tldp.org 2011-09-04
[17] 서적 Nmap network scanning Insecure
[18] 웹사이트 Sneaker Bot Supreme Proxy https://www.geosurf.[...] GeoSurf 2017-09-24
[19] IETF HTTP/1.1 Message Syntax and Routing Internet Engineering Task Force 2017-11-04
[20] 웹사이트 Transparent Proxy Definition http://www.ukproxyse[...] ukproxyserver.org 2013-02-14
[21] 웹사이트 Socket Capable Browser Plugins Result in Transparent Proxy Abuse http://www.thesecuri[...] The Security Practice 2010-08-14
[22] 웹사이트 Vulnerability Note VU#435052 http://www.kb.cert.o[...] United States Computer Emergency Readiness Team 2010-08-14
[23] 웹사이트 Subversion Dev: Transparent Proxy detection (was Re: Introduction_ http://svn.haxx.se/d[...] Tracetop.sourceforge.net 2014-11-16
[24] 서적 Squid The Definitive Guide https://archive.org/[...] O'Reilly
[25] 웹사이트 CGIProxy https://www.jmarshal[...] 2018-11-12
[26] 웹사이트 The Limits of Control http://www.cfcl.com/[...] 2018-11-12
[27] 웹사이트 Glype® Proxy Script https://www.glype.co[...] 2019-05-17
[28] 웹사이트 PHProxy https://sourceforge.[...] 2016-04-07
[29] 웹사이트 Google Trends https://www.google.c[...]
[30] 웹사이트 Proxy Stats :: Get Proxi.es https://getproxi.es/[...] 2021-09-05
[31] 논문 Online advertising: Analysis of privacy threats and protection approaches 2017-03
[32] 뉴스 Privacy for People Who Don't Show Their Navels https://www.nytimes.[...] 2011-08-04
[33] 웹사이트 Tor: anonymity online https://www.torproje[...] 2011-01-09
[34] 서적 Building Internet Firewalls https://archive.org/[...] O'Reilly
[35] 웹사이트 What Is a Proxy Server and How Does It Work? https://iproyal.com/[...] 2023-07-02
[36] 서적 Go Web Scraping Quick Start Guide: Implement the power of Go to scrape and crawl data from the web https://books.google[...] Packt Publishing Ltd 2020-11-19
[37] 웹사이트 What are Residential Proxies? https://smartproxy.c[...] 2021-12-26
[38] 간행물 Resident Evil: Understanding Residential IP Proxy as a Dark Service https://ieeexplore.i[...] 2019-05
[39] 웹사이트 インターネット利用におけるセキュリティ対策 https://www.ipa.go.j[...] 2015-10-11
[40] 웹인용 Forward and Reverse Proxies http://httpd.apache.[...] Apache 2010-12-20
[41] 웹인용 Linux Online - Firewall and Proxy Server HOWTO: The SOCKS Proxy Server http://www.linux.org[...] 2010-06-06
[42] 서적 Beginning Ubuntu Linux: From Novice to Professional Apress 2006



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com