Post

[Web Proxy] 웹 프록시 정리

웹 프록시

프록시(proxy)란?

프록시는 두 호스트가 통신할 때 서로 직접 통신하지 않고 중간에서 대리로 통신을 하도록 도와주는 것을 프록시(Proxy)라고 한다.

이러한 중계 역할을 하는 서버를 프록시 서버라고 부른다. 즉, 프록시 서버는 클라이언트와 서버 사이의 중계서버로서의 역할을 한다.

  • 클라이언트는 프록시 서버를 서버로 인식
  • 서버는 프록시 서버를 클라이언트로 인식

프록시를 사용하지 않는 경우프록시를 사용하지 않는 경우


프록시의 종류

프록시 서버는 위치에 따라 포워드 프록시(Forward Proxy)와 리버스 프록시(Reverse Proxy)로 나뉜다.

*오늘은 포워드 프록시만 살펴본다.

포워드 프록시

클라이언트 대신 프록시 서버가 목적 서버에 통신해주는 구성

포워드 프록시를 사용한 경우포워드 프록시를 사용한 경우

포워드 프록시의 경우 아래와 같이 프록시 서버가 외부 Web 서버와 통신을 한다. 그러므로 클라이언트는 프록시 서버만을 통해 정보를 얻게 된다. 따라서 Web 서버쪽에는 프록시 서버를 통한 엑세스 로그가 남는다.


포워드 프록시의 장점

1. 캐시 저장(액세스 고속화)

프록시 서버에 캐시를 저장 ⇒ 캐싱된 내용을 전달 ⇒ 성능 UP!

Untitled

2. URL 필터링

에러용 페이지가 표시되는 등 설정에 따른 화면이 표시된다.

Untitled

3. 접속 제한 회피

일부 정부, 학교, 기타 조직은 방화벽을 사용하여 사용자들에게 제한된 액세스를 제공한다. 포워드 프록시를 이용하면 사용자가 방문하는 사이트에 직접 연결하지 않고 프록시에 연결하여 이러한 제한을 회피하는데 사용할 수 있다.

4. IP 우회 및 보안

클라이언트에서 프록시 서버를 거쳐 요청을 보내게 되면, 서버 측은 클라이언트의 정보가 아닌 포워드 프록시의 정보를 받게 된다. 따라서 서버 측에 클라이언트의 정보를 숨길 수 있다.

또한 프록시 서버를 방화벽으로 사용하기도 하며(프록시 방화벽). 익명의 사용자가 서버에 접근하는 것을 막는다.

5. 기타

버프스위트(Burp Suite), 파로스, 피들러(Fiddler)와 같은 웹 프록시 툴을 사용하면 웹 요청이나 응답 값을 중간에 가로챌 수 있다. 해당 툴에서 사용하는 웹 프록시 서버 주소와 포트 설정을 해주면 브라우저에서 보낸 웹 요청이 프록시 서버를 경유하게되기 때문에 중간에 패킷을 가로챌 수 있게 되는 것이다. 이러한 웹 프록시 툴들은 트래픽 조작, 기능 확장, 분석, 모니터링 등에 유용하다.


리버스 프록시는 다음 기회에…

도움받은 블로그

https://code-lab1.tistory.com/214
youngDev님 블로그

This post is licensed under CC BY 4.0 by the author.