정의

  • Client와 Server가 직접 통신할 때, 보안상의 문제를 방지하기 위해서 직접 통신하지 않고 중계자를 거쳐 통신할때 중계자를 프록시라고 함
  • Client와 Server 사이에 프록시 서버가 중계를 할 때 Client는 프록시 서버를 Server라고 인식하고, Server는 프록시 서버를 Client로 인식
  • 프록시 서버는 서버의 위치에 따라 Forward 프록시와 Reverse 프록시 2가지로 구분

Forward 프록시

  • Forward 프록시의 경우 프록시 서버가 클라이언트의 요청을 받아서 외부 서버와 통신을 하고 받은 응답을 서버가 아닌 프록시 서버가 대리로 통신
  • 클라이언트는 프록시 서버만을 통해 정보를 얻고  Web 서버쪽에서는 프록시 서버를 통한 액세스 로그가 남음

Forward 프록시 장점

접속 제한 회피

  • 정부, 학교, 기업 등과 같은 기관은 해당 기관에 속한 사람들의 제한적인 인터넷 사용을 위해 방화벽을 사용
  • 포워드 프록시를 이용하면 사용자가 방문하는 사이트에 직접 연결하지 않고 프록시에 연결하여 이러한 제한을 회피하는데 사용가능

특정 콘텐츠 제한 ( URL 필터링 )

  • 외부의 액세스는 프록시 서버를 경유하므로 사용자 전원의 외부 웹 사이트로의 액세스를 필터링 가능

캐시 저장 ( 캐싱 기능 )

  • 프록시 서버는 캐시를 저장할 수 있기 때문에 페이지를 재요청 했을 때에는 캐시에 남아 있는 정보를 클라이언트에게 더 빠르게 로드 가능

클라이언트 IP 보안

  • 클라이언트에서 프록시 서버를 거쳐 요청을 보내면, 서버 측은 클라이언트의 정보가 아닌 포워드 프록시의 정보 이용

Reverse 프록시

  • 포워드 프록시와 달리 Web 서버쪽에 위치하여 서버의 데이터를 대신 클라이언트에게 전달
  • 직접 통신하는 것은 중요한 데이터가 있는 DB의 경로가 노출될 수 있다는 위험이 존재하기 때문에 중간에 프록시 서버를 두고 내부망을 보호하는 역할

Reverse 프록시의 장점

보안

  • 클라이언트의 접근을 최초로 받아 요청에 해당하는 Web 서버에 배분해주는 역할
  • 클라이언트에서 액세스를 프록시 서버에 URL에 따라 요청을 받을 Web 서버가 바뀌도록 설정하게 되면 프록시 서버가 Web 서버와 같은 동작을 하므로 Web서버가 여러 개 존재하는 것을 은폐할 수도 있고, Web 서버의 IP 주소도 숨길 수 있음
  • DDoS 공격과 같은 공격을 막는데 유용하지만 CDN과 같은 리버스 프록시 서버가 공격의 타겟이 될 수 있음

캐시 저장으로 속도 향상

  • Forward 프록시와 동일하게 동일한 데이터를 얻을 시 프록시 서버가 저장했던 내용을 돌려줌

부하 분산 - 로드 밸런싱(load balancing)

  • 리버스 프록시 서버를 여러개의 서버 앞에 두면 특정 서버가 과부화 되지 않게 로드밸런싱이 가능

Proxy Tool

Proxy Server의 역할을 사용자가 직접 실시간으로 컨트롤 할 수 있도록 도와주는 도구

Proxy Tool은 웹 어플리케이션 및 웹 사이트의 취약점을 분석하기 위한 목적으로 개발된 소프트웨어이지만 해킹에 악용될 수도 있음

Paros

장점

  • 자바기반의 웹 프록시 프로그램으로 웹 사이트에 대한 취약성을 분석할 수 있을 뿐만 아니라 웹 해킹도구로도 사용
  • 시스템 리소스를 가장 적게 사용
  • Tree 형태로 사이트 구조를 제공하여 홈페이지의 구조를 쉽게 분석
  • HTTPS도 사용 가능하도록 인증서 기능을 제공

단점

  • 장기간 업데이트 중단으로 취약한 프로그램

Burp Suite

장점

  • Proxy 서버를 만들어 패킷 분석 및 조작을 도와주는 프로그램이며 웹 취약점 분석에 주로 사용
  • 자동화, 요청 및 응답 인터셉트, 인증 세션 조작, 스파이더 등 고급 기능 사용가능
  • 단순히 프록시 기능 뿐아니라 웹 애플리케이션 보안 테스트 도구로 사용

단점

  • 고급 기능을 사용하려면 결제가 필요함

Fiddler

장점

  • 클라이언트와 웹 서버 사이의 HTTP 및 HTTPS 트래픽을 기록, 검사 및 변경하는데 사용되는 무료 웹 디버깅 프록시 도구
  • 자체 서명 인증서 없이 사용 가능
  • 인터넷과 테스트 컴퓨터 간의 네트워크 트래픽을 캡처하여 웹 응용 프로그램을 디버그하는 데 유용
  • 수신 및 발신 데이터를 검사하여 브라우저가 요청 및 응답을 수신하기 전에 모니터링 및 수정 가능
  • 무료 사용, 가벼움
  • 프록시 보단 웹페이지 변조에 사용

단점

  • 수집된 모든 정보는 현재 사용자가 저장하고 전송

Reference

https://seunyung.tistory.com/19

https://sensechef.com/899

https://www.igloo.co.kr/security-information/web-proxy-tool-탐지-방법/

https://hstory0208.tistory.com/entry/프록시-Proxy-란-어떤-역할을-하는가

'CERT' 카테고리의 다른 글

웹취약점: 권한인증 취약점  (0) 2024.08.16
웹취약점: 에러처리 취약점  (0) 2024.08.16
SQL Injection 취약점  (0) 2024.08.16
XSS(크로스 사이트 스크립트) 취약점  (0) 2024.08.16
웹 쉘  (0) 2024.08.16

+ Recent posts