%EF%BC%9F.png)
我對此進行了大量研究,發現一些參考文獻相互矛盾。
IPV6 例如RFC4890說應該允許以下類型以獲得最佳功能:
類型 1、2、3、4、128、129,以及用於行動輔助的 144、145、146 和 147。
然而這來源沒有提到需要行動輔助:(類型 1 和 4 也被省略)
128、129、2、3 型以及 NDP 和 SLAAC 133、134、135、136 和 137
另一方面,前面的參考文獻說 NDP 和 SLAAC 不需要特別關注,因為無論如何它們都會被丟棄。那麼誰是對的呢?為了安全起見,最好允許兩個消息來源提到的所有這些嗎?
IPV4: 令人驚訝的是參考沒有任何關於 IPv4 的建議,但其他來源表示 IPv4 需要類型 8、0、3 和 11。是否有任何官方參考建議應允許哪些 IPv4 ICMP?
更新: 雖然答案很好,但我發現它太籠統,無法接受它作為真正的解決方案。如果阻止不是解決辦法,那麼速率限制必須是提供一定程度保護的正確方法。我相信使用正確的程式碼範例給出的答案會更讓人放心。
答案1
不應阻止所有 ICMP。不是預設情況下,這可以是拒絕列表而不是允許列表。
從速率限制開始,但不以其他方式過濾 ICMP。
讀RFC 4890 第 3 節 關於預期的安全考量。特別是重定向轉移資料包,但標準要求這些資料包位於本地鏈路上。大量拒絕服務,但通常可以透過速率限制來緩解。也許發現了主機,但這並沒有透露太多資訊。 ICMP 並不是很危險。