📚 네트워크 · 패킷 분석 › 06. 방화벽 · IDS 기초 — 270편
이전 글: 269. Port Forwarding · 다음 글: 271. Firewall Logging

1. 개념

DMZ(DeMilitarized Zone) 는 외부에 서비스를 제공해야 하는 서버를 내부망과 분리해 두는 중간 신뢰 구역입니다. 단일·이중 방화벽 구조와 장비 배치는 04 영역 180. DMZ에서 다뤘습니다.

이 글은 DMZ를 방화벽 정책의 Zone 간 통신 행렬로 보고, 각 방향의 로그가 무엇을 의미하는지 다룹니다. 핵심 전제는 하나입니다.

DMZ 서버는 외부 공격을 직접 받으므로, 언젠가 침해될 수 있다고 가정하고 정책을 설계합니다.

출발 ↓ / 도착 →외부(인터넷)DMZ내부(사용자·서버)
외부—공개 서비스 포트만 허용차단
DMZ필요한 것만(업데이트 등)서버 간 필요한 것만원칙적 차단, 불가피한 연동만 좁게
내부정책에 따라 허용관리·운영 목적만—

2. 동작 원리

일반적인 웹 서비스 구조에서 허용되는 흐름과 허용되지 않아야 할 흐름입니다.

인터넷 ──443──→ [FW] ──→ DMZ 웹 10.30.0.10          (허용: 공개 서비스)
                           ↓ 3306 (특정 DB만)
                         [FW] ──→ 내부 DB 10.20.0.30   (허용: 좁은 연동)
관리망 10.99.10.0/24 ──22──→ [FW] ──→ DMZ 웹           (허용: 관리)

DMZ 웹 ──445/3389/22──→ 내부 대역           (차단 + 로그 = 내부 이동 시도)
DMZ 웹 ──임의 포트──→ 인터넷                (차단 + 로그 = 외부 통신 시도)
  • 내부 → DMZ 연결은 허용될 수 있지만, DMZ → 내부 연결은 극히 좁아야 합니다. 방향이 바뀌면 의미가 완전히 달라집니다.
  • DMZ 서버가 스스로 연결을 시작하는 경우는 드뭅니다. 웹 서버는 요청에 응답하는 역할이므로, DMZ에서 시작되는 새 연결 목록은 짧고 예측 가능해야 합니다.

3. 주요 특징

DMZ 관련 방화벽 로그는 방향별로 분석 가치가 다릅니다.

방향로그 성격주목할 신호
외부 → DMZ 허용공개 서비스 이용(대량)공격 Alert와 같은 세션, 비정상적으로 큰 응답
DMZ → 내부 허용정해진 연동(소량)평소와 다른 포트·목적지, 연동 대상 외 서버
DMZ → 내부 차단거의 없어야 함1건도 조사 대상(내부 이동 시도 가능성)
DMZ → 외부 허용/차단업데이트 등 소량새 목적지, 주기적 연결, 대용량 업로드
  • 웹 서버가 침해되면 공격자는 보통 ① 외부에서 추가 도구 다운로드 → ② 내부 대역 탐색 → ③ 연동 경로를 통한 내부 접근 순서를 시도합니다. 각 단계가 DMZ 발 로그로 나타납니다.
  • DMZ → 내부 허용 규칙(예: 웹 → DB 3306)은 공격자에게도 유일한 합법 경로입니다. 이 경로의 트래픽 양·시간대 변화를 기준선과 비교합니다.

4. 예시

DMZ 웹 서버 침해 의심 상황의 방화벽 로그를 시간순으로 본 형식 예시입니다(값은 환경마다 다름).

# 형식 예시 — zone 필드 포함 방화벽 로그
14:02:11 allow ext→dmz  198.51.100.23:50110 → 10.30.0.10:443   bytes=18.2K
14:05:40 deny  dmz→ext  10.30.0.10:43012   → 203.0.113.77:8080  rule=DMZ-EGRESS-DEFAULT
14:06:02 allow dmz→ext  10.30.0.10:43020   → 203.0.113.77:443   rule=DMZ-UPDATE-ANY443
14:09:15 deny  dmz→int  10.30.0.10:52001   → 10.20.0.11:445     rule=DMZ-TO-INT-DENY
14:09:15 deny  dmz→int  10.30.0.10:52002   → 10.20.0.12:445     rule=DMZ-TO-INT-DENY
14:09:16 deny  dmz→int  10.30.0.10:52003   → 10.20.0.13:445     rule=DMZ-TO-INT-DENY

분석 방법

  1. 14:02 외부 요청 이후 14:05부터 DMZ 웹 서버가 스스로 외부 연결을 시작합니다. 8080은 차단됐지만 443은 DMZ-UPDATE-ANY443 규칙으로 허용됐습니다. 목적지를 제한하지 않은 업데이트 규칙이 우회 경로가 된 것입니다.
  2. 14:09에는 내부 서버 대역의 445 포트를 순차적으로 시도합니다. 내부 수평 탐색 패턴입니다.
  3. 14:02 요청과 같은 시각의 WAF·IDS 이벤트, 웹 서버 access log, 14:06 이후 서버의 프로세스·파일 생성 기록을 확인합니다.

5. 보안 관점

  • DMZ → 내부 허용 규칙은 목적지·포트를 최소화하고, 가능하면 DB 접근도 전용 계정·전용 포트로 제한합니다.
  • DMZ → 외부 규칙은 목적지까지 제한합니다. "업데이트용 443 any"는 위 예시처럼 공격자의 외부 통신 경로가 됩니다.
  • DMZ 서버의 관리 접속은 관리망에서만 허용하고, DMZ에서 관리망으로 가는 연결은 차단합니다.
  • DMZ 내부 서버 간 통신도 필요한 것만 허용합니다. 한 대가 침해되면 같은 DMZ의 다른 서버가 다음 대상이 됩니다.

6. SOC 관점

관제자가 확인할 질문

  • DMZ 서버가 시작한 연결(DMZ → 외부, DMZ → 내부)이 평소 목록에 없는 것인가?
  • DMZ → 내부 차단 로그가 있다면, 직전에 해당 서버를 향한 외부 공격 Alert가 있었는가?
  • DMZ → 내부 허용 경로(예: 3306)의 트래픽 양·시간대가 평소와 다른가?
탐지 규칙 아이디어근거
DMZ → 내부 차단 발생 시 즉시 알림정상 상황에서 거의 발생하지 않음
DMZ 서버의 신규 외부 목적지 알림서버의 외부 목적지는 고정적
외부 공격 Alert 후 같은 서버의 Outbound 발생공격 성공 가능성

오탐 주의: 서버 담당자가 작업 중 설치 패키지를 받거나 모니터링 에이전트를 추가하면 DMZ 발 외부 연결이 새로 생깁니다. 변경 작업 기록을 확인합니다. 이런 흔적을 이상 이벤트로 판단하는 기준은 274. 비정상 Firewall Event에서 이어집니다.


7. 핵심 정리

  • DMZ 정책은 "DMZ 서버는 침해될 수 있다"는 전제로 Zone 간 통신 행렬을 설계합니다.
  • 외부 → DMZ는 공개 서비스만, DMZ → 내부는 원칙적 차단과 좁은 연동만 허용합니다.
  • DMZ 서버가 스스로 시작한 연결은 목록이 짧고 예측 가능해야 하며, 벗어나면 조사 대상입니다.
  • DMZ → 내부 차단 로그는 1건도 내부 이동 시도의 신호일 수 있습니다.
  • 목적지를 제한하지 않은 DMZ Outbound 허용 규칙은 공격자의 외부 통신 경로가 됩니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글