📚 네트워크 · 패킷 분석 › 02. 포트 · 프로토콜 분석 — 86편
이전 글: 85. Windows Service Port · 다음 글: 87. 내부망 필수 포트와 외부 노출 금지 포트
내부망 트래픽은 인터넷 방향 트래픽보다 양이 훨씬 많고, 대부분 정해진 역할의 서버로 가는 반복적인 연결입니다. PC는 DNS 서버에 이름을 묻고, 도메인 컨트롤러에서 인증을 받고, 파일 서버에서 문서를 엽니다. 서버는 로그 수집 서버로 로그를 보내고, 모니터링 서버는 장비의 SNMP를 조회합니다.
이 글의 관점은 "내부망에서 어떤 포트가, 어느 방향으로 쓰이는 것이 정상인가"입니다. 어떤 포트를 외부에 열어도 되는지(정책 분류)는 87. 내부망 필수 포트와 외부 노출 금지 포트에서 다루므로, 여기서는 내부 간(East-West) 연결의 기준선에 집중합니다.
| 용어 | 의미 |
|---|---|
| North-South 트래픽 | 내부 ↔ 인터넷(경계를 넘는 통신) |
| East-West 트래픽 | 내부 ↔ 내부(같은 조직 안 구간 간 통신) |
| 기준선(Baseline) | 평소에 관찰되는 "출발지 역할 → 목적지 역할 : 포트" 조합 |
내부망 포트는 역할(Role) 로 이해하면 쉽습니다. 연결은 대부분 "많은 클라이언트 → 소수의 인프라 서버" 방향으로 모입니다.
[사용자 PC 대역 192.168.10.0/24]
│ 53 DNS / 67→68 DHCP / 123 NTP
│ 88·389·445·135 인증·정책
│ 445 파일 공유 / 3128·8080 프록시 / 9100·631 프린터
↓
[인프라 서버 대역 10.10.1.0/24] DC·DNS·파일·프록시
↑
│ 22·3389·5985 관리 접속 (관리망·배스천에서만)
[관리망 10.10.99.0/24]
│
↓ 161 SNMP 조회 / 514·6514 Syslog 수신측
[네트워크 장비·서버] ── 514·6514 Syslog, 1514 Wazuh 에이전트 ──→ [로그 수집 서버]
앱 서버 10.10.2.x ── 3306·5432·1433 ──→ DB 서버 10.10.3.x
이 구조에서 벗어나는 연결, 예를 들어 PC → PC의 445, DB 서버 → PC, 일반 서버 → 다른 서버의 3389는 기준선 밖에 있으므로 확인 대상이 됩니다.
내부망에서 흔히 보이는 포트를 방향과 함께 정리합니다(기본값 기준, 환경마다 바뀔 수 있음).
| 분류 | 포트 | 정상 방향 | 관련 글 |
|---|---|---|---|
| 이름 해석 | 53/UDP·TCP | 모든 호스트 → 내부 DNS 서버 | 70. DNS 레코드와 질의 유형 |
| 주소 할당 | 67/UDP(서버), 68/UDP(클라이언트) | 클라이언트 ↔ DHCP 서버(또는 릴레이) | 71. DHCP 위장·고갈 공격의 원리와 탐지 |
| 시간 동기화 | 123/UDP | 모든 호스트 → 내부 NTP 서버 | 78. NTP와 로그 시간 동기화 |
| 도메인 인증 | 88, 389, 636, 3268, 445, 135+동적 | 도메인 PC·서버 → DC | 72. LDAP·Kerberos 포트 — 인증 인프라 트래픽 개요 |
| 파일 공유 | 445/TCP, 2049/TCP(NFS) | 클라이언트 → 파일 서버 | 73. SMB와 445 포트 — 내부 확산의 통로, 74. NFS |
| 원격 관리 | 22, 3389, 5985/5986 | 관리망·배스천 → 서버 | 65. SSH |
| 장비 관리 | 161/UDP(조회), 162/UDP(Trap 수신) | 모니터링 서버 → 장비, 장비 → 모니터링 서버 | 75. SNMP 버전별 보안 차이 |
| 로그 수집 | 514/UDP·TCP, 6514/TCP(TLS), 1514/TCP(Wazuh 에이전트), 5044/TCP(Beats → Logstash) | 로그 송신 호스트 → 수집 서버 | — |
| DB | 3306, 5432, 1433, 1521 | 앱 서버 → DB 서버 | 83. DB 포트(3306·1433·5432·1521·6379) 노출 점검 |
| 웹 프록시 | 3128, 8080 (제품마다 다름) | PC → 프록시 서버 | — |
| 인쇄 | 9100/TCP, 631/TCP(IPP) | PC·인쇄 서버 → 프린터 | — |
같은 포트라도 방향이 뒤집히면 의미가 달라집니다.
| 관찰 | 기준선 판단 |
|---|---|
| PC → DC 445 | 정상(그룹 정책·로그온 스크립트) |
| PC → PC 445 | 일반적이지 않음. 공유 폴더를 PC끼리 쓰는 조직인지 확인 |
| 관리 서버 → 서버 22 | 정상 |
| 웹 서버(DMZ) → 내부 서버 22 | 기준선 밖. DMZ 장악 후 내부 이동 가능성 |
| 앱 서버 → DB 3306 | 정상 |
| PC → DB 3306 | 업무 도구 사용 여부 확인, 일반적으로 차단 대상 |
| 호스트 → 외부 DNS 53 (내부 DNS 우회) | 정책 위반 가능성 |
실습 예시 — 본인 실습망의 Linux 서버에서 "누가 어느 포트로 들어오고, 내가 어디로 나가는지"를 역할별로 요약합니다(Rocky/Ubuntu 공통, ss는 iproute2 패키지).
# 이 서버로 들어온 연결: 로컬 포트별 원격 IP 수
ss -Htn state established |
awk '{n=split($3,l,":"); split($4,r,":"); print l[n], r[1]}' |
sort | uniq -c | sort -rn | head
# 이 서버가 나간 연결: 원격 포트별 개수
ss -Htn state established |
awk '{n=split($4,r,":"); print r[n]}' | sort | uniq -c | sort -rn | head
출력 형식 예시(값은 환경마다 다름):
12 22 10.10.99.5
3 3306 10.10.2.21
---
40 3306
5 443
2 1514
1 53
| 결과 | 해석 |
|---|---|
| 22 ← 10.10.99.5 | 관리망 배스천에서의 SSH. 기준선 안 |
| 3306 ← 10.10.2.21 | 앱 서버의 DB 접속. 기준선 안 |
| 나간 연결 1514 | Wazuh 에이전트의 로그 전송 |
| 나간 연결 443 5건 | 업데이트 저장소 등 허용 목적지인지 확인 필요 |
awk에서 IPv6 주소는 콜론이 많아 위 분리 방식이 정확하지 않을 수 있습니다. 실습 환경이 IPv4만 쓴다는 전제의 예시입니다. Established 상태의 의미는 59. Established Connection을 참고합니다.
| 흔적 위치 | 확인할 수 있는 것 |
|---|---|
| 내부 방화벽·L3 장비 로그 | 구간 간 허용·차단된 포트 |
| NetFlow·IDS(내부 미러링 구간) | PC 간 445·3389 같은 East-West 연결 |
| 서버 호스트 | ss, Windows 보안 이벤트, Sysmon 네트워크 이벤트 |
| DNS·DHCP 서버 로그 | IP ↔ 호스트 이름 ↔ 시간 매핑(출발지 식별의 기준) |
관제자가 확인할 질문
오탐 주의: 백신 관리 서버, 자산관리·패치 배포 솔루션, 취약점 점검 서버, 백업 서버는 업무상 많은 내부 호스트에 여러 포트로 접속합니다. 이런 서버 목록을 기준선 예외 목록으로 관리하지 않으면 매일 같은 오탐이 반복됩니다.