클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 응용 시스템이나 응용 프로그램
서버와 클라이언트 사이 존재하는 '중계 서버'로 시스템이 방화벽을 갖고 있는 경우 외부와의 통신을 위해 만들어 놓은 서버이다.
보안상의 이유 등으로 클라이언트와 서버 사이 직접 통신할 수 없는 경우 두 사이 대리로 통신을 수행하는 기능을 하며 클라이언트는 프록시 서버를 '서버'라고 인식하고, 서버 입장에서 '클라이언트'로 인식하게 된다.
▶ Forward 프록시
클라이언트의 요청을 서버에 대신 전달하고 전달받은 응답을 다시 클라이언트에 전달한다. 클라이언트는 원격의 목적지 서버의 주소를 기반으로 자원을 요청하고 프록시 서버는 클라이언트 대신 그 주소를 받아 목적지 서버에 연결하고 자원을 가져온다. 실제 서버는 클라이언트의 주소를 알지 못한다.
이 경우 대역폭 사용을 감소시킬 수 있다는 점과 정책 구현에 있어 다루기 쉬우면서도 비용이 저렴하다는 장점이 있다. 또한 사용자가 정해진 사이트만 접속할 수 있게 하는 등 웹 사용 환경을 제한할 수 있어 기업 환경 등에서 많이 사용된다.
최근에는 프록시 서버에 바로 연겨하기 보다는 VPN(Virtual Private Network)을 주로 사용해 악의적인 프록시 서버에 연결되어 정보를 탈취하는걸 막아 가상 네트워크로 오고가는 정보를 모두 암호화 해준다.
▶ Reverse 프록시
리버스 프록시는 서버 앞단에 위치하여 서버들을 제어하고 보호한다. 클라이언트는 리버스 프록시 서버의 주소를 목적지 서버로 하여 데이터를 요청한다. 클라이언트는 실제 서버가 아닌 리버스 프록시 서버를 일반적인 보통 서버로 보게 된다. 프록시 서버는 클라이언트 요청을 받아 실제 서버에 데이터 요청을 하고 응답된 데이터를 클라이언트로 전달한다.
리버스 프록시는 어느 서버에 요청을 보낼지 결정하는 라우팅 기능과 한 서버에 부하를 막기 위해 여러 서버에 요청을 분산시켜주는 로드 밸런싱 기능도 제공한다. 또한 SSL/TLS 암호화 기능을 적용하여 효율적으로 암호하 통신을 진행하기도 한다.
* 보통 기업 네트워크 환경에서 내부 네트워크(WAS, DBMS)와 외부 네트워크 사이에 DMZ라고 부르는 구간이 존재한다. DMZ 에는 메일 서버, 웹 서버, FTP 서버 등 외부 서비스를 제공하는 서버가 위치하게 된다. 리버스 프록시를 DMZ에 두고 실제 서비스 서버는 내부망에 위치시킨다. WEB-WAS 으로 분리된 구조에서 WEB부분이 리버스 프록시라고 볼 수 있다.
※ 정리
내부 네트워크에 존재하지만, 외부에서 접근할 수 있는 특수한 네트워크 영역을 말한다.
DMZ에서 내부로의 연결은 불가능하지만 반대로 내부에서 DMZ로의 연결은 가능하다(방화벽 설정을 이용).
예를 들어, 사내 시스템 중 외부에서 접속하는 시스템으로 웹 서버, 이메일 서버, FTP 서버등이 있고 이 영역을 A이라 하자. 그 외 내부에서만 사용하는 영역은 B이다. 외부에 열린 A에서 B로의 접속은 보안상 위험이 있음으로 접속을 막는다. 따라서 A를 통해 내부 시스템에 접속이나 침입은 불가능하다. B에서 A로의 접속은 보안상 우려가 없으니 접속을 허가한다.
이러한 예를 위의 그림에 적용했을 때 시스템 영역 A는 DMZ에 위치하고 시스템 영역 B는 내부 네트워크가 된다. 즉, 외부 연결이 필요한 시스템은 DMZ에 배치한다. 모든 연결이 DMZ로 가능한 것이 아니라, 알맞은 서비스만 연결이 되도록 방화벽 설정이 필요하다. DMZ에서 내부로의 연결은 불가능하지만 반대로 내부에서 DMZ로의 연결은 가능하다. 이는 또 다른 방화벽 설정으로 구현 가능하다.
외부 네트워크에서 DMZ로 가는 연결은 일반적으로 포트 주소 변환(PAT)을 통해 제어된다.
* 포트 주소 변환(PAT, Port Address Translation)
외부 네트워크상의 호스트 및 포트와 내부 네트워크 상의 호스트 및 포트간에 이뤄지는 TCP(UDP) 통신을 변환해주는 네트워크 장비의 기능. 하나의 IP 주소를 가지고 여러 개의 내부 호스트를 사용할 수 있다.
DMZ는 방화벽 설정 옵션을 통해 만들어지는데, 이 설정 옵션을 통해 각각의 네트워크는 방화벽에 서로 다른 포트를 사용하게 연결하게 된다. 이것을 삼각 방화벽 설정 이라고 부른다. 더 강력한 방법은 두 개의 방화벽을 사용하는 것으로 DMZ는 이 두 방화벽 중간에 위치하며, 두 방화벽과 연결된다. 하나의 방화벽은 외부 네트워크와 연결되고 다른 방화벽은 내부 네트워크와 연결된다. 이런 구성 형식을 차단된 서브넷 방화벽 이라고 한다.
DMZ 네트워크를 이해하자 https://brunch.co.kr/@sangjinkang/51
[IT상식] DMZ 서버란? https://itprogramming119.tistory.com/entry/IT-%EC%83%81%EC%8B%9D-DMZ-%EC%84%9C%EB%B2%84%EB%9E%80
포워드 프록시와 리버스 프록시의 차이점 https://www.lesstif.com/linux-core/linux-web-server-web-application/forward-proxy-reverse-proxy
Foward Proxy & Reverse Proxy 차이점 https://itchipmunk.tistory.com/463
[LINUX] 리눅스 명령어 | 저장공간 확인하기 df, du (0) | 2022.11.21 |
---|---|
LINUX | 리눅스(LINUX) 운영체제들에 대해 알아보자 (0) | 2022.09.12 |
LINUX | SWAP 스왑메모리(와 가상 메모리)에 대해 (0) | 2022.09.12 |
액티브 디렉터리(Active Directory, AD) (0) | 2022.06.10 |
댓글 영역