프록시 서버 개념 및 분류

From_A_To_Z·2024년 5월 7일
0

Proxy 서버란?

  • 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램
  • 프록시 서버는 프록시 서버의 위치나 요청 처리 방식에 따라 Forward Proxy, Reverse Proxy로 구분됨

Forward Proxy

  • 클라이언트가 애플리케이션 서버에 직접 요청을 전달
  • 프록시 서버는 해당 클라이언트의 요청을 전달받아서 애플리케이션에 포워딩
  • 클라이언트는 내부망에서 프록시 서버를 경유하여 인터넷 통신이 가능

장점

클라이언트 보안 (Security)

  • 공공기관 및 기업에 속한 사람들의 제한적인 인터넷 사용을 위해 방화벽을 사용
  • 포워드 프록시 서버는 방화벽과 같은 개념으로 제한을 위해 사용
  • 즉, 해당 기관에 속한 사람들이 그들이 방문하고자 하는 웹사이트에 직접적으로(directly) 방문하는 것을 방지 → 포워드 프록시 서버에 룰을 추가해서 특정 사이트에 접속 차단 가능

캐싱 (Caching)

  • 웹페이지 접근 시, 프록시 서버는 해당 페이지 서버의 정보를 캐싱(임시보관)
  • 똑같이 해당 페이지에 접근하거나, 다른 클라이언트가 해당 페이지를 요청할 때 , 캐시된 정보(페이지)를 그대로 반환할 수 있고, 이는 서버의 부하를 줄이는 효과

암호화 (Encryption)

  • 클라이언트의 요청은 포워드 프록시 서버를 통과할 때 암호화
  • 암호화된 요청은 다른 서버를 통과할 때 필요한 최소한의 정보만 갖게 되는데, 이는 클라이언트의 ip 를 (보안을 위해) 감춰주는 보안 효과

Reverse Proxy

  • 클라이언트가 프록시 서버의 주소로 요청을 전달
  • 프록시 서버는 해당 요청을 등록된 웹 서비스로 라우팅
  • 프록시 서버의 엔드포인트는 인터넷에 노출되며 대신 내부 웹 서비스는 인터넷에 노출되지 않음
  • 내부 웹 서비스의 주소가 노출되지 않으며 중앙에서 서비스에 대한 로드 밸런싱 관리 가능

장점

로드 밸런싱 (Load Balancing)

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

서버 보안 (Security)

  • 리버스 프록시를 사용하면 본래 서버의 IP 주소를 노출을 방지 → 해커들의 DDoS 공격과 같은 공격을 막는데 유용

캐싱 (Caching)

  • 포워드 프록시의 캐싱과 비슷한 기능 수행 (정확히 프록시의 본래 기능)

암호화 (Encryption)

  • SSL 암호화 측면에서 용이 → 서버가 클라이언트들과 통신을 할때 SSL(or TSL)로 암호화, 복호화를 할 경우 비용이 많이 발생
  • 리버스 프록시를 사용하면 들어오는 요청을 모두 복호화하고 나가는 응답을 암호화해주므로 클라이언트와 안전한 통신을 할수 있으며 본래 서버의 부담을 줄여줄 수 있음 (TLS Termination)

차이점

프록시 서버 위치

  • Forward Proxy 서버는 클라이언트 앞에 구성
  • Reverse Proxy 서버는 웹서버/WAS 앞에 구성

프록시 서버 통신 대상

  • Forward Proxy는 내부망에서 클라이언트와 Proxy 서버가 통신하여 인터넷을 통해 외부에서 데이터를 가져옴
  • Reverse Proxy는 내부망에서 Proxy 서버와 내부망 서버가 통신하여 인터넷을 통해 요청이 들어오면 Proxy 서버가 받아 응답

감춰지는 대상

  • Forward Proxy는 클라이언트의 주소를 감칠 수 있음
  • Reverse Proxy는 본서버의 IP 정보를 숨길 수 있음

참고 링크

https://en.wikipedia.org/wiki/Proxy_server
https://www.theserverside.com/feature/Forward-proxy-vs-reverse-proxy-Whats-the-difference

profile
What goes around comes around.

0개의 댓글