기업 네트워크에는 직원 PC, 서버, 데이터베이스, 클라우드 서비스, 외부 인터넷 등 다양한 시스템이 연결되어 있다. 모든 시스템이 제한 없이 서로 통신할 수 있도록 구성하면 편리할 수 있지만 보안 위험도 함께 증가한다.
인터넷에서 기업 내부 서버로 불필요한 접근이 들어올 수 있고, 일반 사용자 PC에서 중요 데이터베이스로 직접 접속할 수도 있다. 악성코드에 감염된 내부 PC가 외부의 공격자 서버와 통신하는 상황도 발생할 수 있다.

이러한 네트워크 통신을 정해진 정책에 따라 허용하거나 차단하는 대표적인 보안 장비가 방화벽(Firewall)이다.
방화벽의 핵심 역할은 단순히 외부 공격을 막는 것이 아니다. 어떤 출발지에서 어떤 목적지로, 어떤 방식의 통신을 허용할 것인지 결정하고 그 경계를 통제하는 것이 방화벽의 기본 기능이다.
방화벽은 네트워크 통신의 통과 여부를 결정한다
네트워크에서 데이터는 패킷 단위로 전달된다. 방화벽은 자신을 통과하려는 네트워크 트래픽의 정보를 확인하고 설정된 보안정책과 비교해 허용 또는 차단을 결정한다.
기본적인 판단에는 다음과 같은 정보가 사용될 수 있다.
- 출발지 IP 주소
- 목적지 IP 주소
- 출발지·목적지 포트
- TCP·UDP와 같은 프로토콜
- 통신 방향
- 네트워크 또는 보안 영역
- 기존 연결과의 관계
예를 들어 외부 사용자가 기업의 웹 서버에 HTTPS로 접속해야 한다면 다음과 같은 정책을 구성할 수 있다.
인터넷 → 웹 서버 → TCP 443 허용
반면 인터넷에서 내부 데이터베이스 서버로 직접 접속할 필요가 없다면 해당 통신은 차단한다.
인터넷 → DB 서버 → 차단
이처럼 방화벽은 모든 통신을 단순히 막는 장비가 아니라 업무에 필요한 통신과 불필요하거나 허용되지 않은 통신을 구분하는 장비다.
방화벽 정책은 출발지와 목적지, 서비스를 기준으로 구성된다
기업 방화벽에서는 여러 개의 보안정책이 운영된다.
예를 들어 사내 사용자 PC가 인터넷 웹사이트에 접속하는 것은 허용하면서 인터넷에서 사용자 PC로 임의 접속하는 것은 차단할 수 있다.
서버 환경에서도 업무에 필요한 통신만 선택적으로 허용할 수 있다.
사용자망 → 웹 서버: HTTPS 허용
웹 서버 → DB 서버: 필요한 DB 포트만 허용
사용자망 → DB 서버: 직접 접속 차단
관리망 → 서버: 관리 목적의 특정 통신 허용
이러한 정책을 이용하면 같은 기업 내부 네트워크라도 시스템의 역할에 따라 통신 범위를 다르게 설정할 수 있다.
중요한 것은 단순히 IP 주소를 차단하는 것이 아니라 업무상 필요한 통신 경로를 먼저 파악한 뒤 필요한 범위만 허용하는 것이다.
패킷 필터링은 방화벽 동작의 기본적인 형태다
기본적인 방화벽은 패킷 헤더에 포함된 IP 주소, 포트 번호, 프로토콜 등의 정보를 검사해 통신 허용 여부를 결정할 수 있다.
이를 패킷 필터링(Packet Filtering)이라고 한다.
예를 들어 외부에서 웹 서버의 TCP 443 포트로 들어오는 패킷은 허용하고 그 외 불필요한 포트에 대한 접근은 차단할 수 있다.
이 방식은 비교적 단순하고 빠르게 통신을 제어할 수 있다는 장점이 있다.
하지만 각각의 패킷을 독립적으로 판단하는 방식만으로는 해당 패킷이 정상적인 통신 과정의 일부인지 충분히 판단하기 어렵다.
이러한 한계를 보완하기 위해 널리 사용되는 방식이 Stateful Inspection이다.
Stateful Inspection은 통신의 연결 상태까지 확인한다
Stateful Inspection 방화벽은 단순히 개별 패킷의 IP 주소와 포트만 확인하지 않는다.
현재 어떤 네트워크 연결이 만들어져 있고 해당 패킷이 기존 정상 연결에 속하는지를 추적한다.
이를 위해 방화벽은 일반적으로 연결 상태 정보를 관리하는 State Table을 사용한다.
예를 들어 사내 PC가 외부 웹 서버에 접속한다고 가정해 보자.
사내 PC → 방화벽 → 외부 웹 서버
방화벽은 내부에서 시작된 연결 정보를 기록한다. 이후 외부 웹 서버가 해당 요청에 대한 응답 패킷을 보내면 방화벽은 기존 연결 상태를 확인하고 정상적인 응답으로 판단할 수 있다.
반면 기존 연결과 관계없이 외부에서 임의의 패킷이 들어온다면 설정된 정책과 연결 상태를 기준으로 차단할 수 있다.
NIST는 Stateful Inspection을 연결 상태를 추적하면서 예상된 상태에서 벗어나는 패킷을 차단하는 방식으로 설명한다.
이러한 상태 기반 검사는 오늘날 일반적인 네트워크 방화벽의 중요한 동작 원리다.
기업에서는 네트워크 구간 사이에 방화벽을 배치한다
방화벽은 인터넷과 기업 내부망 사이에만 설치되는 것은 아니다.
기업 네트워크는 목적에 따라 여러 영역으로 나뉠 수 있다.
인터넷 → 방화벽 → DMZ → 내부 서버망 → 사용자망
DMZ에는 홈페이지나 외부 서비스처럼 인터넷에서 접근해야 하는 시스템을 배치할 수 있다.
반면 데이터베이스나 중요 업무 서버는 내부 영역에 배치하고 인터넷에서 직접 접근하지 못하도록 통제할 수 있다.
최근에는 내부 네트워크에서도 시스템의 중요도에 따라 영역을 세분화한다.
예를 들어 사용자망, 서버망, 개인정보처리시스템 영역, 개발망, 관리망 등을 구분하고 영역 사이의 통신을 방화벽으로 제한할 수 있다.
이러한 구조는 외부 공격뿐 아니라 내부에서 발생한 침해사고가 다른 시스템으로 확산되는 범위를 줄이는 데도 도움이 된다.
DMZ는 외부 공개 시스템과 내부망 사이의 완충 영역이다
기업 홈페이지처럼 인터넷 사용자에게 공개해야 하는 시스템을 내부 업무망에 그대로 배치하면 외부 공격에 노출된 시스템과 내부 중요 시스템 사이의 거리가 지나치게 가까워질 수 있다.
이를 줄이기 위해 사용할 수 있는 구조가 DMZ다.
인터넷 → 방화벽 → 웹 서버(DMZ) → 방화벽 통제 → 내부 DB
외부에서는 웹 서버의 필요한 서비스만 접근할 수 있도록 하고, 웹 서버에서 내부 데이터베이스로 필요한 통신만 제한적으로 허용한다.
만약 외부에 공개된 웹 서버가 침해되더라도 공격자가 내부 시스템으로 자유롭게 이동하지 못하도록 추가적인 네트워크 경계를 만드는 것이다.
DMZ 자체가 공격을 자동으로 방어하는 기술은 아니다. 핵심은 외부 공개 시스템과 내부 시스템을 서로 다른 보안 영역으로 분리하고 그 사이의 통신을 정책으로 제한하는 데 있다.
방화벽은 들어오는 통신뿐 아니라 나가는 통신도 통제한다
방화벽이라고 하면 외부에서 내부로 들어오는 공격만 차단한다고 생각하기 쉽다.
하지만 기업 환경에서는 내부에서 외부로 나가는 트래픽에 대한 통제도 중요하다.
예를 들어 악성코드에 감염된 PC가 공격자의 외부 서버에 접속하거나, 내부 서버가 업무상 필요하지 않은 인터넷 서비스에 연결하는 상황이 있을 수 있다.
업무 서버 → 필요한 외부 업데이트 서버만 허용
DB 서버 → 일반 인터넷 직접 접속 제한
사용자망 → 승인된 인터넷 서비스 허용
들어오는 트래픽을 제어하는 것을 Ingress Filtering, 나가는 트래픽을 제어하는 것을 Egress Filtering이라고 부르기도 한다.
기업의 보안정책에 따라 두 방향을 함께 관리하는 것이 중요하다.
NAT와 방화벽은 함께 사용되지만 같은 기능은 아니다
기업 방화벽에서는 NAT(Network Address Translation) 기능을 함께 사용하는 경우가 많다.
예를 들어 사설 IP 주소를 사용하는 내부 PC가 인터넷에 접속할 때 내부 주소를 공인 IP 주소로 변환할 수 있다.
10.10.10.25 → 방화벽 NAT → 공인 IP → 인터넷
외부에서 공개 서버로 접속할 때도 공인 IP 주소를 내부 서버의 주소와 연결할 수 있다.
다만 NAT와 방화벽의 접근통제를 같은 기능으로 이해할 필요는 없다.
NAT의 기본 목적은 네트워크 주소를 변환하는 것이고, 방화벽의 핵심 목적은 보안정책에 따라 네트워크 통신을 통제하는 것이다.
실제 장비에서는 두 기능이 함께 제공되는 경우가 많기 때문에 하나의 기능처럼 보일 수 있다.
차세대 방화벽은 애플리케이션과 위협 정보까지 활용한다
전통적인 방화벽은 주로 IP 주소, 포트, 프로토콜과 연결 상태를 기준으로 통신을 제어했다.

하지만 인터넷 서비스가 복잡해지면서 포트 정보만으로 실제 애플리케이션을 구분하기 어려운 경우가 많아졌다.
예를 들어 서로 다른 여러 서비스가 HTTPS의 TCP 443 포트를 사용할 수 있다.
이러한 환경에서 차세대 방화벽(NGFW)은 기존 Stateful Inspection에 더해 제품에 따라 애플리케이션 식별, 사용자 기반 정책, 침입방지, URL 필터링, 위협정보 등의 기능을 제공할 수 있다.
다만 모든 NGFW가 동일한 기능과 탐지 수준을 제공하는 것은 아니므로 실제 기능은 제품과 구성 방식에 따라 확인해야 한다.
방화벽과 WAF는 보호 대상이 다르다
네트워크 방화벽과 웹방화벽(WAF)은 모두 Firewall이라는 이름을 사용하지만 보호하는 범위에는 차이가 있다.
일반적인 네트워크 방화벽은 IP 주소, 포트, 프로토콜, 연결 상태와 같은 네트워크 통신을 통제하는 역할이 중심이다.
WAF는 HTTP·HTTPS 기반 웹 애플리케이션 트래픽을 분석해 웹 공격을 탐지하고 차단하는 데 초점을 둔다.
따라서 네트워크 방화벽에서 TCP 443 접속을 허용했다고 해서 해당 HTTPS 안에서 전달되는 모든 웹 요청이 안전하다는 의미는 아니다.
기업에서는 보호 대상과 위험에 따라 네트워크 방화벽, IPS, WAF 등의 보안 통제를 함께 구성할 수 있다.
방화벽 로그는 보안관제와 사고분석에도 활용된다
방화벽은 네트워크 통신을 허용하거나 차단하는 과정에서 다양한 로그를 생성할 수 있다.
- 출발지와 목적지 IP
- 포트와 프로토콜
- 허용·차단 결과
- 정책 식별정보
- 연결 시간
- 전송량
- 애플리케이션 정보
이러한 로그는 보안관제에서 중요한 데이터가 된다.
특정 외부 IP에서 다수의 내부 서버로 접근을 시도하거나, 평소 통신하지 않던 내부 서버가 외부의 특정 주소와 반복적으로 연결되는 상황을 분석할 수 있기 때문이다.
SIEM과 같은 시스템에서는 방화벽 로그를 다른 보안 장비나 서버 로그와 함께 분석해 이상 징후를 탐지하기도 한다.
따라서 방화벽은 통신을 차단하는 장비이면서 동시에 네트워크에서 어떤 통신이 발생했는지 확인할 수 있는 중요한 로그 소스이기도 하다.
방화벽 정책은 지속적으로 관리해야 한다
방화벽을 설치하는 것만으로 보안이 유지되는 것은 아니다.

업무 시스템이 추가되고 서비스가 변경될 때마다 새로운 정책이 만들어지면서 오랫동안 운영된 방화벽에는 많은 규칙이 쌓일 수 있다.
더 이상 사용하지 않는 서버의 정책이 남아 있거나, 임시로 허용했던 정책이 삭제되지 않는 경우도 발생할 수 있다.
특히 출발지, 목적지, 서비스 범위를 지나치게 넓게 허용하면 방화벽이 존재하더라도 실제 접근통제 효과는 낮아질 수 있다.
필요한 통신만 허용하고 나머지는 제한한다.
정책 추가와 변경은 승인 절차에 따라 수행한다.
임시 정책에는 사용 기간이나 종료 조건을 관리한다.
불필요하거나 중복된 정책을 정기적으로 검토한다.
중요 정책의 변경 기록과 로그를 보존한다.
방화벽 보안 수준은 장비 가격이나 성능만으로 결정되지 않는다. 실제로 어떤 정책이 설정되어 있고 그 정책이 얼마나 적절하게 유지되는지가 더 중요할 수 있다.
방화벽만으로 모든 보안 위협을 막을 수는 없다
방화벽은 기업 네트워크 보안의 핵심 통제 중 하나지만 모든 공격을 해결하는 장비는 아니다.
정상적으로 허용된 통신 안에서도 공격이 발생할 수 있다.
외부 사용자의 HTTPS 접속을 허용해야 하는 웹 서버에서 TCP 443을 모두 차단하면 공격은 줄어들 수 있지만 정상 사용자도 서비스를 이용할 수 없다.
따라서 서비스를 제공하려면 해당 통신을 허용해야 하며 공격자는 허용된 웹 통신을 이용해 애플리케이션의 취약점을 공격할 수도 있다.
또한 사용자가 피싱으로 계정정보를 노출하거나 악성파일을 직접 실행하는 문제도 네트워크 방화벽 하나만으로 완전히 해결하기 어렵다.
기업 보안에서는 방화벽과 함께 엔드포인트 보안, 취약점 관리, 접근통제, IPS, WAF, 보안관제, 사용자 보안교육 등 여러 통제를 함께 적용한다.
방화벽의 핵심은 장비가 아니라 정책이다
방화벽은 네트워크를 단순히 차단하는 장비가 아니다.
기업의 네트워크를 여러 보안 영역으로 구분하고 어떤 시스템 사이에 어떤 통신을 허용할 것인지 기술적으로 집행하는 통제 지점이다.
트래픽 발생 → 방화벽 도착 → 통신 정보와 상태 확인 → 보안정책 비교 → 허용 또는 차단 → 로그 기록
기업에서는 인터넷 경계뿐 아니라 DMZ, 서버망, 사용자망, 관리망 등 서로 다른 보안 영역 사이에서도 방화벽을 활용할 수 있다.
그리고 방화벽이 효과적으로 작동하려면 필요한 통신을 정확하게 파악하고 최소한의 범위로 허용하며, 오래된 정책과 불필요한 예외를 지속적으로 관리해야 한다.
결국 방화벽 보안의 핵심은 장비 자체보다 네트워크 구조와 업무 흐름을 이해한 상태에서 적절한 정책을 설계하고 유지하는 것에 있다.

