TCP/IP 協定定義 65,536 個 Port(0–65535),分 TCP/UDP 兩類。駭客掃描開放 Port、利用已知服務漏洞(如 MS08-067 針對 445、CVE-2019-0708 針對 3389)滲透內網。掌握 Port 分類、檢視、封鎖、重導向四大技能,是主機硬化的必修課。
| 範圍 | 類別 | 特性 | 典型服務 |
|---|---|---|---|
| 0–1023 | 系統保留/知名埠 | 需 root/Admin 權限綁定,IANA 指派 | 21 FTP、22 SSH、25 SMTP、53 DNS、80 HTTP、110 POP3、443 HTTPS |
| 1024–49151 | 登記埠 | 應用程式向 IANA 登記使用 | 1433 SQL Server、3306 MySQL、3389 RDP、5900 VNC、8080 Proxy |
| 49152–65535 | 動態/私用埠 | OS 自動分配給客戶端暫時連線 | Ephemeral ports、P2P、動態 RPC |
netstat -na # 數值顯示所有連線與監聽埠
netstat -nab # 顯示建立連線的進程名(需管理員)
netstat -anob # 加上 PID
關鍵欄位:Local Address(本機 IP:Port)、State(LISTENING=監聽中、ESTABLISHED=已連線、TIME_WAIT=關閉等待)。
Get-NetTCPConnection -State Listen | Select-Object LocalAddress,LocalPort,OwningProcess | Sort-Object LocalPort
Get-Process -Id (Get-NetTCPConnection -State Listen).OwningProcess | Select-Object Id,ProcessName,Path -Unique
| 協定/埠號 | 風險 | 關閉方法 |
|---|---|---|
| TCP 135, 139, 445, 593, 1025 | RPC/DCOM/NetBIOS/SMB 漏洞利用、永恆之藍 | 裝置管理員 → 顯示隱藏裝置 → 非 Plug and Play → NetBT → 停用;或防火牆封鎖 |
| UDP 123 | NTP 放大攻擊、蠕蟲傳播 | services.msc → 停用 Windows Time |
| UDP 137, 138 | NetBIOS 名稱解析洩露主機名 | 同上 NetBT 停用 |
| UDP 1900 | SSDP/UPnP 暴力破解、DDoS 反射 | services.msc → 停用 SSDP Discovery |
| TCP 3389 | RDP 暴力破解、藍色保鏢 | 非必要關閉遠端桌面;必須開啟時改 Port + NLA + 防火牆限制來源 IP |
| TCP 2513, 2745, 3127, 6129 等 | 知名木馬後門(SubSeven, Bagle, MyDoom 變種) | 防火牆封鎖 + 定期掃毒 |
原理:將知名服務埠(如 3389)映射到高位非標準埠(如 53389),降低自動掃描命中率。
RDP 修改範例(登錄編輯器):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"PortNumber"=dword:0000d06d ; 53389 (十進位)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]
"PortNumber"=dword:0000d06d
用戶端連線:另存 .rdp 檔 → 記事本開啟 → 末行加 server port:i:53389 → 雙擊連線。
注意:重導向非萬能,仍需配合防火牆限制來源 IP、啟用 NLA、強密碼、MFA、VPN/堡壘機等纵深防禦。
# 封鎖高風險埠
$blockPorts = @(135,139,445,593,1025,3389,2513,2745,3127,6129)
foreach ($p in $blockPorts) {
New-NetFirewallRule -DisplayName "Block TCP $p" -Direction Inbound -Protocol TCP -LocalPort $p -Action Block -Profile Any
New-NetFirewallRule -DisplayName "Block UDP $p" -Direction Inbound -Protocol UDP -LocalPort $p -Action Block -Profile Any
}
# 關閉非必要服務
Set-Service -Name "W32Time" -StartupType Disabled
Set-Service -Name "SSDPSRV" -StartupType Disabled
# 停用 NetBIOS over TCP/IP (需重開機)
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters" -Name "EnableLMHOSTS" -Value 0
netstat -nab > %date:~0,10%_ports.log 留存基線。nmap -sS -p- 192.168.1.0/24 驗證對外暴露面。「關掉不需要的門,把必要的門換把鎖,再裝上監視器。」連接埠管理是主機防禦的基石,配合系統修補、最小權限、應用程式白名單,才能構建真正有彈性的防線。