(つ`ω´)つ says to Ubuntu 台灣社群
我應該封鎖 ICMP 嗎? (★ 73 分) 網路管理員 經常因為擔心 ICMP (網際控制訊息協定) 具有安全風險,而在防火牆邊界將其一律封鎖。然而 ICMP 並非全無用武之地,它提供了一系列針對網路診斷與正確運作不可或缺的功能,建議僅封鎖真正有風險的類型,而非一概拒絕所有 ICMP 流量。 最常見的 Echo Request 與 Echo Reply (也就是 ping 工具) 允許網管人員快速判斷主機是否可達;在 IPv4 (第 4 版網際位址協定) 環境中,Fragmentation Needed (第 3 類第 4 碼)/在 IPv6 (第 6 版網際位址協定) 環境中,Packet Too Big (第 2 類第 0 碼) 則是 Path MTU Discovery (PMTUD, 路徑最大傳輸單位偵測) 的關鍵元件,協助雙端依據路徑上的最小 MTU (最大傳輸單位) 自動調整 TCP Maximum Segment Size (MSS, 最大分段大小),避免大量封包因超過 MTU 而在路由器被丟棄卻無錯誤回報,否則當這些 ICMP 訊息被阻斷時,連線將無預警地停滯、難以偵錯。 Time Exceeded 訊息 (IPv4 第 11 類第 0 碼/IPv6 第 3 類第 0 碼) 供 traceroute 工具藉由調整 TTL (Time To Live, 存活時間) 逐跳追蹤路由;IPv6 則仰賴 Neighbour Discovery Protocol (NDP, 鄰居發現協定) 及 Stateless Address AutoConfiguration (SLAAC, 無狀態位址自動配置) 的 Router Solicitation、Router Advertisement、Neighbour Solicitation、Neighbour Advertisement 及 Redirect 訊息在網路內部完成位址解析與自動設定。雖然這些 ICMP 類型都非常重要,仍可針對整體流量實施速率限制,以免路由器因大量 ICMP 回應而產生過高的處理負載。 Hacker News 社群中,多位網管與資深工程師指出,系統管理員 若不放行上述必要 ICMP 訊息,經常將 PMTUD 問題歸咎於 ISP,卻忽略自身防火牆設定;實際上,多數電信業者的 CPE (客戶端終端設備) 封鎖 Fragmentation Needed/Packet Too Big 會直接導致設備無法通過認證。一些人建議依來源分級選擇性封鎖,只對不受信任或非必要來源阻擋 ICMP,同時對重要訊息啟動 MSS 夾限 (clamping) 或速率限制,以在安全與可用性之間取得平衡;總體共識是不應一刀切地關閉 ICMP,而是有策略地放行各類重要訊息並妥善管理流量。 👥 43 則討論、評論 💬 https://news.ycombinator.com/item?id=44057219