junyeokk
Blog
Network·2025. 06. 19

Firewall (방화벽)

Firewalls (방화벽)

방화벽은 네트워크 경계에서 트래픽을 필터링하는 장치다. 신뢰할 수 없는 외부 네트워크(인터넷)와 내부 네트워크 사이에 위치해서, 정책에 따라 패킷을 허용하거나 차단한다.

핵심 원칙은 **기본 거부(default deny)**다. 명시적으로 허용된 트래픽만 통과시키고, 나머지는 차단한다.

방화벽의 필요성

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.28.48.png

인터넷에 연결된 네트워크는 다양한 위협에 노출된다:

  • DoS 공격으로 서비스 마비
  • 악성코드 침투
  • 내부 데이터 유출
  • 불법적인 자원 접근

방화벽은 이러한 위협으로부터 내부 네트워크를 보호하는 첫 번째 방어선이다.

패킷 필터링 (Stateless Packet Filter)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.29.26.png

가장 기본적인 방화벽 유형이다. 각 패킷을 독립적으로 검사하며, 헤더 정보만 보고 판단한다:

  • 출발지/목적지 IP 주소
  • 출발지/목적지 포트 번호
  • 프로토콜 (TCP, UDP, ICMP)
  • TCP 플래그 (SYN, ACK 등)

라우터의 ACL(Access Control List)이 대표적인 예다.

ACL 규칙 예시

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.29.37.png

ACL 규칙은 순서대로 평가된다. 첫 번째로 매칭되는 규칙이 적용된다.

규칙출발지목적지프로토콜포트동작
1any웹서버TCP80, 443허용
2내부망anyTCPany허용
3anyanyanyany거부

규칙 3이 기본 거부(default deny) 정책이다.

Stateless의 한계

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.29.45.png

Stateless 방화벽은 연결의 맥락을 모른다. 각 패킷을 개별적으로 판단하기 때문에:

  • 내부에서 시작한 연결의 응답 패킷인지, 외부에서 시작한 공격인지 구분할 수 없다
  • ACK 스캔 같은 기법으로 우회될 수 있다
  • 포트가 아닌 애플리케이션 레벨 공격을 탐지하지 못한다

Stateful Packet Inspection

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.29.53.png

Stateful 방화벽은 연결 상태를 추적한다. **연결 테이블(connection table)**을 유지하면서:

  1. 내부에서 외부로 나가는 SYN 패킷을 보면 새 연결로 기록
  2. 외부에서 들어오는 SYN-ACK는 기존 연결의 응답으로 허용
  3. 연결 테이블에 없는 외부 발신 패킷은 차단

이렇게 하면 "내부에서 시작한 연결의 응답"만 허용하고, "외부에서 시작한 연결"은 차단할 수 있다.

연결 상태 테이블

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.30.00.png

연결 테이블에는 각 연결의 상태가 기록된다:

출발지 IP출발지 포트목적지 IP목적지 포트상태타임아웃
192.168.1.105234193.184.216.34443ESTABLISHED3600s
192.168.1.1549152142.250.190.7880TIME_WAIT120s

연결이 종료되거나 타임아웃되면 테이블에서 제거된다.

Application Gateway (Proxy)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.30.09.png

Application Gateway는 특정 애플리케이션의 트래픽을 중계하고 검사한다.

예를 들어 HTTP 프록시는:

  1. 클라이언트가 프록시에 HTTP 요청을 보낸다
  2. 프록시가 요청 내용을 검사한다 (URL, 헤더, 바디)
  3. 정책에 맞으면 실제 서버에 대신 요청한다
  4. 응답도 검사 후 클라이언트에게 전달한다

L7 레벨에서 검사하므로 SQL Injection, XSS 같은 애플리케이션 공격도 탐지할 수 있다. 단점은 성능 오버헤드가 크다는 것.

DMZ (Demilitarized Zone)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.30.19.png

외부에 공개해야 하는 서버(웹서버, 메일서버)를 내부망에 두면 위험하다. 해당 서버가 뚫리면 내부망 전체가 위험해진다.

해결책은 DMZ를 두는 것이다:

text
인터넷 ─── [외부 방화벽] ─── DMZ ─── [내부 방화벽] ─── 내부망

                         웹서버, 메일서버
  • 외부 방화벽: 인터넷 → DMZ (웹 포트만 허용)
  • 내부 방화벽: DMZ → 내부망 (거의 대부분 차단)

DMZ 서버가 해킹당해도 내부망은 별도의 방화벽으로 보호된다.

방화벽의 한계

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.30.31.png

방화벽만으로는 모든 위협을 막을 수 없다:

  • 내부 위협: 방화벽은 외부-내부 경계에 있다. 내부자 공격은 탐지 못함
  • 암호화 트래픽: HTTPS 내용은 볼 수 없다 (TLS 복호화 없이는)
  • 허용된 포트 공격: 80번 포트가 열려있으면 HTTP 기반 공격은 통과
  • Zero-day 공격: 알려지지 않은 공격 패턴은 탐지 불가

그래서 IDS/IPS, WAF, EDR 등 다른 보안 솔루션과 함께 사용해야 한다.

차세대 방화벽 (NGFW)

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2025-06-09_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_7.30.40.png

NGFW(Next-Generation Firewall)는 기존 방화벽에 추가 기능을 통합한 것이다:

  • Deep Packet Inspection: 패킷 페이로드까지 검사
  • 애플리케이션 인식: 포트가 아닌 애플리케이션 기반 정책 (Skype, BitTorrent 등)
  • 사용자 인식: IP가 아닌 사용자 기반 정책
  • IPS 통합: 침입 방지 시스템 내장
  • TLS 복호화: HTTPS 트래픽 검사 (인증서 대체 방식)

Palo Alto, Fortinet, Cisco 등이 대표적인 NGFW 벤더다.

방화벽 유형 비교

유형검사 레벨상태 추적장점단점
Packet FilterL3-L4X빠름, 단순우회 쉬움
StatefulL3-L4O연결 맥락 이해L7 공격 못 막음
Application GWL7O깊은 검사성능 저하
NGFWL3-L7O통합 보안복잡, 고가