반응형

개요

 

개발을 하면서 네트워크를 구성하다 보면 DMZ라고 따로 나누는 부분이 있을 수 있습니다.

그때 이 DMZ라는 우리나라에 38선 위치에 있는 비무장지대로 익숙한 단어일 수 있습니다.

이러한 DMZ라는 단어는 네트워크에서도 존재합니다.

 


설명

 

보통 네트워크를 사용하는 소프트웨어를 개발하는 회사나 컴퓨팅 및 네트워크를 사용하는 기관들은 보안의 목적으로 내부 네트워크(LAN : Local Area Network)만을 사용하여 각종 인트라넷이나 내부 시스템을 운영하곤 합니다.

그러나 위와같은 경우에서는 외부 네트워크와는 단전되어 웹 검색이나 이메일링, DNS 사용 FTP 서버 사용 등... 기본적인 인터넷 서비스를 사용할 수 없게 됩니다.

그러나 내부 IT시스템들도 때때로 외부네트워크를 사용해야 하는 순간이 있습니다. 예를 들어 리눅스 운영체제, MySql , redis 등등 각종 오픈 소스 설치 파일을 다운로드해서 설치하고, 서버에 배포해야 하는 순간이 있습니다.  또한 대부분의 웹 사이트는 외부에서 접속하지만 내부에 웹서버가 존재합니다. 이러한 요구 들을 해결해주는 것이 바로 DMZ입니다.

 


DMZ란?

 

내부 네트워크에 존재하지만, 외부에서 접근할 수 있는 특수한 네트워크 영역을 나타냅니다.

아래 그림을 보면 외부 연결이 필요한 시스템들을 DMZ네트워크에 배치시킵니다.

DMZ에서 내부로의 연결은 불가능하지만 반대로 내부에서 DMZ로의 연결은 가능합니다. (방화벽 설정 이용)

 

 


그렇다면 프록시(Proxy) 서버는 무엇일까?

 

기본 Proxy 서버 구조

프록시 서버란 시스템이 방화벽을 가지고 있는 경우 외부와의 통신을 위해 만들어 놓은 서버입니다.

프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터입니다.

즉 보안상의 이유로 직접통신을 할 수 없는 두 점 사이에서 대리로 통신을 수행하는 기능을 합니다. 중계 기능을 함.

 

이 프록시 서버는 보안상의 목적으로 설치되는 경우 보통 위에서 말한 DMZ에 배치가 됩니다.

그러나 프록시 서버는 보안상의 목적으로만 설치되는것 은 아닙니다.

 

프록시 서버는 프록시 서버에 요청된 내용들을 캐시를 이용하여 저장합니다.!

 

즉 캐시를 이용하여 저장을 하기때문에 전송시간도 절약할 수 있으며 동시에 불필요하게 외부와의 연결을 하지 않아도 된다는 장점을 가지게 됩니다. 또한 외부와의 트래픽을 줄이게 됨으로써 네트워크 병목 현상을 방지할 수 있습니다.

 


프록시 서버(Proxy)의 주요 특징

 

  1. 로컬PC와 외부 인터넷 사이의 징검다리 역할
  2. 중계를 해주기 때문에 외부 인터넷에서는 Client 정보를 알 수 없다. (A Client가 B Proxy에 접근하여 C인터넷에 접속하는 방식.)
  3. 외부 인터넷의 내부 침입을 막는 방화벽과 관련이 있다. (프록시 서버는 보통 DMZ에 위치하고 있음.)
  4. 프록시 서버는 캐시 기능이 있다.
  5. IP를 바꾸기 위한 용도로 사용된다.

 

프록시 서버는 서버의 위치에 따라 두가지로 나뉘게 됩니다.

 


1. Forward 프록시

 

프록시 서버를 클라이언트 호스트들과 접근하고자 하는 원격 리소스의 사이에 위치시킵니다.

즉 사용자가 naver.com에 연결하려고 하면 사용자가 PC에 직접 연결하는 것이 아니라 Forward 프록시 서버가 요청을 받아 naver.com에 연결하여 그 결과를 사용자에게 전달해준다.

클라이언트의 정보를 감출 수 있습니다.

 


2. Reverse 프록시

프록시 서버를 인터넷, 인트라넷 리소스 앞에 위치키시는 방식,

즉 사용자가 naver.com 에 웹 서비스에 데이터를 요청하면 Reverse 프록시가 이 요청을 받아 내부 서버에서 데이터를 받은 후에 이 데이터를 사용자에게 전달하는 방식입니다.

내부 서버가 직접 서비스를 제공해도 되지만, 이렇게 구성하는 이유는 보안 때문입니다. 

보통 기업의 네트워크 환경은 DMZ 라고 하는 구간에 메일 서버, 웹 서버 FTP 서버 등 외부 서비스를 제공하는 서버가 윛하게 됩니다.

서비스를 자바로 구현해서 WAS를 DMZ에 놓고 서비스해도 되지만 WAS는 보통 DB 서버와 연결되므로 WAS가 최전방에 있으면 WAS가 해킹당할 경우 DB서버까지 같이 해킹되는 심각한 문제가 발생할 수 있습니다. 따라서 Reverse Proxy 서버를 두고 실제 서비스 서버는 내부망에 위치시키고 프록시 서버만 내부에 있는 서비스 서버와 통신해서 결과를 클라이언트에게 제공하는 방식으로 서비스를 하게 됩니다. 

 


Proxy 서버의 목적

 

1. 보안 : 익명의 사용자가 서버에 접근하는 것을 막는다.

2. 속도 : Proxy 서버는 사용자의 요청을 캐시해서 동일 요청이 들어오면 캐시 자원을 반환한다. (서비스 속도를 높혀줌.)

3. ACL : 사이트 접근에 대한 접근 정책을 정의할 수 있다. (ACL = 프록시 서버에 접속할 수 있는 범위를 설정하는 옵션)

4. Log/Audit : 회사 내 직원의 인터넷 사용을 레포팅할 수 있다. 반대로 인트라넷의 사용을 레포팅할 수도 있다.

5. 지역 네트워크의 제한 우호 : 보안 상의 이유로 80포트 외에 포트를 막아 놓은 경우가 있는데 이러한 제한을 우회해서 원하는 다른 서비스를 이용할 수 있다.

 


 

반응형

+ Recent posts