비무장지대(Demilitarized Zone, DMZ)는 컴퓨터 보안 분야에서 조직의 내부 네트워크와 외부 네트워크(일반적으로 인터넷) 사이에 위치한 물리적 또는 논리적 서브넷을 의미한다. 이 용어는 군사 분야에서 유래한 것으로, 국제법상 병력 및 군사시설을 주둔시키지 않는 완충 지역이라는 원래 의미를 네트워크 보안 구조에 차용한 것이다.
DMZ의 핵심 원리는 내부 네트워크와 외부 네트워크가 DMZ로 연결할 수 있도록 허용하면서도, DMZ 내의 호스트는 오직 외부 네트워크에만 연결할 수 있도록 제한하는 데 있다. 즉 DMZ 안에 있는 호스트들은 내부 네트워크로 연결할 수 없으며, 이로써 DMZ에 위치한 호스트가 외부 네트워크에 서비스를 제공하면서도 해당 호스트의 침입으로부터 내부 네트워크를 보호한다. 외부 네트워크에서 내부 네트워크로의 불법적 연결을 시도하는 공격자가 있다면, DMZ는 그들에게 막다른 골목이 되어 내부 자원을 보호하는 완충 역할을 수행한다.
DMZ는 일반적으로 메일 서버, 웹 서버, DNS 서버와 같이 외부에서 접근되어야 할 필요가 있는 서버들을 배치하는 데 사용된다. 외부 네트워크에서 DMZ로 가는 연결은 주로 포트 주소 변환(Port Address Translation, PAT)을 통해 제어된다.
DMZ의 구현 방식은 크게 두 가지로 구분된다. 첫째는 단일 방화벽의 설정 옵션을 통해 각각의 네트워크가 방화벽에 서로 다른 포트를 사용하여 연결되도록 구성하는 방식으로, 이를 삼각 방화벽 설정(three-legged firewall set-up)이라 부른다. 둘째는 더 강력한 보안을 제공하는 방식으로, 두 개의 방화벽을 사용하여 DMZ를 두 방화벽의 중간에 위치시키는 구성이다. 이때 하나의 방화벽은 내부 네트워크와 연결되고 다른 하나는 외부 네트워크와 연결되며, 이러한 구성은 우연한 설정 실수를 통해 외부 네트워크가 내부 네트워크로 직접 연결되는 상황을 방지한다. 이 구성 형식을 차단된 서브넷 방화벽(screened-subnet firewall)이라고 부른다.
한편, 가정용 라우터에서 제공되는 "DMZ 호스트" 기능은 특정 내부 호스트를 외부 네트워크에 완전히 노출시키는 기능으로, 정의상 진정한 DMZ가 아니라는 점에 유의할 필요가 있다. 이는 내부 네트워크와 외부 네트워크 사이의 격리된 서브넷이라는 DMZ의 본래 개념과는 차이가 있다.
DMZ는 기업 네트워크, 데이터 센터, 공공 기관 등 외부에 서비스를 제공하면서도 내부 시스템의 보안을 유지해야 하는 다양한 환경에서 널리 사용되는 표준적인 네트워크 보안 아키텍처 패턴이다.