📚 네트워크 · 패킷 분석 › 06. 방화벽 · IDS 기초 — 261편
이전 글: 260. Source Port 정책 · 다음 글: 262. Protocol 정책

1. 개념

Destination Port 정책은 패킷의 목적지 포트를 조건으로 삼는 규칙입니다. 목적지 포트는 서버가 서비스를 열어 둔 번호이므로, 방화벽 정책에서 "어떤 서비스에 접근을 허용하는가" 를 표현하는 핵심 조건입니다. 포트 번호 체계와 서비스별 포트는 02 영역 57. Destination Port, 위험 포트 목록은 88. 위험 Port에서 다뤘습니다.

방화벽에서는 포트를 보통 프로토콜과 묶은 서비스 객체로 다룹니다.

서비스 객체 예프로토콜 / 포트정책 설계 시 주의
HTTPSTCP 443 (HTTP/3는 UDP 443)UDP 443 허용 여부를 별도로 결정
DNSUDP 53, TCP 53큰 응답·영역 전송에 TCP 사용
SSHTCP 22관리망 출발지 제한과 함께
RDPTCP 3389 (UDP 3389 병행 가능)외부 직접 공개 금지
SMBTCP 445경계에서 차단, 내부 간에도 제한

2. 동작 원리

목적지 포트 정책은 "서버에 열린 포트" 와 "방화벽이 허용한 포트" 의 교집합만 실제로 접근 가능하게 만듭니다.

서버에서 LISTEN 중인 포트:   22, 80, 443, 3306, 8080
방화벽 Inbound 허용 포트:            443
   ↓
외부에서 실제 접근 가능:             443
   ↓
나머지(22, 80, 3306, 8080) → 방화벽 차단 로그로만 흔적

이 구조 때문에 두 가지 점검이 필요합니다.

  1. 방화벽이 허용했지만 서버에 필요 없는 포트: 나중에 누군가 그 포트로 서비스를 열면 즉시 외부에 노출됩니다.
  2. 서버에 열려 있지만 방화벽이 막는 포트: 지금은 안전하지만, 방화벽 정책 변경 한 번으로 노출됩니다. 내부 간 통신에서는 이미 노출되어 있을 수 있습니다.

3. 주요 특징

  • 포트는 애플리케이션을 보증하지 않습니다. 443 포트에서 HTTPS가 아닌 프로토콜이 동작할 수 있고, SSH를 8443에서 운영할 수도 있습니다. 포트 기반 정책은 "합의된 약속"에 의존합니다.
  • 포트 범위 허용은 신중해야 합니다. 수동 모드 FTP·일부 VoIP처럼 동적 포트를 쓰는 서비스를 위해 넓은 범위를 열면, 그 범위의 모든 서비스가 노출됩니다. 가능하면 프로토콜 인식(헬퍼) 기능이나 범위 축소를 씁니다.
  • UDP 포트 허용은 응답 여부로 확인하기 어렵습니다. UDP는 연결 수립 과정이 없어 로그만으로 서비스가 실제 응답했는지 알기 어렵습니다.
목적지 포트 설계 원칙이유
서비스 단위로 포트를 명시any 포트 허용은 모든 서비스 노출
관리 포트는 별도 규칙으로 분리출발지 제한을 따로 걸기 위해
비표준 포트 서비스는 설명에 명시로그 해석 시 오해 방지
사용하지 않는 서비스 객체 정리적중 0 규칙이 쌓이는 것 방지

4. 예시

서버의 열린 포트와 방화벽 허용 포트를 대조하는 실습 예시입니다(값은 환경마다 다름).

# 공통: 서버에서 LISTEN 중인 TCP/UDP 포트와 프로세스 확인
sudo ss -tulnp

# Rocky (firewalld): 허용된 서비스와 포트 확인
sudo firewall-cmd --list-services
sudo firewall-cmd --list-ports

# Ubuntu (ufw): 허용 규칙 확인
sudo ufw status numbered
# 대조 결과 정리 형식 예시
포트      LISTEN   방화벽 허용   판단
22/tcp    예       관리망만      정상
443/tcp   예       any           공개 서비스
3306/tcp  예       아니오        외부 차단, 내부 접근 범위 별도 확인 필요
8080/tcp  예       아니오        용도 확인 필요 (개발용 서비스 잔존 가능성)

firewalld의 --list-services는 서비스 이름(예: ssh, https)으로 표시되므로 실제 포트는 firewall-cmd --info-service=https로 확인합니다.


5. 보안 관점

  • 목적지 포트 허용은 공격 표면 그 자체입니다. 외부 공개 포트 목록은 가장 먼저 관리해야 할 보안 자산 목록입니다.
  • 관리 포트(22, 3389, 장비 관리 웹)의 외부 공개는 무차별 대입의 주요 대상입니다(232. SSH Brute Force).
  • Outbound 목적지 포트를 제한하지 않으면 악성코드가 임의 포트로 C2 통신을 할 수 있습니다. 반대로 443만 허용해도 443을 쓰는 C2는 막지 못하므로 응용 계층 검사가 필요합니다.
  • 비표준 포트에 서비스를 옮기는 것은 자동 스캔 소음을 줄일 뿐, 보안 통제가 아닙니다.

6. SOC 관점

목적지 포트는 로그에서 공격 의도를 가장 빠르게 보여 주는 필드입니다. 포트 필드 해석은 02 영역 95. Firewall Log의 Port에서 자세히 다뤘습니다.

목적지 포트 패턴의심 방향
한 출발지 → 한 목적지 IP의 다수 포트수직 포트 스캔
한 출발지 → 다수 IP의 같은 포트수평 스캔, 특정 취약점 탐색
내부 PC → 외부 비표준 포트 반복 허용C2·터널 가능성
내부 PC → 다른 PC 445·3389 다수내부 전파 가능성

관제자가 확인할 질문

  • 허용된 목적지 포트에서 실제로 어떤 애플리케이션이 동작했는가? IDS·NGFW의 애플리케이션 식별 결과와 일치하는가?
  • 차단된 포트 목록에서 특정 서비스(예: DB·원격 관리)에 집중되는 경향이 있는가?

오탐 주의: 보안 점검 도구, 자산 관리 솔루션, 모니터링 서버도 다수 포트에 접근합니다. 출발지가 등록된 운영 도구인지 먼저 확인합니다.


7. 핵심 정리

  • 목적지 포트는 방화벽 정책에서 허용할 서비스를 표현하는 핵심 조건이며, 보통 프로토콜과 묶어 서비스 객체로 관리합니다.
  • 실제 노출 범위는 서버의 열린 포트와 방화벽 허용 포트의 교집합입니다.
  • 포트는 애플리케이션을 보증하지 않으므로 허용 포트 안의 통신 내용은 별도로 검사해야 합니다.
  • 넓은 포트 범위와 any 포트 허용은 노출 범위를 크게 늘립니다.
  • 로그의 목적지 포트 분포는 스캔 유형, 공격 대상 서비스, C2 가능성을 보여 줍니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글