在IPv6 /64的网段中选择地址。

运营商一般会为每个最小子网分配一个/64或以上的IPv6地址。这意味着为你的设备分配了至少2^(64)个地址供你选择。

在开始之前,我想先聊聊IPv6本身。IPv6涵盖了巨大数目的地址,这带来了一个好处,就是让逐一扫描IP来获得活动攻击目标的方法不再可行。

扫描IPv6网段所花费的时间绝对是一个天文数字。就拿一般终端设备获取到的2^(64)个IP为例子,这个数字是IPv4总共2^(32)个IP的2^(32)倍。即使你运气足够好,也只能扫描到一个真实存在的终端。

虽然逐一扫描IPv6不再可行,但总有人会想出新方法。在被分配的IPv6中的低地址中扫描可能就是一个好方法。很多人可能会设定自己的IPv6地址用::0或者::1这样的东西结尾。此外,早期RFC标准(例如RFC 4291)的一些说法使得部分设备在无状态配置即SLAAC情形下,选择IPv6时,会将自己的MAC地址稍作修改之后包含到其主动选择的IPv6地址中去。(准确的说,他们使用EUI64算法,这种算法非常简单以至于很容易逆向出MAC地址。)这使得分析IPv6的地址特征成为可能。

在较新的RFC标准RFC 8981中推荐使用随机地址。

我使用的Ubuntu 20.04没有这样实现,也就是说他默认按照老标准,使用EUI64算法生成IPv6地址。

在ubuntu默认的管理器netplan中,使用选项

      ipv6-privacy: true

可以兼容这个标准。

这时Ubuntu会生成一个额外的IPv6地址来和外界交互。

但实际上即使你打开了这个选项,Ubuntu netplan 遵循的也是 RFC 4941 标准(他们自己也这样说)。这个标准要求严格使用2个IPv6地址,其中一个是长期地址,用于等待传入连接,另一个则是与时间有关的随机生成的地址,用于向外通信。而按照 RFC 8981的说法,新标准允许用户只使用临时地址。原文如下:

Allows hosts to employ only temporary addresses. [RFC4941] assumed that temporary addresses were configured in addition to stable addresses. This document does not imply or require the configuration of stable addresses; thus, implementations can now configure both stable and temporary addresses or temporary addresses only.

因此,目前Ubuntu netplan 的实现还是晚了一步,为设备在公网上被发现和识别提供了更多的空间。

待续。

《在IPv6 /64的网段中选择地址。》上有1条评论

  1. 您好! 或许尝试我们林檎株式会社的计算机会减轻您的顾虑, 让你的隐私真的隐起来.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注