📚 네트워크 · 패킷 분석 › 02. 포트 · 프로토콜 분석 — 88편
이전 글: 87. 내부망 필수 포트와 외부 노출 금지 포트 · 다음 글: 89. 비표준 포트에서 동작하는 서비스 식별

1. 개념

위험 Port는 포트 번호 자체가 위험하다는 뜻이 아니라, 그 포트에서 보통 동작하는 서비스의 성질 때문에 노출되거나 악용될 때 피해가 큰 포트를 말합니다. 같은 3389라도 VPN 뒤의 관리망에서만 열려 있으면 위험도가 낮고, 인터넷에 바로 열려 있으면 매우 높습니다.

포트를 "외부 공개 가능 / 내부 전용 / 외부 노출 금지"로 나누는 정책 기준은 이전 글 87. 내부망 필수 포트와 외부 노출 금지 포트에서 다뤘습니다. 이 글은 한 단계 앞에서 "왜 그 포트가 위험 목록에 올라가는가" 를 위험 요인별로 정리합니다.

위험도 ≈ 서비스 성질(이 글의 6가지 요인)
        × 노출 범위(인터넷 / 내부 전체 / 특정 대역)
        × 설정 상태(인증·암호화·패치·기본값 여부)

세 요소 중 하나라도 줄이면 위험도가 내려갑니다. 서비스 성질은 바꾸기 어렵기 때문에, 실제 대응은 노출 범위와 설정 상태를 조정하는 방향으로 이루어집니다.


2. 동작 원리

위험 요인 여섯 가지와 대표 포트입니다. 한 포트가 여러 요인에 동시에 해당할 수 있습니다.

위험 요인왜 위험한가대표 포트 (기본값 기준)
① 평문 전송계정·명령·데이터가 암호화 없이 전송되어 경로상에서 노출21 FTP, 23 Telnet, 110 POP3, 143 IMAP, 80 HTTP, 161 SNMPv1/v2c
② 인증 부재·약한 기본값설정하지 않으면 인증 없이 접근 가능한 구현이 있음6379 Redis, 11211 Memcached, 2375 Docker API(평문), 9200 Elasticsearch(버전·설정에 따라), 27017 MongoDB(구버전 기본값)
③ 원격 제어인증에 성공하면 곧바로 시스템 조작 가능22 SSH, 3389 RDP, 5985/5986 WinRM, 5900 VNC
④ 취약점 이력인증 전 원격 코드 실행 취약점이 반복적으로 보고된 서비스445 SMB, 3389 RDP, 135 RPC
⑤ 반사·증폭작은 UDP 요청에 큰 응답 → 출발지 위조 시 제3자 공격에 악용53 DNS, 123 NTP, 161 SNMP, 1900 SSDP, 11211 Memcached(UDP), 389 CLDAP
⑥ 정보 노출호스트·계정·공유·서비스 목록을 알려 줌111 rpcbind, 137 NetBIOS-NS, 161 SNMP, 389 LDAP(익명 조회 허용 시)

④의 예로 SMBv1의 MS17-010(2017, 웜 확산에 악용), RDP의 CVE-2019-0708(BlueKeep, 인증 전 원격 코드 실행)이 잘 알려져 있습니다. 개별 취약점보다 중요한 것은 "이 서비스는 인증 전에 공격 면이 넓다" 는 성질입니다.

요인별로 공격자가 노리는 결과와 관제에서 먼저 보이는 흔적이 다릅니다.

① 평문      → 경로상 수집       → 흔적: 평문 인증 트래픽 자체 (패킷에서 계정 문자열)
② 인증 부재 → 바로 데이터 접근  → 흔적: 외부 IP의 짧은 연결 후 데이터 조회·쓰기 명령
③ 원격 제어 → 인증 대입·탈취    → 흔적: 인증 실패 반복 → 성공 → 이후 행위
④ 취약점    → 인증 없이 실행    → 흔적: IDS 익스플로잇 시그니처, 서비스 비정상 종료
⑤ 반사·증폭 → 우리가 가해 경로  → 흔적: 우리 서버의 외부행 UDP 응답 급증
⑥ 정보 노출 → 다음 공격 준비    → 흔적: 조회성 요청 후 다른 포트로의 후속 접근

3. 주요 특징

같은 서비스도 보완 수단에 따라 위험 요인이 사라지거나 줄어듭니다. 포트 번호만 보고 판단하지 않고, 아래 대체·보완 여부를 함께 확인합니다.

위험 서비스보완·대체 수단남는 위험
Telnet 23SSH 22로 대체SSH도 ③ 원격 제어 요인은 남음
FTP 21SFTP(SSH 기반) 또는 FTPSFTPS는 데이터 채널 포트 관리 필요
SNMPv1/v2c 161SNMPv3(인증·암호화)외부 노출 시 ⑤·⑥ 여전히 가능
Redis 6379루프백 바인드, 인증 설정인증 정보가 평문 설정 파일에 남음
RDP 3389NLA, VPN·게이트웨이 경유, MFA취약점 패치 여부에 계속 의존
Docker API 2375TLS 적용 2376, 소켓 파일만 사용인증서 관리 실패 시 동일 위험

또 위험 포트는 방향마다 의미가 다릅니다.

방향445 예시3389 예시
외부 → 내부노출 탐색·취약점 공격 시도인증 대입, 취약점 스캔
내부 → 내부파일 공유(정상) 또는 확산관리자 원격 접속 또는 측면 이동
내부 → 외부자격 증명 해시 노출 위험 — 대부분 차단 대상외부 원격 지원 도구·정책 위반 가능

4. 예시

실습 예시 — 본인 소유 실습 서버(Linux)에서 위 표의 위험 포트 중 무엇이 LISTEN 중이고 어떤 주소에 바인드되어 있는지 확인합니다(Rocky/Ubuntu 공통, root 권한 필요). 점검 절차 전체는 98. 포트·프로토콜 보안 점검 체크리스트을 참고합니다.

# 위험 포트 목록과 LISTEN 소켓 대조 (TCP·UDP)
RISKY='21|23|110|143|161|111|137|445|135|3389|5900|5985|6379|11211|2375|9200|27017'
sudo ss -tulnp | awk -v r=":($RISKY)\$" 'NR==1 || $5 ~ r'

출력 형식 예시(값은 환경마다 다름, 일부 열 생략):

Netid State  Local Address:Port  Process
tcp   LISTEN 0.0.0.0:6379        users:(("redis-server",pid=1204,fd=6))
udp   UNCONN 0.0.0.0:161         users:(("snmpd",pid=880,fd=6))

위 예시라면 두 가지를 판단합니다. Redis가 0.0.0.0에 바인드되어 ② 요인이 노출 범위와 결합했는지, SNMP가 v2c 커뮤니티 문자열로 동작하며 ①·⑤·⑥에 해당하는지입니다.

분석 방법 예시 — ⑤ 반사·증폭 악용 여부는 "요청은 적은데 우리 서버가 내보낸 응답이 큰" 흐름으로 확인합니다. 방화벽 세션 로그 형식 예시입니다.

src=198.51.100.23 sport=41000 dst=192.168.10.53 dport=53 proto=udp sent=64 rcvd=3050
src=198.51.100.23 sport=41000 dst=192.168.10.53 dport=53 proto=udp sent=64 rcvd=3048

요청 바이트 대비 응답 바이트가 수십 배이고 같은 출발지에서 짧은 간격으로 반복되면, 출발지 IP가 위조된 요청(실제 피해자 IP)일 가능성을 고려합니다.


5. 보안 관점

  • 가장 효과적인 대응은 노출 범위 축소입니다. 위험 요인이 큰 포트일수록 출발지를 특정 관리 대역·서버로 제한하거나 VPN 뒤로 옮깁니다.
  • 기본값 점검: ② 요인은 대부분 "설치 후 설정하지 않은" 상태에서 생깁니다. 바인드 주소와 인증 설정을 설치 직후 확인합니다.
  • 비표준 포트로 옮기는 것은 보완책이 아닙니다. 3389를 13389로 바꾸면 자동화된 대량 시도는 줄 수 있지만, 서비스의 위험 요인은 그대로입니다(89. 비표준 포트에서 동작하는 서비스 식별).
  • 반사·증폭(⑤)은 우리가 피해자가 아니라 가해 경로가 되는 위험입니다. 외부에서 재귀 질의를 받는 DNS, 외부에 열린 NTP·SSDP·Memcached UDP가 대표적입니다.

6. SOC 관점

위험 요인주로 흔적이 남는 곳우선 확인
① 평문패킷 캡처, IDS 평문 인증 룰어느 구간에서 평문 인증이 오가는가
② 인증 부재방화벽 허용 로그, 서비스 로그(있다면)외부·비인가 출발지의 접근 여부
③ 원격 제어서비스 인증 로그, Windows 로그온 이벤트실패 반복 뒤 성공 여부
④ 취약점IDS/IPS Alert, 서비스 크래시 로그대상 시스템의 패치 수준
⑤ 반사·증폭방화벽·NetFlow 바이트 비율우리 서버의 외부행 UDP 응답량
⑥ 정보 노출방화벽 허용 로그, IDS 조회 탐지조회 후 같은 출발지의 후속 접근

관제자가 확인할 질문

  • 이 포트의 서비스는 여섯 요인 중 무엇에 해당하며, 보완 수단(대체 프로토콜·인증·암호화)이 적용되어 있는가?
  • 노출 범위가 업무 필요보다 넓지 않은가(인터넷 / 전체 내부 / 특정 대역)?
  • 이벤트 방향(외부→내부, 내부→내부, 내부→외부)에 따라 해석이 바뀌지 않는가?

오탐 주의: 위험 포트로의 접근이 곧 공격은 아닙니다. 인터넷에 공개된 서버는 위험 포트로 끊임없이 스캔을 받으므로, 차단된 시도보다 허용된 연결과 그 이후 행위에 우선순위를 둡니다. 위험 포트 접근 징후의 패턴별 해석은 97. Port 기반 공격에서 이어집니다.


7. 핵심 정리

  • 위험 Port는 번호가 아니라 그 포트의 서비스 성질 × 노출 범위 × 설정 상태로 결정됩니다.
  • 위험 요인은 평문 전송, 인증 부재·약한 기본값, 원격 제어, 취약점 이력, 반사·증폭, 정보 노출 여섯 가지로 나눠 볼 수 있습니다.
  • 대체 프로토콜(SSH, SFTP, SNMPv3)과 인증·바인드 설정으로 일부 요인을 줄일 수 있지만, 원격 제어처럼 남는 요인도 있습니다.
  • 반사·증폭 요인은 우리 자산이 제3자 공격의 경로가 되는 위험입니다.
  • 관제에서는 요인별로 흔적이 남는 로그가 다르며, 차단된 시도보다 허용된 연결 이후를 우선 확인합니다.
profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글