DMZ(Demilitarized Zone, 비무장 지대)는 내부 네트워크(사설망)와 외부 네트워크(인터넷) 사이에서 일정 부분 개방된 영역을 의미한다.
이는 보안 위험을 최소화하면서도, 필수적인 서비스를 외부에 제공할 수 있도록 하기 위해 사용됨.
방화벽(Firewall)은 일반적으로 내부 네트워크(사설망)를 보호하지만,웹 서버, FTP 서버, 이메일 서버와 같이 외부에서도 접근이 필요한 서버들은 완전히 차단할 수 없음.
DMZ에는 일반적으로 외부 사용자가 접근해야 하는 서버들이 배치됨
- 웹 서버(Web Server) → 홈페이지 제공
- FTP 서버(File Transfer Protocol Server) → 파일 업로드 및 다운로드
- 메일 서버(Email Server) → 외부와 이메일 송수신
방화벽에서 DMZ 영역에 위치한 서버들은 외부 접근을 허용해야 하기 때문에, 일부 포트를 개방
- 웹 서버 (HTTP, HTTPS) → 포트 80, 443 개방
- FTP 서버 → 포트 21 개방
DMZ를 사용하면 보안이 강화됨
- 만약 DMZ의 웹 서버가 해킹당하더라도, 내부 네트워크로 직접 접근할 수 없음
- DMZ에 별도의 방화벽을 추가하여 내부망과 분리하여 보호 가능
[인터넷] ─── [방화벽] ─── [내부 네트워크(사설망)]
문제점:
[인터넷] ─── [방화벽] ─── [DMZ 영역 (웹/FTP 서버)] ─── [방화벽] ─── [내부 네트워크]
장점:
DMZ는 "완충 지대" 역할을 하고, 내부 네트워크를 보호하면서도 외부 서비스 제공이 가능하도록 설계된 보안 네트워크다!
DMZ와 다르지만 유사한 개념으로 Bastion Host, Jump Server 라고 부르는 보안 방식이 생각이 났다.
대학생 때 잠시 판교에서 잠시 일을 한 적이 있다.
그 때에는 서버에 대한 개념이 잡히지 않은 상태였지만 회사 서버라서 보안을 철저히 했던 기억이 있다.
AWS EC2를 SSH로 접속하는 환경이었는데, 플랫폼 기획부에서 일하는 일개 학생에게 선뜻 서버를 내주시고 마음껏 만져보라고 경험시켜주신 이사님, 큰 호의에 감사 드립니다.