NAT66 是保护客户端的可行选项吗?

网络工程 纳特 IPv6
2022-02-12 22:07:46

由于 IPv6 的寻址方案,现在每个客户端都能够从 ISP 获取并直接使用全局可路由地址 (GUA)。但这会带来更大的安全威胁,因为攻击者可以直接发现并潜在地攻击它们。

是否可以将它们放在 NAT 后面并给它们本地链路地址 (FE80::/10) 而不是直接给它们公共 IPv6 地址?

2个回答

您的建议只是对 IPv6 的另一种“错误想法”。不要再考虑关于 IPv4 的事情了。如果您有一个实际的、真实的、功能性的防火墙,那么拥有公共地址的安全问题可以忽略不计。未经请求的入站流量被阻止,并检查其他所有内容。

IPv6 被设计成永远不会有 IPv4 对 NAT 所做的疯狂。所以,“NAT66”真的不是一个东西。然而,最终以“前缀翻译”的形式出现了妥协。

您对本地链接寻址的使用并非首发。任何时候使用 LLA,都必须指定范围或接口——否则应用程序将如何知道要使用哪个链接,因为它们都使用相同的范围。IPv6 具有用于此类事情的唯一本地地址 (ULA):可以合理假设的地址范围不会与您有朝一日可能链接到的任何其他网络发生冲突。但是使用 NAT(-PT) 将它们连接到 Internet 将是有问题的。(有关于何时选择 ULA 的规则)

纯粹主义者不喜欢它,但这并不意味着它不可行。所说的纯粹主义者还喜欢声称 NAT 不是一种安全功能,我不同意这一点,在您的内部和外部网络上拥有不同的地址使得您最终不太可能意外地打开事情。如果攻击者能够以某种方式在内部获得一台机器来进行竞标,这也使攻击者更难收集内部网络地址以作为攻击目标。

当然,NAT 也有安全方面的缺点,例如,当收到滥用报告时,它可能会使定位真正的流量来源变得更加困难。

就实际实现 NAT66 而言,您不能使用链路本地地址,因为具有链路本地源或目标的流量不允许通过路由器。

您可以使用唯一本地或站点本地地址,但是在许多系统上,与 ipv4 相比,这将导致 ipv6 的优先级降低,因为系统将假定如果它没有全局地址,则它可能没有连接到 IPv6 互联网。您还可以使用 NAT 从一个全局地址转换为另一个。