Network <<
Previous Next >> IPv6
ICMP
Allow ping ICMPv4 powershell:
# Allow inbound ICMPv4 Echo Request (ping)
New-NetFirewallRule -Name "Allow ICMPv4-In" -DisplayName "Allow ICMPv4-In" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow
ICMPv6:
# Allow inbound ICMPv6 Echo Request (ping)
New-NetFirewallRule -Name "Allow ICMPv6-In" -DisplayName "Allow ICMPv6-In" -Protocol ICMPv6 -IcmpType 128 -Direction Inbound -Action Allow
允許 ICMP/ICMPv6 的安全性考量
ICMP(包括 ICMPv6)不只是用於 ping,它對許多網路功能來說都是必要的,尤其是在 IPv6 環境下。不過,開放 ICMP/ICMPv6 仍然會帶來一些安全性疑慮:
對於 IPv4(ICMP):
- 攻擊者可以利用 ICMP 進行:
- 偵查:發現存活主機(ping 掃描)。
- 淹水攻擊:ICMP flood(阻斷服務攻擊)。
- 網路映射:例如透過 traceroute 等工具。
- 緩解方式:通常會限制 ICMP 類型(如僅允許 Echo Request/Reply),或限制來源 IP,或進行流量速率限制。
對於 IPv6(ICMPv6):
- ICMPv6 對於 IPv6 的運作至關重要!
- 它支援鄰居探索、路徑 MTU 探查,以及位址自動設定。
- 若封鎖 ICMPv6,可能會導致 IPv6 無法正常運作,因為路由器與主機都仰賴 ICMPv6 完成這些基本功能。
- 安全性疑慮:
- 偵查:攻擊者仍可發現 IPv6 主機與網段。
- 潛在濫用:例如 ICMPv6 flood,或偽造鄰居請求(Neighbor Solicitation spoofing)。
- 緩解方式:
- 不要完全封鎖 ICMPv6,而是只允許必要的訊息類型(如 128/129 為 Echo、133-136 為鄰居探索等)。
- 考慮使用流量速率限制與監控。
- 檢查防火牆的預設規則——Windows 及現代防火牆通常對 ICMPv6 已有安全的預設值。
Network <<
Previous Next >> IPv6