我有一个 ubuntu 服务器 (serverA),它有几个 IPv6 地址。其中一个是基于它的 MAC 地址,并且是网络已知的,另一个我认为 ubuntu 创建为隐藏 MAC 地址的“私有”地址。
我有另一台服务器 (serverB),它托管一个数据库,并且需要来自 serverA 的传入连接。serverB 有防火墙,只允许来自 serverA 的传入连接。我在 serverB 的防火墙例外中指定了 serverA 基于 MAC 的 IP 地址,但不知道私有地址,没有添加它。但是,来自 serverA 的打包程序似乎默认来自私有地址。
私有地址是确定性的吗?我怎样才能禁用它?我应该禁用它吗?
隐私地址应该是随机的,并且经常更改。它不应该是确定性的;这与这个概念是对立的。它应该用于传出连接。
我不建议禁用它,因为它对于不像 SLAAC(MAC 派生地址的专有术语)那样公开您的 MAC 很有用。但是,一些重视稍后确定哪个主机建立连接的能力的人更喜欢禁用它。
如果您必须使用基于 IP 的 ACL,您将不得不禁用它。
ip6-privacy=0
您可以通过添加到 .ipv6 部分来做到这一点/etc/NetworkManager/system/connections/
。您可能还想检查/etc/sysctl.d/10-ipv6-privacy.conf
这是否不能阻止它。我将专注于您的最后一个问题:您应该禁用私人地址吗?
我同意@Falcon 的观点,即RFC 4941中定义的隐私扩展很有用。我将始终在可能连接到 Internet 上的服务的客户端/工作站上启用它们,并且我希望手机制造商将很快在其所有设备上默认启用它们。
但是在您的设置中,您正在谈论两台服务器,其中一台(我假设不仅如此)充当另一台服务器的客户端。第一个问题是:你的设置是什么?这些服务器在您的公司网络内吗?他们将拥有哪些外部访问权限?将
serverA
永远连接到互联网(没有代理)?如果所有流量都是内部流量,并且您没有看到来自映射您的内部网络流量模式的对手的威胁,则只需禁用服务器上的隐私扩展。根据定义,服务器必须至少有一个为其客户端所熟知的地址,主要是通过 DNS,因此攻击者可以使用该地址来攻击服务器。隐藏其地址不是服务器的有效攻击缓解策略。(当然,将负载平衡器及其地址放在前面。)美国的“DoD IPv6 Standard Profiles For IPv6 Capable Products”(抱歉,我找不到比 5.0 更新的版本的链接)还要求主机/工作站的隐私扩展“将在需要隐私地址扩展或其他需要的网络上运行保持匿名”并强烈推荐它们用于其他主机/工作站。仅当服务器还充当客户端(如在您的设置中)并且需要保持匿名(您必须决定)时,此要求才适用于服务器。因此,一般服务器不需要激活隐私扩展。
关于 ACL:如果必须在多个地方使用硬编码的 IPv6 地址,我什至会考虑在您的服务器上定义固定的 IPv6 地址。您可以在服务器和 DNS 上设置它们或通过 DHCPv6 分发它们,但与 SLAAC 地址相比,如果您必须更换 NIC 或服务器,您的工作量会更少。
因此,简而言之:如果您的服务器仅在内部通信并且没有针对流量分析的高级安全要求,您应该禁用隐私扩展。在任何其他情况下,您必须权衡利弊。
HTH。