📚 네트워크 · 패킷 분석 › 06. 방화벽 · IDS 기초 — 269편
이전 글: 268. Firewall NAT · 다음 글: 270. DMZ와 Firewall

1. 개념

Port Forwarding(포트 포워딩) 은 방화벽(또는 공유기)의 외부 주소·포트로 들어온 연결을 내부의 특정 호스트·포트로 전달하는 설정입니다. 기술적으로는 목적지 IP와 포트를 바꾸는 DNAT의 한 형태입니다(268. Firewall NAT).

포트 포워딩은 설정 한 줄로 내부 호스트를 인터넷에 직접 노출합니다. 그래서 관제 관점에서는 "NAT 설정"이 아니라 "공개 서비스 목록의 일부" 로 관리해야 합니다.

형태예특징
같은 포트 전달203.0.113.10:443 → 10.30.0.10:443가장 일반적
포트 변환 전달203.0.113.10:8443 → 10.30.0.20:443외부 포트와 내부 포트가 다름
여러 서버를 포트로 구분:2201 → 서버A:22, :2202 → 서버B:22공인 IP 하나로 여러 내부 서버 공개
자동 포워딩(UPnP IGD)내부 프로그램이 공유기에 요청관리자가 모르는 공개가 생길 수 있음

2. 동작 원리

포트 변환 포워딩에서 패킷의 목적지는 다음과 같이 바뀝니다.

외부 198.51.100.23:50110 → 203.0.113.10:8443   (방화벽 외부 주소)
   ↓ [DNAT: 8443 → 10.30.0.20:443]
   ↓ [필터: 변환 후 목적지 10.30.0.20:443 허용 규칙 확인]
198.51.100.23:50110 → 10.30.0.20:443           (내부 서버 도착)
   ↓ 응답은 세션 기록으로 역변환
10.30.0.20:443 → 198.51.100.23:50110  ⇒  203.0.113.10:8443 → 198.51.100.23:50110

이 흐름에서 로그 해석의 함정이 생깁니다.

  • 방화벽 로그에는 변환 전 포트(8443) 와 변환 후 포트(443) 가 모두 있거나, 둘 중 하나만 있을 수 있습니다.
  • 내부 서버(10.30.0.20)의 로그에는 443으로 들어온 연결로만 보입니다.
  • 외부 IDS(방화벽 바깥)의 Alert에는 203.0.113.10:8443으로 보입니다.

같은 연결이 장비마다 다른 포트로 기록되므로, 연결할 때는 출발지 IP·포트와 시각을 기준으로 맞춥니다.


3. 주요 특징

포트 포워딩이 보안 사고로 이어지는 전형적인 경로입니다.

위험설명점검 방법
잊힌 포워딩테스트·유지보수용 포워딩이 작업 후 남음포워딩 목록과 공개 서비스 목록 대조
내부망 직접 전달DMZ가 아닌 사용자·서버망으로 전달포워딩 대상 IP의 소속 대역 확인
관리 서비스 공개22, 3389, DB 포트 포워딩목적지 포트 기준 검색
UPnP 자동 포워딩내부 프로그램이 스스로 포트를 엶경계 장비에서 UPnP 비활성화
비표준 포트로 숨기기3389 → 외부 33890스캐너는 전체 포트를 탐색하므로 효과 제한
  • 비표준 외부 포트는 자동화 스캔의 소음을 줄일 뿐입니다. 전체 포트 스캔(215. 전체 Port Scan)과 서비스 탐지로 쉽게 발견됩니다.
  • 포워딩된 내부 호스트는 외부 공격을 직접 받는 호스트이므로, 패치·계정 정책·로그 수집의 우선순위가 높아야 합니다.

4. 예시

현재 설정된 포트 포워딩을 확인하는 실습 예시입니다(값은 환경마다 다름). 설정 방법은 04 영역 186. Firewall NAT 정책을 참고합니다.

# Rocky (firewalld): zone별 포트 포워딩 목록
sudo firewall-cmd --zone=external --list-forward-ports

# 공통 (iptables nat 테이블): DNAT 규칙과 적중 수
sudo iptables -t nat -L PREROUTING -n -v --line-numbers

# 공통 (nftables): dnat 문이 들어간 규칙 검색
sudo nft list ruleset | grep -n dnat
# firewalld 출력 형식 예시 (값은 환경마다 다름)
port=8443:proto=tcp:toport=443:toaddr=10.30.0.20
port=33890:proto=tcp:toport=3389:toaddr=192.168.10.41   ← 사용자망 PC로 RDP 전달

분석 방법 — 두 번째 줄은 사용자망 PC의 RDP를 외부에 공개하는 포워딩입니다. 공개 서비스 목록에 없다면 즉시 확인 대상이며, 해당 PC의 Windows 로그온 이벤트(원격 로그온 성공·실패)와 방화벽 허용 로그의 출발지를 함께 확인합니다.


5. 보안 관점

  • 포트 포워딩은 공개 서비스 등록 절차를 거쳐야 합니다. 요청자·목적·기한을 남기고, 기한이 지나면 삭제합니다.
  • 포워딩 대상은 DMZ에 두는 것이 원칙입니다(270. DMZ와 Firewall). 내부망 호스트로 직접 전달하면 침해 시 내부망으로 바로 이어집니다.
  • 원격 관리 목적의 포워딩은 VPN으로 대체하고, 불가피하면 출발지 IP를 제한합니다.
  • 경계 장비의 UPnP 기능은 비활성화하는 것이 일반적인 권장 사항입니다.

6. SOC 관점

관제자가 확인할 질문

  • 이 Inbound 허용 로그의 목적지는 포워딩 규칙을 통해 들어간 것인가? 대상 내부 IP는 어느 대역인가?
  • 포워딩된 포트로 들어온 연결 중 인증 성공으로 이어진 연결이 있는가? 서버·PC 인증 로그와 연결합니다.
  • 최근 새로 생긴 포워딩 규칙이나 UPnP로 추가된 매핑은 없는가?
흔적의심 방향
포워딩 포트로 다수 출발지의 반복 연결무차별 대입(292. Brute Force 탐지)
포워딩 대상 호스트의 신규 Outbound침해 후 후속 행위
방화벽 로그 포트와 서버 로그 포트 불일치포트 변환 포워딩(정상), 매핑 확인

오탐 주의: 포트 변환 포워딩 때문에 방화벽 로그는 8443, 서버 로그는 443처럼 서로 다른 포트가 기록되는 것은 정상입니다. 포트 불일치만으로 로그 위조나 우회로 판단하지 않습니다.


7. 핵심 정리

  • Port Forwarding은 외부 포트로 들어온 연결을 내부 호스트·포트로 전달하는 DNAT입니다.
  • 포워딩 규칙 하나가 곧 외부 공개이므로 공개 서비스 목록으로 관리합니다.
  • 포트 변환이 있으면 방화벽·외부 IDS·내부 서버 로그의 포트가 서로 다르게 기록됩니다.
  • 잊힌 포워딩, 내부망 직접 전달, 관리 서비스 공개, UPnP 자동 포워딩이 대표적인 위험입니다.
  • 포워딩 대상 호스트는 외부 공격을 직접 받으므로 인증 로그와 후속 Outbound를 우선 관제합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글