Windows Server 진단 - 불필요 포트(445,139) 점검
진단 시나리오
Windows Server의 불필요한 네트워크 포트(SMB 445, NetBios 139) 활성화 여부를 진단합니다.
가상 Netstat 출력 (현재 상태)
Proto Local Address Foreign Address State PID Program
TCP 0.0.0.0:22 0.0.0.0:0 LISTENING 1148 svchost.exe
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 892 svchost.exe
TCP 0.0.0.0:139 0.0.0.0:0 LISTENING 4520 svchost.exe [!!]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 2044 svchost.exe [!!]
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 2044 svchost.exe
TCP ::1:445 ::1:0 LISTENING 2044 svchost.exe
UDP 0.0.0.0:137 *:* LISTENING 4520 svchost.exe [!!]
UDP 0.0.0.0:138 *:* LISTENING 4520 svchost.exe [!!]
점검 결과
| 포트 | 서비스 | 상태 | 프로토콜 | 평가 |
| 139 | NetBios Session | LISTENING | TCP/UDP | 제거 필요 |
| 445 | SMB/CIFS | LISTENING | TCP | 제한 필요 |
| 22 | SSH | LISTENING | TCP | 양호 |
| 3389 | RDP | LISTENING | TCP | 양호 (제한됨) |
PowerShell 명령
# 현재 열린 포트 확인
netstat -ano | findstr LISTENING
Get-NetTCPConnection -State Listen | Select-Object LocalAddress, LocalPort, State
# NetBios 비활성화
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Services\NetBT\Parameters' -Name NetbiosOptions -Value 2
# SMB v1 비활성화
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
# 방화벽 규칙 추가 (445 포트 차단)
New-NetFirewallRule -DisplayName "Block SMB" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block
조치 가이드
- NetBios (139) 비활성화: 레거시 프로토콜로 LLMNR 공격 대상
- 고급 TCP/IP 설정에서 비활성화
- 또는 레지스트리에서 NetbiosOptions = 2 설정
- SMB v1 (445) 제거: WannaCry 등 악성코드 전파 경로
- Windows 기능 제거: Remove SMB1Protocol
- 필요시 firewall으로 특정 IP/네트워크만 허용
- 방화벽 규칙: 내부 네트워크 통신 필요시 상세 규칙 설정
- 주기적 모니터링: 월 1회 열린 포트 감시