📚 네트워크 · 패킷 분석 › 05. 네트워크 스캔 징후 분석 — 204편
이전 글: 203. Nmap이란 무엇인가 · 다음 글: 205. Host Discovery

1. 개념

이 글의 "사용법"은 명령 옵션을 익히는 것이 아니라, 관리자가 자기 네트워크를 점검할 때의 기본 흐름과 결과를 읽는 방법입니다. 관제자 입장에서도 같은 내용이 필요합니다. 인가된 점검 결과를 받아 노출 현황을 확인하거나, 스캔 흔적을 볼 때 "상대가 무엇을 알아냈을까"를 추정하려면 결과의 의미를 알아야 하기 때문입니다.

도구 소개와 처리 단계는 203. Nmap이란 무엇인가에서 다뤘습니다.

점검 흐름 단계관리자가 결정하는 것관제와의 연관
범위 정의점검할 IP 대역, 제외 대상, 허가 문서점검 서버 IP·시간을 관제에 사전 공유
호스트 확인살아 있는 호스트만 추릴지ICMP·ARP 흔적 발생
포트 범위자주 쓰는 포트만인지 전체인지방화벽 로그 건수 규모 결정
서비스 확인버전까지 확인할지서비스 로그에 요청 흔적
결과 저장사람이 읽는 형식, XML 등이전 결과와 비교해 변화 추적

2. 동작 원리

인가된 점검은 다음 흐름으로 진행하는 것이 일반적입니다.

[허가 확보] 점검 범위·기간·수행자 문서화
      ↓
[관제 공유] 점검 서버 IP, 대상 대역, 시간대 → SOC 예외 등록(기간 한정)
      ↓
[점검 실행] 본인 소유·허가 범위에서만
      ↓
[결과 해석] 포트 상태별 의미 확인 → 의도하지 않은 open 포트 식별
      ↓
[조치·기록] 불필요 서비스 중지, 방화벽 정책 수정, 결과 보관 → 다음 점검과 비교

결과의 핵심은 포트 상태입니다. Nmap은 대상의 응답 모양을 기준으로 여섯 가지 상태를 표시합니다.

상태의미판단 근거가 된 응답(TCP 기준)
open서비스가 연결을 받고 있음SYN에 SYN/ACK
closed호스트는 응답하지만 서비스 없음SYN에 RST
filtered필터링 장비 때문에 판단 불가무응답 또는 ICMP Unreachable(Code 1, 2, 3, 9, 10, 13)
unfiltered도달은 하지만 open/closed 판단 불가ACK 방식 점검에서 RST 수신
open|filtered열림과 필터링을 구분 못 함무응답(주로 UDP 등)
closed|filtered닫힘과 필터링을 구분 못 함일부 특수 방식에서만

3. 주요 특징

  • closed는 "안전"이 아니라 "도달 가능" 입니다. 호스트가 RST로 답했다는 것은 방화벽이 그 포트를 막지 않았다는 뜻이므로, 이후 서비스가 올라오면 바로 노출됩니다.
  • filtered는 방화벽 정책이 동작한다는 신호입니다. 외부 점검에서 대부분 filtered이고 필요한 포트만 open이면 경계 정책이 의도대로 동작하는 것입니다.
  • 결과의 SERVICE 열은 포트 번호 기준 추정입니다. 버전 확인을 하지 않았다면 8080 포트를 http-proxy로 표시해도 실제로는 다른 서비스일 수 있습니다(213. Version Detection).
  • 같은 대상을 내부와 외부에서 점검하면 결과가 다릅니다. 경계 방화벽 효과를 보려면 두 위치의 결과를 비교합니다.
결과관리자 조치관제 확인
의도하지 않은 open서비스 중지 또는 접근 제한해당 포트의 과거 접속 기록 확인
외부에서 closed 다수방화벽 기본 차단 정책 점검외부 스캔에 RST가 나가는지 확인
기대한 서비스가 filtered정책 누락·장애 여부 점검방화벽 차단 로그 확인

4. 예시

예시(값은 환경마다 다름) — 본인 소유 실습망의 서버 1대를 관리자 권한으로 점검한 결과 화면의 형식입니다.

Nmap scan report for 192.168.10.20
Host is up (0.00041s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE    SERVICE
22/tcp   open     ssh
80/tcp   open     http
3306/tcp open     mysql
8080/tcp filtered http-proxy
MAC Address: 00:0C:29:AA:BB:CC (VMware)
항목해석
Host is up호스트 확인 단계에서 응답을 받음
Not shown: 996 closed (reset)나머지 포트는 RST로 응답해 목록에서 생략
3306/tcp openDB 포트가 점검 위치에서 도달 가능 → 의도 여부 확인 필요
8080/tcp filtered호스트 방화벽 등이 이 포트만 차단
MAC Address같은 브로드캐스트 도메인에서 점검했을 때만 표시

같은 시점에 대상 서버 쪽에서 점검 트래픽을 확인하는 방어 측 명령은 다음과 같습니다(실습 예시, Rocky/Ubuntu 공통, 인터페이스명은 환경마다 다름).

# 점검 서버(192.168.10.50)에서 온 SYN과 서버가 보낸 RST만 관찰
sudo tcpdump -nn -i ens33 'host 192.168.10.50 and tcp[tcpflags] & (tcp-syn|tcp-rst) != 0'

📷 [실습 화면 삽입 위치] 점검 결과 화면과 같은 시간대 대상 서버의 tcpdump 출력(SYN 다수, RST 다수)을 나란히 배치한 화면


5. 보안 관점

  • 공격자가 같은 결과를 얻었다고 가정하면, open 포트 목록이 곧 공격 표면입니다. 특히 DB·원격관리 포트가 외부에 open이면 즉시 조치 대상입니다.
  • 외부에서 closed가 많이 보이면 스캔 1회로 호스트 존재가 확인됩니다. 경계 방화벽에서 응답 없이 차단(drop)하면 정찰에 주는 정보를 줄일 수 있습니다.
  • 점검 결과 파일에는 내부 구성 정보가 담기므로 접근 권한을 제한해 보관합니다.

6. SOC 관점

흔적 위치인가 점검일 때 기대되는 모습
방화벽등록된 점검 IP, 공유된 시간대, 공유된 대역
IDS스캔 Alert 발생 → 예외 목록과 대조 후 종결
서버 패킷결과 화면의 open/closed와 SYN/ACK·RST 응답이 일치

관제자가 확인할 질문

  • 점검 공유 내역(IP·대역·시간)과 실제 흔적이 모두 일치하는가? 범위를 벗어난 대상은 없는가?
  • 점검 기간이 끝난 뒤에도 같은 출발지의 스캔이 이어지는가?
  • 점검 결과의 open 포트 중 외부에서 실제 접속 시도가 있었던 포트는 무엇인가?

오탐 주의: 인가 점검이라도 공유 범위를 벗어났다면 예외로 처리하지 않고 확인 요청합니다. 점검 IP를 영구 예외로 등록하면, 그 서버가 장악되었을 때 탐지가 불가능해집니다.


7. 핵심 정리

  • Nmap 사용의 기본은 허가 확보 → 관제 공유 → 점검 → 결과 해석 → 조치·기록 흐름입니다.
  • 포트 상태는 open, closed, filtered, unfiltered, open|filtered, closed|filtered 여섯 가지입니다.
  • closed는 도달 가능, filtered는 필터링 장비 존재를 의미하며, SERVICE 열은 버전 확인 전까지 추정값입니다.
  • 관제는 인가 점검의 IP·대역·시간이 공유 내용과 일치하는지 확인하고, 예외는 기간을 한정합니다.
  • 점검은 본인 소유·허가 범위에서만 수행하고, 결과 파일은 접근을 제한해 보관합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글