📚 네트워크 · 패킷 분석 › 02. 포트 · 프로토콜 분석 — 95편
이전 글: 94. Port Scan · 다음 글: 96. IDS Alert의 Port

1. 개념

방화벽 로그는 관제에서 가장 많이 보는 로그 중 하나이며, 거의 모든 줄에 프로토콜·출발지 포트·목적지 포트가 들어 있습니다. 그런데 제품마다 필드 이름과 위치가 달라서, "포트가 어디에 있고 그 값이 무엇을 뜻하는지"를 먼저 알아야 로그를 읽을 수 있습니다.

이 글은 방화벽 로그에서 포트 필드를 찾고 해석하는 방법만 다룹니다. 방화벽 로그 전체 구조와 정책 분석은 06. 방화벽 · IDS 기초 영역 272. Firewall Log 구조, 273. Firewall Log 분석에서 다룹니다.

로그 원천출발지 포트 필드목적지 포트 필드프로토콜 필드
Linux netfilter LOG (iptables/nftables, ufw, firewalld)SPT=DPT=PROTO=
Windows Defender 방화벽 pfirewall.logsrc-portdst-portprotocol
상용·오픈소스 방화벽(SIEM 정규화 후)예: src_port, sport예: dst_port, dport예: proto, service

2. 동작 원리

방화벽이 포트 값을 기록하는 과정은 다음과 같습니다.

 패킷 도착 (IP 헤더 → Protocol 필드 확인)
      ↓
 TCP/UDP이면 L4 헤더에서 Source Port, Destination Port 추출
 ICMP이면 포트 대신 Type/Code 추출
      ↓
 규칙 비교 (프로토콜 + IP + 포트)
      ↓
 로그 규칙에 해당하면 기록: 동작(허용/차단) + 5-tuple + 부가 정보(Flag, 길이, 인터페이스)
      ↓
 (NAT 장비) 변환 전 포트 / 변환 후 포트를 따로 기록하기도 함

3. 주요 특징

로그 형식별 포트 관련 필드와 해석 포인트입니다.

형식포트와 함께 보면 좋은 필드해석 포인트
netfilter LOGIN=/OUT=, SYN, ACK 등 Flag 문자열, LEN=, TTL=IN=만 있으면 수신, OUT=만 있으면 송신, 둘 다 있으면 통과(포워딩) 패킷
ufw앞부분 [UFW BLOCK]/[UFW ALLOW]/[UFW AUDIT]기본 설정에서는 차단 위주로 기록
firewalld로그 접두어(존·동작 포함, 버전에 따라 형식 다름)--set-log-denied 설정에 따라 기록 범위 결정
Windows pfirewall.logaction, path(SEND/RECEIVE), tcpflags, size로깅은 기본 꺼짐, 프로필별로 성공·차단 기록을 켜야 함. 최신 버전은 pid 필드 추가

포트 값을 읽을 때 자주 틀리는 부분을 정리합니다.

상황흔한 착오올바른 해석
차단 로그 SPT=443 DPT=51000443 포트로 공격서버 응답이 차단됨(상태 테이블에 없는 늦은 응답, 비대칭 경로 등)
DPT= 없음로그 누락ICMP 등 포트 없는 프로토콜
허용 로그인데 서비스 없음서비스가 동작 중방화벽은 허용했지만 서버가 RST로 거부했을 수 있음 → 세션 바이트 확인
NAT 방화벽의 목적지 포트내부 서버 포트포트 포워딩 전(외부) 포트일 수 있음 → 변환 후 필드 확인
같은 연결이 여러 줄여러 번의 공격세션 시작·종료 로그를 따로 남기는 장비의 동작

4. 예시

실습 예시 — 본인 실습 VM에서 차단 로그를 켜고, 다른 VM에서 닫힌 포트로 접속을 시도한 뒤 포트 필드를 확인합니다.

# Ubuntu (ufw)
sudo ufw logging on
sudo tail -f /var/log/ufw.log

# Rocky Linux (firewalld)
sudo firewall-cmd --set-log-denied=all
sudo journalctl -k -f | grep -E 'REJECT|DROP'

# 다른 VM에서: 허용되지 않은 포트로 연결 시도 (예: 23)
nc -zv -w 2 192.168.10.20 23

ufw 차단 로그 형식 예시(값은 환경마다 다름, 한 줄을 보기 좋게 나눔):

Sep 30 10:15:02 ubuntu kernel: [UFW BLOCK] IN=ens33 OUT= MAC=...
  SRC=192.168.10.10 DST=192.168.10.20 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=31000 DF
  PROTO=TCP SPT=51022 DPT=23 WINDOW=64240 RES=0x00 SYN URGP=0

Windows 방화벽 로그 형식 예시(값은 환경마다 다름, 헤더의 필드 순서 기준):

#Fields: date time action protocol src-ip dst-ip src-port dst-port size tcpflags tcpsyn tcpack tcpwin icmptype icmpcode info path
2026-09-30 10:16:40 DROP TCP 192.168.10.10 192.168.10.30 51030 3389 52 S 1234567 0 64240 - - - RECEIVE
2026-09-30 10:16:41 DROP ICMP 192.168.10.10 192.168.10.30 - - 60 - - - - 8 0 - RECEIVE
줄포트 관련 해석
ufwIN=ens33, OUT= 비어 있음 → 수신. PROTO=TCP SPT=51022 DPT=23, SYN → 23번으로의 연결 시작 패킷 차단
Windows 1행출발지 51030(임시 포트) → 목적지 3389, Flag S, RECEIVE → 인바운드 RDP 연결 시도 차단
Windows 2행ICMP라 포트 칸이 -, icmptype 8은 Echo Request

집계할 때는 목적지 포트 기준으로 먼저 묶습니다.

# 차단된 목적지 포트 상위 (ufw 예)
grep -o 'PROTO=[A-Z]* SPT=[0-9]* DPT=[0-9]*' /var/log/ufw.log |
  awk '{print $1, $3}' | sort | uniq -c | sort -rn | head

5. 보안 관점

  • 방화벽 로그의 포트는 정책 위반을 판단하는 근거입니다. 외부 출발지의 허용 로그에 목적지 445·3389·3306이 있다면, 정책상 노출하지 말아야 할 포트가 열려 있다는 뜻입니다(87. 내부망 필수 포트와 외부 노출 금지 포트).
  • 로깅 범위가 좁으면 흔적이 사라집니다. 차단만 기록하는 설정에서는 허용된 악성 연결이 로그에 남지 않습니다. 반대로 모든 허용을 기록하면 양이 많아 저장·분석 부담이 커지므로 중요 구간 위주로 설계합니다(06 영역 271. Firewall Logging).
  • 로그에 기록된 포트는 패킷 헤더 값일 뿐입니다. 허용된 443 연결 안에서 무엇이 오갔는지는 방화벽 로그만으로 알 수 없습니다.

6. SOC 관점

관제자가 확인할 질문

  • 이 줄은 수신·송신·통과 중 어느 방향이며, 포트는 요청 방향 기준으로 읽었는가?
  • 목적지 포트는 해당 목적지 자산이 운영하는 서비스인가?
  • 허용 로그라면 세션 바이트·지속 시간으로 실제 통신 여부를 확인했는가?
  • NAT 장비라면 변환 전후 포트 중 어느 값인가?
오탐·혼동 원인확인 방법
세션 만료 후 늦게 도착한 응답(차단 로그에 서비스 포트가 출발지로)SPT가 서비스 포트, Flag가 ACK·FIN 등
비대칭 라우팅같은 세션의 반대 방향 로그가 다른 장비에 있음
멀티캐스트·브로드캐스트 차단목적지가 224.0.0.x, 255.255.255.255, 서브넷 브로드캐스트
방화벽 로그의 서비스 이름포트 번호 기반 표기이므로 실제 프로토콜은 IDS·패킷으로 확인

방화벽 로그를 Alert·패킷과 연계하는 방법은 06 영역 296. Alert와 Firewall Log 연계에서 다룹니다.


7. 핵심 정리

  • 방화벽 로그의 포트 필드는 netfilter SPT=/DPT=, Windows src-port/dst-port처럼 원천마다 이름이 다릅니다.
  • ICMP에는 포트가 없고 Type/Code가 대신 기록됩니다.
  • 출발지 포트가 서비스 포트인 차단 로그는 대개 응답 패킷이므로 방향부터 확인합니다.
  • 로그의 서비스 이름은 포트 번호 표기일 뿐 실제 프로토콜 확인이 아닙니다.
  • 허용 로그는 바이트·지속 시간으로 실제 통신 여부를, NAT 장비는 변환 전후 포트를 함께 확인합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글