背景
SNMP (簡易網路管理協定) 代理程式收集系統資訊供管理主控台查詢。預設明文傳輸,社群名稱易被網路監視器截獲解碼,洩露網路資源敏感資訊。必須加密通訊。
方案:IPSec 保護 SNMP 流量
建立 IPSec 原則,保護 TCP/UDP 161 (SNMP 請求) 與 162 (SNMP Trap) 連接埠通訊。
步驟 (Windows 2000/XP/2003)
- Win+R →
secpol.msc 開啟「本地安全性原則」。
- 右鍵「IP 安全性原則,在本機電腦上」→「管理 IP 篩選器清單與篩選器動作」。
- 「管理 IP 篩選器清單」→「新增」:
- 名稱:
161/162 連接埠,描述同。
- 取消「使用新增精靈」→「新增」。
- 「位址」頁:來源「任何 IP 位址」,目的「我的 IP 位址」,勾選「鏡像 (符合來源/目的互換的封包)」。
- 「通訊協定」頁:選「UDP」,「從此連接埠」
161,「到此連接埠」161 → 確定。
- 再「新增」一次,同樣設定
162 連接埠。
- 「管理篩選器動作」→「新增」:
- 名稱:
要求安全性。
- 動作:選「協商安全性」→ 勾選「接受非安全通訊,但一律回應安全通訊」 (或視需求選「要求安全性」)。
- 安全性方法:加入「完整性 (SHA1) + 加密 (3DES)」、或更強 AES/ESP 組合。
- 建立 IP 安全性原則:
- 右鍵「IP 安全性原則」→「建立 IP 安全性原則」→ 命名
SNMP IPSec。
- 勾選「啟用預設回應規則」→ 選擇驗證方式 (Kerberos/憑證/預先共用金鑰)。
- 完成精靈後,右鍵原則→「內容」→「規則」→「新增」:
- 此規則適用於「所有網路連線」。
- IP 篩選器清單選
161/162 連接埠。
- 篩選器動作選
要求安全性。
- 驗證方式同前。
- 指派原則:右鍵
SNMP IPSec →「指派」。
驗證
- 用網路監視器 (Network Monitor) 捕獲封包,確認 SNMP 封包已加密 (ESP 標頭、承載不可讀)。
- 管理主控台仍能正常查詢代理程式資訊。
補充建議
- 社群名稱勿用預設
public,改為複雜字串並視同密碼管理。
- SNMP 服務「安全性」頁面:限制接受 SNMP 封包的主機 IP 清單,拒絕其他來源。
- 若環境支援 SNMPv3,優先使用 (內建加密/鑑別),無需額外 IPSec。