/엔지니어/보안 설정/nmap 포트 스캔 — 서버 보안 점검 실전 가이드
보안 설정중급UbuntuDebianCentOSmacOSnmap포트스캔보안점검

nmap 포트 스캔 — 서버 보안 점검 실전 가이드

nmap으로 열린 포트·서비스·OS를 탐지하고, 서버 보안을 자체 점검하는 방법과 스캔 결과를 해석하는 방법을 설명합니다.

설치

Bash
sudo apt install -y nmap    # Ubuntu / Debian
sudo yum install -y nmap    # CentOS / RHEL
brew install nmap           # macOS

nmap --version

중요: 자신이 소유·관리하는 서버에만 사용하세요. 타인의 서버를 무단 스캔하는 것은 불법입니다.


기본 스캔

Bash
# 단일 호스트 스캔 (기본 1000개 포트)
nmap 192.168.1.1

# 도메인
nmap example.com

# 여러 호스트
nmap 192.168.1.1 192.168.1.2 192.168.1.5

# 대역 스캔
nmap 192.168.1.0/24
nmap 192.168.1.1-50

# 자기 자신 스캔 (서버 보안 점검)
nmap localhost

포트 범위 지정

Bash
# 특정 포트
nmap -p 22,80,443 192.168.1.1

# 포트 범위
nmap -p 1-1024 192.168.1.1

# 전체 포트 (65535)
nmap -p- 192.168.1.1

# 상위 100개 포트 (빠른 스캔)
nmap -F 192.168.1.1

스캔 유형

Bash
# SYN 스캔 (기본, root 필요) — 빠르고 은밀
sudo nmap -sS 192.168.1.1

# TCP Connect 스캔 (root 불필요)
nmap -sT 192.168.1.1

# UDP 스캔 (느림)
sudo nmap -sU 192.168.1.1

# ICMP ping 스캔 (호스트 발견)
sudo nmap -sn 192.168.1.0/24

# 포트 스캔 없이 호스트 확인
nmap -sP 192.168.1.0/24

서비스 · OS 탐지

Bash
# 서비스 버전 탐지 (-sV)
nmap -sV 192.168.1.1

# OS 탐지 (-O, root 필요)
sudo nmap -O 192.168.1.1

# 종합 스캔 (-A: OS + 버전 + 스크립트 + traceroute)
sudo nmap -A 192.168.1.1

# 자기 서버 종합 점검 (실무에서 자주 사용)
sudo nmap -A -p- localhost

NSE 스크립트 (취약점 스캔)

Bash
# 기본 안전 스크립트 실행
nmap --script=default 192.168.1.1

# HTTP 관련 스크립트
nmap --script=http-title,http-headers,http-methods 192.168.1.1

# SSH 관련
nmap --script=ssh-auth-methods,ssh-hostkey 192.168.1.1

# SSL/TLS 점검
nmap --script=ssl-enum-ciphers -p 443 192.168.1.1

# 알려진 취약점 스캔 (vuln 카테고리)
sudo nmap --script=vuln 192.168.1.1

# Heartbleed 확인
nmap --script=ssl-heartbleed -p 443 192.168.1.1

결과 저장

Bash
# 일반 텍스트
nmap -oN result.txt 192.168.1.1

# XML (파싱용)
nmap -oX result.xml 192.168.1.1

# 세 가지 형식 동시
nmap -oA result 192.168.1.1   # result.nmap, result.xml, result.gnmap

# grep 가능 형식
nmap -oG result.gnmap 192.168.1.1

스캔 속도 조절 (탐지 회피 / 네트워크 부하)

Bash
# T0~T5 (0=가장 느림, 5=가장 빠름, 기본 T3)
nmap -T1 192.168.1.1    # 느리고 은밀 (IDS 회피)
nmap -T4 192.168.1.1    # 빠름 (내부망 점검)
nmap -T5 192.168.1.1    # 최대 속도 (네트워크 영향 있음)

실무 보안 점검 워크플로

Bash
# 1. 열린 포트 확인
sudo nmap -p- -T4 localhost

# 2. 불필요한 포트가 있다면 닫기
sudo systemctl stop 불필요한서비스
sudo ufw deny 포트번호

# 3. 서비스 버전 확인 (구버전 → 업데이트)
sudo nmap -sV localhost

# 4. 주기적 점검 스크립트
sudo nmap -oN /var/log/nmap-$(date +%Y%m%d).txt localhost
#nmap#포트스캔#보안점검#취약점#network#침투테스트
편집 안내 · Editorial Note

이 가이드는 AI 도구를 활용해 초안을 구성하고 사람이 명령어·문맥을 검토해 발행했습니다. 운영체제와 도구 버전에 따라 결과가 달라질 수 있으므로 적용 전 공식 문서를 함께 확인하세요. 오류를 발견하시면 이메일로 제보해 주세요.

관련 공식 문서OWASP 공식 문서

질문 & 답변 (Q&A)

이 가이드에 대해 궁금한 점을 질문해보세요. 확인 후 답변드립니다.