鉴于Stack Exchange 网站禁止 IP,我想知道是否有一个普遍的观点或策略,即根据用户的IP来制定规则以规定行为。
使用 IPv4,您可以对给定的 IP 做出一些相当可靠的假设:
- 共享子网的 IP 很可能是同一个用户
- 虽然 IP 可以重复用于各种实际端点,但你不太可能看到来自同一 IP 的重复连接不是同一个用户,或者至少是同一个家庭/组织(基本上是共享连接)
- 对于用户来说,获取新的公共 IP 并不容易(这里的进入门槛比较高)
有了 IPv6,您能假设所有这些吗?我想至少第二点不再适用,因为 NAT 应该会随着 IPv6 而消失,因为对于任何想要 IP 的人来说,都有足够的 IP。
如果您已经制定了一套基于 IP 的策略,那么由于两者之间的差异,需要针对 IPv6 进行哪些考虑?
答案1
对于 IPv6,我认为没有完美的解决方案。但有许多事情需要考虑:
- ISP 可能会向个人客户提供
/64
子网。(将有足够的子网可供使用。) - 每个办公室可能至少会有一个
/64
。 - 提供严格点对点链接的 ISP可能选择使用在
/64
和之间的前缀/126
。(见为什么他们一般不使用 /127) 这可能是一个目光短浅的 ISP,或者是想要收取更多费用以提供完整 的 ISP/64
。实际上,没有理由不让每个端点(可能是完整的客户网络)成为/64
。 - 假设大多数 IPv6 最终用户子网位于 上
/64
,可以查看接口标识符中的第 6 位(参见第 3.2.1 节的RFC 4941) 检查它是否可能是基于全局唯一标识符 (MAC 地址) 生成的。这显然不是万无一失的。但如果设置了此位,则可能表明该地址是从 MAC 地址生成的。因此,可以根据最后 64 位阻止 IPv6 地址,并且无论用户来自哪个子网,都可能被阻止。(也许最好将其用作“提示”,因为 MAC 地址虽然应该是全局唯一的,但实际上并非总是如此。而且它们很容易被欺骗。但任何足够精明的人都会发现更容易抓住/64
并获得 2^64 个唯一地址。) - 如果隐私地址正在使用中……除了暂时屏蔽该地址外,没有太多办法。无论如何,它可能很快就会改变。此时考虑网络部分
/64
,但要小心,因为您可能会屏蔽某人的整个公司办公室。
我认为最好的方法是先查看单个地址,然后考虑地址的最后 64 位以及特定/64
子网的滥用模式,以实施阻止策略。总结如下:
- 首先阻止单个
/128
IP 地址(就像你今天对 IPv4 所做的那样) - 如果您注意到地址的最后 64 位中存在非隐私地址滥用模式,请将其作为阻止算法中的强有力指标。有人可能在 ISP 或子网之间跳跃。(再次提醒,请小心这一点,因为 MAC 不一定是唯一的 - 有人可能会欺骗以利用您的算法)此外,这只对那些不知道 IPv6 如何工作的滥用者有效。;-)
- 如果您注意到某个特定网络存在滥用模式
/64
,请使用良好的错误消息阻止整个网络/64
,以便违规网络的管理员可以进行其认为需要做的任何工作。
祝你好运。
答案2
您列出的假设:
共享子网的 IP 很可能是同一个用户
继续保持——事实上,如果 ISP 为其客户分配 IPv6 子网,情况就更加如此。
虽然 IP 可以重复用于各种实际端点,但您不太可能看到来自不同用户或至少是同一家庭/组织的 IP 的重复连接(基本上是共享连接)
继续保持(实际上适用于如上所述的整个子网)。
对于用户来说,获取新的公共 IP 并非易事(这里的进入门槛中等)
不太适用于单个 IP,但适用于 ISP 分配的子网。
因此,我们基本上在考虑子网禁令,目前我们已实施 IP 禁令,假设 ISP 将子网分发给所有用户。如果用户获得单独的 IPv6 地址(每个用户一个),那么我们就会考虑单个 IPv6 禁令,如果有很多行为不当的用户,这可能会导致更长的禁令表(以及相关的性能问题)。无论
哪种情况,IP 禁令都会成为一种更细粒度的工具(即,由于一个人行为不当而阻止一群来自具有动态池的 ISP 的用户的风险更小),在我看来,这是一件好事……
答案3
Wikipedia/MediaWiki 采用了在阻止 /64 中的第五个 IP 时阻止整个 /64 的政策。
五似乎是其他人正在采用的标准经验法则 - 我见过的几个 DNSBL 都采用了相同的政策。
我还没有看到任何计划将块聚合到 /64 以上,尽管对于一个中等规模的组织来说,获得 /48 或 /56 都相当容易。当然,垃圾邮件发送者目前通常拥有 /24(IPv4)左右,所以我预计他们会开始抢占较大的 IPv6 空间。
答案4
我认为这在很大程度上取决于 ISP 的做法。他们会继续为用户提供真正的动态 IP 吗?如果不是,或者如果每个用户都拥有自己的 IP/子网,那么 IP 将开始变得与车牌非常相似。