埠掃描是瞭解主機上可訪問哪些服務的最快方法之一。如果使用得當,它可以幫助識別暴露的攻擊面、驗證防火牆規則以及排除連線故障。
魯莽使用,可能會違反政策和法律。
港口國的含義
大多數掃描器將埠分類為:
- 開:服務正在接受連線
- 已關閉:主機可訪問,該埠上沒有任何監聽
- 已過濾:防火牆/中間盒阻止可見性
filtered 並不總是意味著安全。它通常意味著“掃描器無法確認此路徑的狀態”。
安全合法範圍第一
掃描前:
- 驗證所有權/授權
- 文件目標列表
- 定義掃描視窗和速率
- 通知相關運營/安全團隊
未經授權掃描第三方基礎設施可能會被解釋為惡意活動。
Nmap 實用示例
基本頂部埠掃描
命令
nmap target.example.com
完整 TCP 埠掃描(較慢)
命令
nmap -p- target.example.com
服務/版本檢測
命令
nmap -sV target.example.com
SYN 掃描(需要許可權)
命令
sudo nmap -sS target.example.com
內部掃描與外部掃描
儘可能執行兩者:
- 內部掃描 顯示橫向移動可以看到的內容
- 外部掃描 顯示網際網路暴露的表面
許多團隊保護外圍,但開放不必要的內部服務。
誤報和陷阱
- 負載均衡器可能會隱藏後端行為
- IDS/IPS 可能會限制速率,或者 tarpit 可能會扭曲結果
- 雲安全組+主機防火牆可以建立混合狀態
始終透過第二遍檢查來驗證高風險結果(nc, curl,應用程式日誌)。
按風險確定發現的優先順序
並非所有開放埠都是平等的。
更高優先順序:
- 暴露的遠端管理介面
- 具有已知漏洞的過時服務
- 不必要的公共管理埠
較低優先順序:
- 需要適當加固的公共服務埠
基線和持續監測
一次掃描就是一個快照。更好的做法:
- 維持預期開放埠基線
- 執行計劃掃描
- 對意外新暴露發出警報
這可以捕獲部署後意外的服務暴露。
底線
在明確授權和嚴格解釋的情況下,埠掃描是一種核心防禦實踐。專注於減少不必要的暴露、驗證關鍵路徑以及跟蹤隨時間的變化,而不是追逐原始掃描輸出量。
小型團隊的開放埠掃描清單
如果您沒有大型安全計劃,則此輕量級清單有效:
- 每月掃描您的公共 IP/域名
- 與預期服務列表比較
- 關閉意外開放的埠
- 驗證雲安全組和主機防火牆是否均匹配策略
- 文件異常所有者
目標是操作衛生,而不是為了掃描本身而掃描。
詮釋“開放但安全”
一些港口應繼續開放以滿足業務需求。對於那些:
- 強制身份驗證和速率限制
- 保持軟體補丁
- 儘可能透過源 IP 進行限制
- 記錄並警告異常訪問模式
開放的埠不會自動變壞。不受管理的暴露是不好的。
變更後的驗證命令
關閉或過濾埠後,從內部和外部驗證:
命令
nc -zv target.example.com 22
nc -zv target.example.com 443
curl -I https://target.example.com
這確認了服務和策略更改是否確實產生了預期的行為。
底線(行動)
掃描、驗證、減少和監控。保持明確的預期埠基線的團隊比僅在緊急情況下進行掃描的團隊發生的“意外暴露”事件要少得多。