Table of Contents |
---|
...
보통 기업의 네트워크 환경은 비무장 지대(DMZ; Demilitarized Zone) 라고 하는 내부 네트워크와 외부 네트워크 사이에 위치하는 구간이 존재합니다.
위 그림과 같이 DMZ 대역내에는 외부에 서비스를 제공하는 서버(메일 서버, 웹 서버, DNS 서버)를 배치하고 네트워크는 1, 2차 방화벽으로 보호합니다.
웹 서비스를 제공하려면 WAS 를 DMZ 에 놓고 서비스해도 되지만 이런 서비스는 보통 내부의 DBMS 서버와 연결되어 있습니다.
만약 WAS 가 최전방에 있으면 WAS 가 털릴 경우 DBMS 와 관련 서버까지 모두 같이 털리는 심각한 보안 문제가 발생할 수 있습니다.
이때문에 DMZ 존에 웹 서버를 두고 리버스 프락시로 설정하고 WAS 는 2차 방화벽 뒤의 내부망에 위치시키게 설정합니다.
리버스 프락시로 동작하는 웹 서버만 내부 WAS 와 연결하도록 설정하므로 웹 서버가 해킹당해도 2차 방화벽을 다시 뚫어야 하므로 더 보안에 강해질 수 있습니다.
특히 Red Hat 이나 CentOS 계열이라면 SELinux 를 켜 놓으면 SELinux 의 강제 접근 통제에 따라 웹 서버는 사전 정해진 포트(예: WAS 의 8080, 8009)만 접근 할 수 있으므로 웹 서버가 해킹당해도 2차 피해를 최소화할 수 있습니다.
성능(performance)
프록시 서버를 구성하면 캐싱과 부하 분산등의 기법을 사용해서 Cache Server 를 붙이거나 SSL 하드웨어 가속기를 연동하는등 아키텍처와 네트워크 측면에서 성능 개선을 하기가 용이해 집니다.
아주 심플하게 생각하면 cloudflare 나 akamai 같은 CDN 도 Reverse proxy 로 동작하는 캐시 서버라고 볼수 있으며 콘텐츠를 오리진 서버에 다시 요청하지 않아도 되므로 네트워크 대역폭을 감소시키고 서비스를 빠르고 안정적으로 제공할 수 있습니
신뢰성(reliability)과 안정성
프록시 서버로 구성하면 뒤에 실제 서버들은 이중화나 클러스터링(Clustering) 을 통해 특정 서버가 문제 생겨도 전체 서비스는 안정적으로 제공할 수 있으며 CDN 을 연동한다면 DDOS 공격을 효과적으로 방어하여 서비스 안정성을 높일 수 있습니다.다.
...
또 리버스 프록시 앞에 L4 나 load balancer 를 붙여서 Round Robin(RR), Least connection 등 상황에 맞는 분배 알고리즘을 적용해 서비스 신뢰성을 높일 수 있습니다.
같이 보기
...