使用 IPv4,每当我意识到任何奇怪的请求来到我的服务器时,我都可以轻松地阻止 IPv4 进一步请求(我可以在我的 iptablet 或我的.htaccess
文件中阻止......)。然而,对于 IPv6,这并不容易,因为更改 IP 地址非常简单,或者更糟糕的是,轮换数千个 IPv6 地址以在短时间内发出数千个请求,这些请求都来自不同的 IP 地址。
对于 IPv4,这不是一个大问题,因为拥有/轮换数千个 IPv4 地址会非常昂贵。如果您开始在您的帐户中添加多个 IP 地址,即使像 Linode 或 Digital Ocean 这样的公司也会向您提出很多问题(即使您为这些地址付费,他们也会向您提出很多问题,例如您是否使用这些地址向 DDoS 发送垃圾邮件...)。
所以我的问题是:在 IPv6 地址中,是否有一些“部分”或“子字符串”(大部分是固定的)我可以可靠地列入黑名单,因为另一个“部分”(发生变化)可能来自同一个人或同一个网络?以这个地址为例:
2001:0db8:85a3:0000:0000:1111:2222:3333
我可以从上面的地址看出,如果我阻止所有包含“2001:0db8:85a3:0000:0000:1111”的 IP,它可能来自同一个人/计算机吗?
谢谢!
您永远无法 100% 确定,因为各种 ISP 和托管服务提供商的做法不同(有时甚至非常非常错误)。但作为一项规则,云提供商会将 /64 分配给虚拟网络,并且该虚拟网络中的每个 VM 都会以各种不同的方式从该 /64 中获取 IP 地址。租赁裸机(“专用”)服务器的提供商通常会为每台物理机分配 /64。
家庭连接变得有点复杂,但作为一项规则,除非订户进行了配置更改(很少有人这样做,因为大多数情况下,IT 专业人员在家里想要超过 /64),他们也会有 / 64 为他们的整个住所。
因此,如上所述,阻止 /64 可能会摆脱大多数知道如何轮换 IPv6 地址的恶意行为者。
您可能会发现RFC 6177很有趣。主要作为基线,看看各个供应商是如何做错的。