Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

뭉크테크

Proxy 본문

CERT

Proxy

뭉크테크 2024. 5. 27. 00:18

목차

  • 정의
  • 목적
  • 종류
  • Proxy tool

 

정의

프록시 서버(영어: proxy server, 문화어: 대리봉사기)는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 가리킨다. 서버와 클라이언트 사이에 중계기로서 대리로 통신을 수행하는 것을 가리켜 '프록시', 그 중계 기능을 하는 것을 프록시 서버라고 부른다.

 

목적

  • 익명으로 컴퓨터를 유지 (주로 보안을 위하여)[1]
  • 캐시를 사용하여 리소스로의 접근을 빠르게 하기 위해. 웹 프록시는 웹 서버로부터 웹 페이지캐시로 저장하는 데 흔히 쓰인다.[2]
  • 네트워크 서비스나 콘텐츠로의 접근 정책을 적용하기 위해. (이를테면 원치 않는 사이트를 차단)
  • 사용률을 기록하고 검사하기 위해 (이를테면 회사는 인터넷 이용을 파악)
  • 보안 및 통제를 뚫고 나가기 위해
  • 바이러스 전파, 악성 루머 전파, 다른 정보들을 빼낼 목적으로
  • 역으로 IP추적을 당하지 않을 목적으로
  • 전달에 앞서 악성 코드를 목적으로 전달된 콘텐츠를 검사하기 위해
  • 밖으로 나가는 콘텐츠를 검사하기 위해 (데이터 유출 보호)
  • 지역 제한을 우회하기 위해

 

종류(Forward Proxy)

 

 [ 클라이언트 <ㅡ> 프록시 서버 ㅡ 서버 ]의 위치에 있고, 클라이언트가 요청을 전달하면 프록시 서버가 목적 사이트의 내용을 받아와서 전달을 '대신' 해주는 것. 

 

  • 클라이언트 보안(Security)
    • 보통 정부기관, 학교, 기업 등과 같은 곳에서는 속한 사람들의 제한적인 인터넷 사용을 위해 방화벽을 사용한다.
    • 포워드 프록시 서버에 룰을 추가하여 특정 사이트에 접속하는 것을 막는다.
    • 즉, 포워드 프록시 서버를 방화벽과 같은 개념으로 제한을 위해 사용한다고 보면 된다.
  • 캐싱(Caching)
    • 클라이언트가 어떤 웹 페이지를 접근하면 포워드 프록시 서버는 해당 페이지의 정보를 캐싱(임시보관)한다.
    • 이후 동일한 페이지를 접근하거나, 다른 클라이언트가 해당 페이지를 요청하면 캐시 된 정보를 그대로 반환한다.
    • 이는 서버의 부하를 줄이는 데에 효과적이다.
  • 암호화(Encryption)
    • 클라이언트 요청은 포워드 프록시 서버를 통과할 때 암호화된다.
    • 암호화된 요청은 다른 서버를 통과할 때 필요한 최소한의 정보만 갖게 되는데, 이는 클라이언트의 IP를 감춰주는 보안 효과를 낸다.

 

종류(Reverse Proxy)

[ 클라이언트 ㅡ 프록시 서버 <ㅡ> 서버 ] 의 위치에 있는 개념이 바로 Reverse Proxy 

클라이언트가 프록시 서버에 데이터를 요청하면 프록시 서버는 내부망 서버에서 데이터를 받아와 클라이언트에게 전달해 주는 개념

 

  • 로드 밸런싱(Load Balancing)

- 우리가 자주 사용하는 구글, 네이버와 같은 웹 사이트는 하루에도 수백만, 수천만명이 방문한다.

- 이러한 대량의 트래픽을 하나의 싱글 서버로 감당하기는 어렵다.

- 이때, 리버스 프록시 서버를 여러개의 싱글 서버들 앞에 두면 특정 서버가 과부화 되지 않도록 로드 밸런싱하여 관리가 가능하다.

  • 서버 보안(Security)

- 리버스 프록시를 사용하면 서버측 보안에 좋다.

- 프록시 서버로 인해 본래 서버의 IP 주소를 노출시키지 않을 수 있어, 해커들의 DDos 공격과 같은 공격을 막는데 용이하다.

  • 캐싱(Caching)

- 포워드 프록시의 캐싱과 비슷한 기능을 한다.

- 즉, 서버의 데이터를 캐싱하고 있다가 동일한 요청인 경우 해당 데이터를 전달하여 빠른 성능을 보여준다.

  • 암호화(Encryption)

- SSL 암호화에 좋다.

- 서버가 클라이언트와 통신할 때 SSL(or TSL)로 암호화, 복호화를 할 경우 각각의 서버별로 비용이 많이 들게 된다.

- 리버스 프록시 서버를 사용하면 들어오는 요청과 복호화하는 응답을 모두 관리가 가능하여 서버의 부담을 줄여준다.

 

 

 종류 차이점 정리

  Forwad Proxy Reverse proxy
  프록시 서버 위치 클라이언트 앞 WEB/WAS 서버 앞
  프록시 서버 통신 대상 클라이언트와 Proxy 서버가 통신 Proxy 서버와 내부 서버가 통신
  End Point(서버) 실제 서버 도메인 프록시 서버의 도메인
  감춰지는 대상 클라이언트 정보
서버 정보

 

 

Proxy tool

프록시 툴은 웹 트레픽을 중계, 조작, 분석, 수정할 수 있는 프로그램을 말한다. 주로 웹의 취약점을 발견하는 일에 사용된다. 대표적인 세가지 프록시 툴

  • Paros
  • BurpSuite
  • Fiddler

 

Paros

  • 파로스는 자바 기반으로 작동하는 웹 프록시 소프트웨어이다. 
  • 시스템 리소스를 가장 적게 먹으며 인터페이스가 간단하기 때문에 기본적인 검사에 많이 활용하던 소프트웨어이다. 
  • 하지만 현재 개발이 중지된 상태로 방치되었기 때문에 최신 보안사항이 적용되지 않아 실 사용은 어렵다.
  • 서버에 해킹 접근 시 사용자 정보가 남는다
  • Tree 형태로 사이트 구조를 제공하여 홈페이지의 구조를 쉽게 분석가능하다
  • 웹 사이트에 대한 취약성을 분석할 수 있을 뿐만 아니라 웹 해킹도구로도 사용된다.

 

BurpSuite

  • 버프스위트는 웹 취약점을 분석하기 위해 사용하는 가장 포괄적인 툴이다. 
  • 자동화, 요청 및 응답 인터셉트, 인증 세션 조작 등 고급 기능을 사용할 수 있기에 현재 가장 대중적인 툴이라고 할 수 있다. 
  • 하지만 고급기능을 온전히 사용하기 위해서는 결제가 필요하다.
  • 사용자와 관련된 정보를 남기지 않는다.
  • 웹 사이트를 매우 빠르게 스파이더링할 수 있고 웹 사이트를 스파이더링 한 후에는 스캔 중에 발견한 페이지를 부분적으로 공격하지 않도록 설정할 수 있다.
  • 소프트웨어의 GUI는 그다지 사용자 친화적이지 못하다.

 

Fiddler

  • 웹 트레픽을 캡쳐하고 모니터링하는 일에 최적화 된 툴이다. 
  • 컴퓨터와 웹 서버 또는 서버 사이의  HTTP 트래픽을 기록, 검사 및 변경하는데 사용되는 디버깅 프록시 툴이다.
  • 인터넷과 테스트 컴퓨터 간의 네트워크 트래픽을 캡쳐하여 웹 응용 프로그램을 디버그하는 데 유용하다
  • 수신 및 발신 데이터를 검사하여 브라우저가 요청 및 응답을 수신하기 전에 모니터링하고 수정이 가능하다
  • 로깅시 자체 서명된 인증서를 사용하여 인터셉션을 구현함으로써 수행된다.
  • 이 프로그램을 시스템 트레픽을 아주 적게 먹는다는 특징이 있다. 하지만 고급 기능이 부족하여 이 프로그램만으로는 많은 것을 할 수는 없다.

 

'CERT' 카테고리의 다른 글

CSRF 모의해킹  (1) 2024.06.15
Command Injection 모의해킹  (3) 2024.06.15
웹 셸  (0) 2024.05.27
Vulnerability Analysis 4  (0) 2024.05.22
Vulnerability Analysis 3  (0) 2024.04.20