哪些 ICMP 类型 (v4/v6) 不应被阻止?

哪些 ICMP 类型 (v4/v6) 不应被阻止?

我对此进行了大量研究,发现一些参考文献相互矛盾。

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 不是很危险。

相关内容