Transparent Proxy 투명 프록시란?

투명프록시란 무엇인가?

인라인 프록시, 가로채기 프록시, 강제 프록시등으로 부르기도 하는 투명프록시는 다양한 이름들에서 알 수 있듯이 사용자의 기기와 인터넷 사이의 연결을 특별한 설정없이 가로챈다. 이렇게 설정하기 위해 오픈소스인 Squid 프록시 서버가 가장 많이 쓰인다.

예를 들어보자, 어떤 사용자가 회사의 내부망에서 인터넷을 사용한다. 그 사람이 imbc.com의 뉴스기사를 보려고 하면 집에서 보는 것과 동일한 기사를 보게된다.

그렇지만, 사용자가 모르는 사이에 그 뉴스기사는 imbc.com의 서버로 부터 바로 전송되는게 아니라 회사망의 투명 프록시 서버를 통해서 전달된다. 사용자는 알아채지 못하지만 회사는 직원들의 인터넷 접속을 감시하고 특정 사이트에 접속하지 못 하도록 막을 수 있다.

투명프록시 혹은 강제프록시

투명프록시는 사용자 기기에 아무런 설정 변경없이 적용되기에 강제프록시라고 부르기도 한다.

몇몇 웹사이트에는 사용자들이 감시되고 있다는 것을 알려주는 프록시 리스트가 있기도 하지만 결국, 투명프록시는 사용자가 알아차리지 못한 채 동의나 확인도 받지 않아도 강제로 적용될 수 있다.

투명프록시는 분명히 사용자가 설정하는 것이 아니라 네트워크나 웹사이트의 서버 관리자에 의해서 설정된다.

투명프록시의 설정들

투명프록시를 구성하려면 일반적인 프록시 설정은 다음과 같다:

  • 인증 – 프록시 서버에 사용자와 같은 자격증명을 제공한다.
  • 트래픽 가로채기 – 프록시 서버가 사용자 운영체제단에서나 라우터단에서 트래픽을 가로채는 방법을 설정 한다.
  • 캐싱 – 프록시 서버가 사용자들의 전송내용을 저장하여 캐싱할 지 여부를 결정한다.
  • 리버스 프록시 – 웹서버의 속도를 빠르게 하기위해서 웹서버측에 리버스 프록시를 설치 할 수도 있다.
  • 메신저, 토렌트등의 검열및 차단등 – 투명프록시 서버 뒤의 사용자들이 특정 프로토콜이나 특정포트를 사용하지 못하게 차단할 수 있다.

클라이언트 측에서 투명프록시 서버 사용하기

클라이언트 말단에 트래픽을 통제하기위해 클라이언트에 투명프록시 서버를 설치할 수도 있다. 어떤 웹사이트를 요청하면 프록시는 그 전달을 차단 할 수 있다. 대신에 웹브라우저에 에러나 공지사항을 표시할 수 있다.

컨텐츠 필터링

원하지 않는 컨텐츠를 프록시 설정에 추가해서 거를 수 있다. 예를들면, 어떤 사이트를 요청할때 프록시 서버는 이 요청을 전송하지 않을 수 있다. 대신 그 연결을 가로채서 오류를 표시하거나 사용자에게 공지를 띄울 수 있다.

게이트웨이 프록시

게이트웨이 프록시를 통해서 규칙기반으로 네트워크 트래픽을 차단하거나 변경할 수 있다. 예를들면, 투명프록시 서버를 방화벽으로 사용하여 방화벽 규칙 테이블을 참조하여 내부망과 인터넷 사이에 트래픽을 통과시키거나 차단할 수 있다.

캐싱

다수의 학생들이 학교의 네트웨크를 통해서 같은 뉴스사이트를 보고 있을때와 같이 여러 사용자가 같은 서버의 컨텐츠를 본다면 처음 접속할 때 컨텐츠를 캐싱해서 다음 사용자에게는 캐시에서 바로 제공하는 것이 더 효율적이다. 투명프록시는 이런 캐시역할을 수행 할 수 있다.

트래픽 모니터링

네트워크 운영자는 투명프록시 서버가 사용자들의 트래픽과 인터넷 사용을 모니터하도록 설정할 수 있다.

트래픽 모니터링은 또한 불법적인 용도를 가질 수 있다. 예를 들어, 공공 와이파이 관리자는 사용자의 연결을 모니터링하고 데이터와 인증정보를 훔칠 수 있다.

인증

공공 와이파이 스팟과 셀룰러 인터넷 사업자는 때때로 투명한 프록시를 사용하여 사용자가 네트워크에서 자신을 인증하고 서비스 약관에 동의하도록 강요합니다. 사용자가 인증하고 동의한 후에만 서핑을 할 수 있습니다.

사용자는 초기 인증 화면 후에도 전체 연결이 가로채고 투명한 프록시를 통해 운영자가 모니터링할 수 있다는 것을 깨닫지 못할 수 있습니다.

서버측에서 투명프록시의 사용 용도 (리버스 프록시)

DoS 보호를 위한 TCP 차단

TCP 인터셉트는 SYN-flood 서비스 거부(DoS) 공격으로부터 서버를 보호하는 데 사용할 수 있는 투명한 프록시 유형입니다. 그것은 웹 서버로의 모든 트래픽을 가로채고, 클라이언트 요청을 수락하며, 3방향 핸드셰이크를 수행합니다. 성공하면, 서버와 3방향 핸드셰이크를 수행하고, 클라이언트와 서버 사이의 두 개의 절반 연결을 결합합니다.

TCP 인터셉션은 TCP 요청을 감시하고, 연결이 설정될 때까지(일반적으로 30초) 기다린다. 비활성 연결 수가 특정 임계값을 초과하면, TCP 가로채기는 “공격 모드”로 들어갑니다. 이 모드에서, 각각의 새로운 도착 연결은 가장 오래된 비활성 연결이 삭제됩니다.

이 기술은 현대적이고 대규모의 분산 서비스 거부(DDoS) 공격에 더 이상 효과적이지 않다. 고성능 서버 또는 수백만 대의 좀비 컴퓨터를 제어하는 공격자는 TCP 인터셉트 컨트롤러를 쉽게 압도하는 SYN 홍수를 만들 수 있다.

이것이 많은 조직이 Imperva의 DDoS 보호와 같은 클라우드 기반 서비스를 사용하는 이유입니다. 클라우드 기반 DDoS 서비스는 대규모 공격을 처리하기 위해 주문형으로 확장할 수 있으며, 다른 유형의 DDoS로부터 보호할 수도 있습니다. 예를 들어, DDoS 서비스는 TCP 계층에서 발생하지 않는 프로토콜 공격과 애플리케이션 계층 공격을 방지할 수 있다.

프런트 엔드 최적화를 위한 투명한 프록시와 CDN

CDN(콘텐츠 전송 네트워크)은 지리적 위치 근처의 사용자에게 콘텐츠를 캐시하고 제공하는 전 세계적으로 분산된 프록시 서버 네트워크입니다.

Imperva의 글로벌 콘텐츠 전송 네트워크와 같은 CDN은 서버 측에서 작동하는 투명한 프록시 유형으로, 최종 사용자 경험을 개선하기 위해 프런트 엔드 최적화를 수행하는 것을 목적으로 한다. 그것은 웹 서버로의 트래픽을 가로채고 사용자가 원본 서버에 직접 액세스하도록 하는 대신 캐시에서 동일한 콘텐츠를 제공합니다. 이로 인해 사용자의 성능이 향상되고 서버에 필요한 시스템 리소스가 줄어듭니다.

Leave a Comment

Index