티스토리 뷰

프록시(proxy)란?

목차:

1. 프록시?

2. 프록시의 종류

3. 프록시의 목적

4. 사용 시 유의하실 점

5. 우리 주변에서 볼 수 있는 예시

 

 

프록시?

프록시 서버

네트워크 용어 시리즈로 포스팅하면서 다시 한번 개념을 정리하고 있습니다. 현재 클라우드 서비스에 대해서 공부하고 있어서 다시 요약 및 정리할 필요성을 느껴 작성하고 있습니다.

 

프록시는 클라이언트와 서버 사이에서 데이터를 전달해주는 컴퓨터 시스템 및 응용프로그램입니다. 즉, 중계기 역할을 합니다. 주로 보안 강화, 트래픽 병목 방지, 캐시 기능을 위해 사용할 때가 많습니다. 특히 웹 프록시 서버로 많이 쓰입니다. 이렇게 캐시로 저장해둘 경우, 동일한 정보를 요청 시 캐시에 저장되어있는 정보를 가져오게 됩니다. 이로써 전송시간을 절약할 수 있고 불필요한 외부 연결을 줄여 네트워크 병목현상을 방지합니다.

 

또한 프록시는 요청과 응답이 필터링이 가능합니다. 그래서 내부망에서 신뢰할 수 있는 요청만 접속 가능하도록 설정할 수 있습니다. 

 

많은 분들이 프록시 서버를 본인의 IP 주소를 감추거나 차단을 우회하는 데 사용한다고 생각하시지만, 원래의 목적은 웹페이지 접근 및 다운로드의 속도 향상이었습니다. 그리고 프록시 서버는 인터넷 검열이 극심한 국가에서는 해당 지역에서 접근할 수 없는 네트워크를 우회하여 접근할 수 있는 방법 중 하나입니다.

 

하지만 주의할 점은 프록시 유형에 따라 자신의 ip정보를 감출 수 없는 경우도 있습니다. 예를 들어 Transparent Proxy의 경우 HTTP 헤더에 원래 본인의 IP가 존재합니다.

 

 

 

프록시의 종류

프록시가 어디에 위치하냐에 따라 포워드(Forward), 리버스(Reverse) 프록시로 나뉠 수 있습니다.

포워드(Forward) 프록시

Forward 프록시

일반적으로 사용하는 프록시 방식으로, 프록시 서버는 클라이언트와 애플리케이션 서버 사이에 위치하고 있습니다. 기업 사내망에서 접근할 수 있는 서버를 제한하고자 할 때 많이 사용합니다.

 

Forward 프록시는 애플리케이션 서버로부터 클라이언트의 요청된 리소스를 가져와서 다시 클라이언트에게 돌려줍니다. 그리고 다음번에 같은 요청이 들어올경우 프록시 서버에 캐시 된 데이터를 돌려줍니다. 또한 애플리케이션 서버는 프록시 서버를 통해서만 통신하기 때문에 어느 리소스를 요청한 클라이언트의 정보는 알 수 없습니다. 즉, 목적지(endpoint)에 접근하지 않고 간접적으로 프록시 서버를 통해 리소스를 받습니다.

 

squid가 대표적인 forward 프록시로 쉽게 설치/사용이 가능합니다.

 

Reverse 프록시

Reverse 프록시

이 경우 프록시 서버는 애플리케이션 서버 앞에 위치합니다. 포워드 프록시와 다른점은 사용자가 실절적으로 접근하는 endpoint는 애플리케이션 서버가 아닌 프록시 서버입니다. 보통 로드 벨런싱이나 보안상의 이유로 쓰입니다. 리버스 프록시 뒤에 여러 개의 애플리케이션 서버를 두고 사용자의 요청을 분산할 수 있으며, 보안 때문에 서버에 직접 접근하는 것을 막기 위해 DMZ 같은 네트워크에 리버스 프록시를 구성하여 클라이언트가 접근하게 합니다.

 

대표적인 리버스 프록시의 예제로는 nginx, apache 웹서버 등이 있습니다. 

 

 

 

프록시의 목적

프록시는 대부분 아래의 목적으로 사용되는 경우가 많습니다.

  • 보안을 목적으로 호스트의 컴퓨터를 익명으로 숨기기 위해서

  • 캐시를 사용하여 리소스로의 접근을 빠르게 하기 위해서

  • 네트워크 서비스나 콘텐츠로의 접근 정책을 적용하기 위해. 예를 들면 원치 않는 사이트를 차단하기 위해서

  • 사용률을 기록하고 검사하기 위해 예를 들면 회사는 직원들의 인터넷 이용내역을 파악할 수 있습니다.

  • 보안 및 통제를 우회하기 위해서

  • 바이러스 전파, 악성 루머 전파, 다른 정보들을 탈취할 목적으로 

  • IP 추적을 방지하기 위해서

  • 파일 전송 전에 악성 코드가 있는지 검사하기 위해서

  • 데이터 유출 보호를 위해 네트워크 외부로 나가는 콘텐츠를 검사하기 위해서

  • 지역 제한을 우회하기 위해

 

 

 

사용 시 유의하실 점

사용하실 때 유의하실 점은 국내에서는 프록시 서버에 접속한 사람의 IP를 기록해야 합니다. 따라서 해당 프록시 서버에 대해 수사를 한다면 추적당하실 수 있습니다. 그러므로 불법적인 용도로 사용하시면 안 됩니다. 또한 우회 방법으로 VPN도 사용하실 수도 있지만, 암호화를 지원하는 전용 프로토콜이 수반되는 복잡한 구조 때문에 쉽게 사용할 수 없으며 이용 요금도 비쌉니다.

 

무료 프록시들은 개인정보 유출의 위험성이 크므로 직접 프록시 서버를 구축하여 사용하시는것을 권장합니다. 구축 방법은 오픈소스들이 많으니 참고하시기 바랍니다.

 

 

 

 

우리 주변에서 볼 수 있는 예시

대학 도서관은 논문 검색 및 문헌 조사를 위해 학교 자체에서 저널 및 업체와 계약하여 구독 서비스를 진행하고 있습니다. 그래서 학교에서는 해당 자료들을 학우들에게 제공하기 위해 프록시 서버를 만들어 접근이 가능하게 합니다. 즉, 우리가 학교 서버에 로그인하여 무료로 논문검색 및 문헌들을 무료로 검색할 수 있게 되는 것입니다.

 

저는 외국에서만 공개되어있는 넷플릭스 영화나 드라마들 보고 싶을 때가 있습니다. 그래서 프록시를 사용하면 시청이 가능하지 않을까 생각만 해봅니다.

반응형