切换到 IPv6 意味着放弃 NAT。那是件好事儿吗?

Ern*_*nie 116 networking ipv6

这是一个关于 IPv6 和 NAT的规范问题

有关的:

所以我们的 ISP 最近设置了 IPv6,我一直在研究过渡应该包括什么,然后再加入竞争。

我注意到三个非常重要的问题:

  1. 我们办公室的 NAT 路由器(旧的 Linksys BEFSR41)不支持 IPv6。也没有任何更新的路由器,AFAICT。我正在阅读的有关 IPv6 的书告诉我,无论如何它都使 NAT 变得“不必要”。

  2. 如果我们应该摆脱这个路由器并将所有东西直接插入互联网,我开始恐慌。我绝对不可能把我们的账单数据库(有很多信用卡信息!)放在互联网上供大家查看。即使我提议在其上设置 Windows 的防火墙,只允许 6 个地址对其进行任何访问,我仍然会冒出一身冷汗。我不信任 Windows、Windows 的防火墙或足够大的网络,甚至无法远程适应。

  3. 有一些旧的硬件设备(即打印机)完全没有 IPv6 功能。并且可能是一长串可追溯到 1998 年左右的安全问题。而且可能无法以任何方式实际修补它们。并且没有新打印机的资金。

我听说 IPv6 和 IPSEC 应该以某种方式使这一切变得安全,但是如果没有使这些设备对 Internet 不可见的物理隔离网络,我真的不知道如何做到。我同样可以真正看到我创建的任何防御将如何在短时间内被超越。我多年来一直在 Internet 上运行服务器,我非常熟悉保护这些服务器所必需的东西,但是在网络上放置一些私有的东西(例如我们的计费数据库)一直是完全不可能的。

如果我们没有物理上独立的网络,我应该用什么来替换 NAT?

sys*_*138 197

首先,只要您的安全设备配置正确,就不必担心使用公共 IP 分配。

如果我们没有物理上独立的网络,我应该用什么来替换 NAT?

自 1980 年代以来,我们一直在物理上将它们分开,同样的事情是路由器和防火墙。使用 NAT 获得的一大安全收益是它强制您进入默认拒绝配置。为了通过它获得任何服务,您必须明确地打孔。更高级的设备甚至允许您将基于 IP 的 ACL 应用于这些漏洞,就像防火墙一样。可能是因为他们实际上在盒子上有“防火墙”。

正确配置的防火墙提供与 NAT 网关完全相同的服务。NAT 网关经常使用,因为它们比大多数防火墙更容易进入安全配置。

我听说 IPv6 和 IPSEC 应该以某种方式使这一切变得安全,但是如果没有使这些设备对 Internet 不可见的物理隔离网络,我真的不知道如何做到

这是一种误解。我为一所拥有 /16 IPv4 分配的大学工作,我们绝大多数的 IP 地址消耗都在该公共分配上。当然是我们所有的最终用户工作站和打印机。我们的 RFC1918 消耗仅限于需要此类地址的网络设备和某些特定服务器。如果你刚刚在颤抖,我不会感到惊讶,因为当我第一天出现并在我的显示器上看到带有我的 IP 地址的便利贴时,我确实做到了。

然而,我们活了下来。为什么?因为我们有一个外部防火墙配置为默认拒绝,ICMP 吞吐量有限。仅仅因为 140.160.123.45 理论上是可路由的,并不意味着您可以从公共互联网上的任何地方到达那里。这就是防火墙的设计目的。

给定正确的路由器配置,我们分配中的不同子网之间可能完全无法访问。您可以在路由器表或防火墙中执行此操作。这是一个单独的网络,过去曾让我们的安全审计员感到满意。

我绝对不可能把我们的账单数据库(有很多信用卡信息!)放在互联网上供大家查看。

我们的帐单数据库位于公共 IPv4 地址上,并且一直存在,但我们有证据表明您无法从这里到达那里。仅仅因为地址在公共 v4 可路由列表中并不意味着它可以保证被传送。Internet 和实际数据库端口之间的两个防火墙过滤掉了这个邪恶。即使从我的办公桌,在第一个防火墙后面,我也无法访问该数据库。

信用卡信息是一种特殊情况。这受制于 PCI-DSS 标准,标准直接声明包含此类数据的服务器必须位于 NAT 网关1 之后。我们的是,这三台服务器代表了我们对 RFC1918 地址的总服务器使用量。它不会增加任何安全性,只是增加了一层复杂性,但我们需要检查该复选框以进行审核。


最初的“IPv6 让 NAT 成为过去”的想法是在互联网热潮真正成为主流之前提出的。1995 年,NAT 是解决小 IP 分配的一种变通方法。2005 年,它被载入了许多安全最佳实践文档和至少一个主要标准(具体来说是 PCI-DSS)。NAT 提供的唯一具体好处是,在网络上执行侦察的外部实体不知道 NAT 设备后面的 IP 环境是什么样的(尽管由于 RFC1918,他们有一个很好的猜测),以及在无 NAT 的 IPv4(例如作为我的工作)事实并非如此。这是纵深防御的一小步,而不是大步。

RFC1918 地址的替代品是所谓的唯一本地地址。与 RFC1918 一样,除非对等方明确同意让它们路由,否则它们不会路由。与 RFC1918 不同,它们(可能)是全球唯一的。将 ULA 转换为全球 IP 的 IPv6 地址转换器确实存在于更高范围的外围设备中,绝对不在 SOHO 设备中。

您可以使用公共 IP 地址继续生存。请记住,“公开”并不能保证“可达”,你会没事的。


2017年更新

在过去的几个月中,Amazon 一直在添加 IPv6 支持。它刚刚被添加到他们的产品中,他们的实施提供了一些关于预计如何进行大规模部署的线索。

  • 您将获得 /56 分配(256 个子网)。
  • 该分配是一个完全可路由的子网。
  • 您应该将防火墙规则()设置为适当的限制。
  • 没有 NAT,甚至没有提供,因此所有出站流量都将来自实例的实际 IP 地址。

为了增加 NAT 的安全优势之一,他们现在提供仅出口 Internet 网关。这提供了一个类似于 NAT 的好处:

  • 它背后的子网不能直接从互联网访问。

这提供了一层深度防御,以防错误配置的防火墙规则意外允许入站流量。

此产品不会像 NAT 那样将内部地址转换为单个地址。出站流量仍将具有打开连接的实例的源 IP。希望将 VPC 中的资源列入白名单的防火墙运营商最好将网络块列入白名单,而不是特定的 IP 地址。

Routeable并不总是意味着reachable


1:PCI-DSS 标准在 2010 年 10 月发生了变化,强制要求 RFC1918 地址的声明被删除,并取而代之的是“网络隔离”。

  • @JasonC 不,因为已经发货的消费者级设备随 ISP 预先配置的防火墙一起发货,以拒绝所有入站。或者没有 v6 支持。挑战在于那些认为自己知道自己在做什么,但实际上并不知道的高级用户。 (6认同)
  • 我有一个关于“经常使用 NAT 网关的问题,因为它们比大多数防火墙*更容易*进入安全配置”。对于拥有专业 IT 员工的企业或知识渊博的消费者来说,这没什么大不了的,但对于普通消费者/幼稚的小型企业来说,“容易”不是一个巨大的安全风险吗?例如,数十年的无密码“linksys”wifi 网络之所以存在,是因为不配置安全性比配置它“更容易”。家里堆满了消费级物联网设备,我无法看到我妈妈正确配置了 IPv6 防火墙。你认为这是一个问题吗? (3认同)

Zor*_*che 60

我们办公室的 NAT 路由器(旧的 Linksys BEFSR41)不支持 IPv6。也没有任何更新的路由器

许多路由器都支持 IPv6。只是没有那么多针对消费者和 SOHO 的廉价产品。最坏的情况是,只需使用 Linux 机器或使用 dd-wrt ​​或其他东西重新刷新路由器即可获得 IPv6 支持。有很多选择,你可能只需要更努力地寻找。

如果我们应该摆脱这个路由器并将所有东西直接插入互联网,

没有任何关于向 IPv6 过渡的建议您应该摆脱外围安全设备,例如路由器/防火墙。路由器和防火墙仍将是几乎每个网络的必需组件。

所有 NAT 路由器都有效地充当状态防火墙。使用 RFC1918 地址为您提供如此大的保护并没有什么神奇之处。有状态的位完成了艰苦的工作。如果您使用真实或私有地址,正确配置的防火墙也会为您提供保护。

您从 RFC1918 地址获得的唯一保护是允许人们避免防火墙配置中的错误/懒惰,并且仍然不会那么容易受到攻击。

有一些旧的硬件设备(即打印机)完全没有 IPv6 功能。

所以?您不太可能需要通过 Internet 提供它,并且在您的内部网络上,您可以继续运行 IPv4 和 IPv6,直到您的所有设备都得到支持或更换。

如果运行多个协议不是一种选择,您可能需要设置某种网关/代理。

IPSEC 应该以某种方式使这一切变得安全

IPSEC 加密和验证数据包。它与摆脱您的边界设备无关,而是更多地保护传输中的数据。

  • 确切地说,获得一个真正的路由器,您就不必担心了。SonicWall 有一些出色的选项来提供您需要的安全性,并且可以毫无问题地支持 IPv6。此选项可能会提供比您目前拥有的更好的安全性和性能。(http://news.sonicwall.com/index.php?s=43&item=1022) 正如您在本文中看到的,对于无法处理 ipv6 的用户,您还可以使用 sonicwall 设备进行 ipv4 到 ipv6 的转换。 (3认同)
  • 在很多方面都是正确的。 (2认同)

Mar*_*son 35

是的。NAT 已死。已经有一些尝试批准基于 IPv6 的 NAT 标准,但没有一个成功。

这实际上给试图满足 PCI-DSS 标准的提供商带来了问题,因为该标准实际上规定您必须在 NAT 之后。

对我来说,这是我听过的最美妙的消息之一。我讨厌 NAT,我更讨厌运营商级 NAT。

在 IPv6 成为标准之前,NAT 只是为了让我们通过的创可贴解决方案,但它已经根深蒂固地融入了互联网社会。

对于过渡期,你要记住,IPv4和IPv6除了名称相似之外,完全不同1。因此,双栈设备,您的 IPv4 将进行 NAT,而您的 IPv6 则不会。这几乎就像有两个完全独立的设备,只是包装在一块塑料中。

那么,IPv6 Internet 访问是如何工作的呢?嗯,在 NAT 发明之前互联网过去的工作方式。您的 ISP 将为您分配一个 IP 范围(与现在相同,但他们通常为您分配一个 /32,这意味着您只能获得一个 IP 地址),但您的范围现在将有数百万个可用的 IP 地址。您可以随意填充这些 IP 地址(使用自动配置或 DHCPv6)。这些 IP 地址中的每一个都可以从 Internet 上的任何其他计算机上看到。

听起来很可怕,对吧?您的域控制器、家庭媒体 PC 和带有隐藏色情内容的 iPhone 都可以从互联网访问?!嗯,不。这就是防火墙的用途。IPv6 的另一个重要特性是它强制防火墙从“全部允许”方法(就像大多数家庭设备一样)转变为“全部拒绝”方法,您可以在其中为特定 IP 地址打开服务。99.999% 的家庭用户很乐意保持他们的防火墙默认并完全锁定,这意味着不允许未经请求的流量进入。

1好吧,还有更多的方法,但它们彼此不兼容,即使它们都允许在顶部运行相同的协议

  • PCI-DSS 标准于 2010 年 10 月下旬进行了修订,并删除了 NAT 要求(v1.2 的第 1.3.8 节)。所以即使是他们也在赶上时代。 (7认同)
  • @ user9274 - 它以两种方式提供安全性:1)它向世界隐藏您的内部 IP 地址(这就是 PCI-DSS 要求它的原因),以及 2)它是从互联网到本地机器的额外“跳跃”。但老实说,第一个只是“通过默默无闻的安全性”,这根本不是安全性,至于第二个,被入侵的 NAT 设备与被入侵的服务器一样危险,所以一旦攻击者通过 NAT,可能无论如何进入你的机器。 (4认同)
  • 那些声称在 NAT 后面安装计算机可以提供额外安全性的人呢?我经常从其他一些 IT 管理员那里听到这一点。如果你说一个合适的防火墙就是你所需要的并不重要,因为很多人相信 NAT 增加了一层安全性。 (2认同)
  • @Mark,不确定是否值得一提,但 NAT64 正在起步,但这不是大多数人想到的 NAT。它允许仅 IPv6 的网络在没有客户端“合作”的情况下访问 IPv4 Internet;它需要 DNS64 支持才能使其工作。 (2认同)
  • IPv6 如何强制防火墙默认拒绝所有?我缺少什么? (2认同)

小智 18

众所周知,NAT 的 PCI-DSS 要求是安全剧院而非实际安全。

最新的 PCI-DSS 不再将 NAT 称为绝对要求。许多组织已经通过了 IPv4 的 PCI-DSS 审计,没有 NAT,将状态防火墙显示为“等效的安全实施”。

还有其他安全剧院文件要求 NAT,但是,因为它破坏了审计跟踪并使事件调查/缓解更加困难,对 NAT(有或没有 PAT)的更深入研究是一个净安全负面。

一个没有 NAT 的良好状态防火墙是 IPv6 世界中 NAT 的一个非常优越的解决方案。在 IPv4 中,为了地址保护,NAT 是必须容忍的邪恶。

  • NAT 是“惰性安全”。“懒惰的安全性”带来了对细节的缺乏关注,以及随之而来的预期安全性的丧失。 (2认同)

tec*_*b0y 12

(遗憾的是)需要一段时间才能摆脱单栈 IPv6-only 网络。在此之前,优先使用 IPv6 的双栈是运行方式。

虽然今天大多数消费路由器不支持带有库存固件的 IPv6,但许多路由器可以通过第 3 方固件(例如,带有 dd-wrt ​​的 Linksys WRT54G 等)支持 IPv6。此外,许多企业级设备(思科、瞻博网络)都支持开箱即用的 IPv6。

不要将 PAT(多对一 NAT,在消费者路由器上很常见)与其他形式的 NAT 以及无 NAT 防火墙混淆,这一点很重要;一旦互联网成为仅限 IPv6,防火墙仍将防止内部服务暴露。同样,具有一对一 NAT 的 IPv4 系统不会自动受到保护;这就是防火墙策略的工作。


sys*_*138 11

如果 NAT 在 IPv6 世界中幸存下来,它很可能是 1:1 NAT。在 IPv4 空间中从未见过的 NAT 形式。什么是 1:1 NAT?它是全局地址到本地地址的 1:1 转换。IPv4 等效项会将所有连接转换为 1.1.1.2,仅转换为 10.1.1.2,对整个 1.0.0.0/8 空间依此类推。IPv6 版本将全球地址转换为唯一本地地址。

可以通过频繁轮换您不关心的地址(如浏览 Facebook 的内部办公室用户)的映射来提供增强的安全性。在内部,您的 ULA 编号将保持不变,因此您的水平分割 DNS 将继续正常工作,但外部客户端永远不会位于可预测的端口上。

但实际上,对于它造成的麻烦,它只是提高了少量的安全性。扫描 IPv6 子网是一项非常大的任务,如果不仔细研究如何在这些子网上分配 IP 地址(MAC 生成方法?随机方法?人类可读地址的静态分配?),则是不可行的。

在大多数情况下,公司防火墙后面的客户端将获得一个全局地址,可能是 ULA,并且外围防火墙将设置为拒绝所有与这些地址的任何类型的传入连接。出于所有意图和目的,这些地址从外部无法访问。一旦内部客户端发起连接,数据包将被允许通过该连接。将 IP 地址更改为完全不同的地址的需要是通过强制攻击者浏览该子网上的 2^64 个可能地址来处理的。

  • @Kumba RFC 4193 地址应该是全球唯一的原因是为了确保您将来不必重新编号。也许有一天您需要使用 RFC 4193 地址合并两个网络,或者一台可能已经有 RFC 4193 地址的机器可能需要连接到一个或多个 VPN,这些 VPN 也有 RFC 4193 地址。 (2认同)

小智 11

关于这个主题存在大量混淆,因为网络管理员从一个角度看待 NAT,而小型企业和住宅客户则从另一个角度看待它。让我澄清一下。

静态 NAT(有时称为一对一 NAT)完全无法保护您的专用网络或个人 PC。就保护而言,更改 IP 地址毫无意义。

动态重载 NAT/PAT 就像大多数住宅网关和 wifi AP 所做的那样,绝对有助于保护您的专用网络和/或您的 PC。根据设计,这些设备中的 NAT 表是一个状态表。它跟踪出站请求并将它们映射到 NAT 表中——连接在一定时间后超时。默认情况下,任何与 NAT 表中的内容不匹配的未经请求的入站帧都会被丢弃——NAT 路由器不知道将它们发送到专用网络中的何处,因此它会丢弃它们。这样,您唯一容易被黑客入侵的设备就是您的路由器。由于大多数安全漏洞都是基于 Windows 的——在 Internet 和您的 Windows PC 之间安装这样的设备确实有助于保护您的网络。它可能不是最初预期的功能,这是为了节省公共 IP,但它完成了工作。作为奖励,这些设备中的大多数还具有防火墙功能,默认情况下会多次阻止 ICMP 请求,这也有助于保护网络。

鉴于上述信息,在迁移到 IPv6 时处理 NAT 可能会使数百万消费者和小型企业设备面临潜在的黑客攻击。它对企业网络几乎没有影响,因为他们的边缘有专业管理的防火墙。消费者和小型企业网络可能不再有基于 *nix 的 NAT 路由器在 Internet 和他们的 PC 之间。人们没有理由不能切换到仅使用防火墙的解决方案——如果部署正确会更安全,但也超出了 99% 的消费者理解的范围。动态过载 NAT 仅通过使用它就可以提供一点保护——插入您的住宅路由器,您就会受到保护。简单。

也就是说,没有理由不能以与在 IPv4 中使用的方式完全相同的方式使用 NAT。事实上,路由器可以设计为在 WAN 端口上有一个 IPv6 地址,在它后面有一个 IPv4 专用网络,NAT 就在它上面(例如)。对于消费者和居民来说,这将是一个简单的解决方案。另一种选择是将所有设备置于公共 IPv6 IP 中——然后中间设备可以充当 L2 设备,但提供状态表、数据包检查和功能齐全的防火墙。本质上,没有 NAT,但仍会阻止任何未经请求的入站帧。要记住的重要一点是,您不应该在没有中间设备的情况下将 PC 直接插入 WAN 连接。除非您当然想依赖 Windows 防火墙。. . 这是一个不同的讨论。

迁移到 IPv6 会有一些成长的烦恼,但没有任何问题无法轻易解决。您是否必须抛弃旧的 IPv4 路由器或住宅网关?也许吧,但届时会有廉价的新解决方案可用。希望许多设备只需要固件闪存。能否将 IPv6 设计为更无缝地融入当前架构?当然,但它就是它,它不会消失——所以你不妨学习它,生活它,热爱它。

  • 损坏的可路由性是*坏事™*。您想要的是互联网(通过防火墙)无法访问您的设备,这不是一回事。请参阅 [为什么要在内部使用 IPv6?](http://serverfault.com/q/274181)。此外,RFC1918 规定这些地址应仅用于专用网络,并且应仅由应用层网关(NAT 不是)提供对 Internet 的访问。对于外部连接,应为主机分配一个来自 IANA 协调分配的地址。黑客,无论多么有用,都会做出不必要的妥协,并不是“正确”的方式。 (7认同)
  • 对于它的价值,我想重申当前架构从根本上被破坏(端到端可路由性),这在复杂网络中产生了实际问题(冗余 NAT 设备过于复杂和昂贵)。放弃 NAT hack 将降低复杂性和潜在的故障点,而安全性由简单的状态防火墙维护(我无法想象 SOHO 路由器没有默认启用状态防火墙,因此客户可以即插即用,无需一个想法)。 (3认同)

Mic*_*ton 11

RFC 4864 描述了 IPv6 本地网络保护,这是一组在 IPv6 环境中提供 NAT 感知优势的方法,而实际上不必求助于 NAT。

本文档描述了许多可以在 IPv6 站点上组合以保护其网络架构完整性的技术。这些技术统称为本地网络保护,保留了专用网络“内部”和“外部”之间明确定义的边界的概念,并允许防火墙、拓扑隐藏和隐私。然而,因为它们在需要的地方保持地址透明度,所以它们实现了这些目标而没有地址转换的缺点。因此,IPv6 中的本地网络保护可以提供 IPv4 网络地址转换的好处而没有相应的缺点。

它首先阐述了 NAT 的感知好处是什么(并在适当的时候揭穿它们),然后描述可用于提供这些相同好处的 IPv6 的特性。它还提供了实施说明和案例研究。

虽然在这里重印太长了,但讨论的好处是:

  • “内部”和“外部”之间的简单网关
  • 状态防火墙
  • 用户/应用程序跟踪
  • 隐私和拓扑隐藏
  • 在专用网络中独立控制寻址
  • 多宿主/重新编号

这几乎涵盖了人们可能需要 NAT 的所有场景,并提供了在没有 NAT 的 IPv6 中实现它们的解决方案。

您将使用的一些技术是:

  • 唯一的本地地址:最好在您的内部网络上使用这些地址,以保持内部通信,并确保即使 ISP 中断,内部通信也可以继续。
  • 具有较短地址生命周期和结构不明显的接口标识符的 IPv6 隐私扩展:这些有助于防止攻击单个主机和子网扫描。
  • IGP、移动 IPv6 或 VLAN 可用于隐藏内部网络的拓扑结构。
  • 与 ULA 一起,来自 ISP 的 DHCP-PD 使重新编号/多宿主比使用 IPv4 更容易。

有关完整的详细信息,请参阅 RFC;同样,重印甚至摘录的时间太长了。)

有关 IPv6 转换安全性的更一般性讨论,请参阅RFC 4942


小智 8

的种类。IPv6 地址实际上有不同的“类型”。最接近 RFC 1918(10/8、172.16/12、192.168/16)的称为“唯一本地地址”,在 RFC 4193 中定义:

http://en.wikipedia.org/wiki/Unique_local_address

因此,您从 fd00::/8 开始,然后添加一个 40 位字符串(使用 RFC 中的预定义算法!),最终得到一个伪随机 /48 前缀,该前缀应该是全局唯一的。您可以根据需要分配剩余的地址空间。

您还应该在您的 (IPv6) 路由器上将 fd00::/7(fc00::/8 和 fd00::/8)阻止到您的组织外部 - 因此地址名称中的“本地”。这些地址虽然在全局地址空间中,但在您的“组织”内部,不应该被整个世界访问。

如果您的 PCI-DSS 服务器需要 IPv6 来连接到其他内部 IPv6 主机,您应该为您的公司生成一个 ULA 前缀并将其用于此目的。如果您愿意,您可以像使用任何其他前缀一样使用 IPv6 的自动配置。

鉴于 IPv6 的设计目的是使主机可以拥有多个地址,因此除了 ULA 之外,机器还可以拥有一个全局可路由地址。因此,需要与外部世界和内部机器通信的 Web 服务器可以同时具有 ISP 分配的前缀地址和您的 ULA 前缀。

如果您想要类似 NAT 的功能,您也可以查看 NAT66,但总的来说,我会围绕 ULA 进行架构设计。如果您还有其他问题,您可能需要查看“ipv6-ops”邮件列表。

  • @Kumba 我认为这是当您尝试在 10/8 中合并两个大型 IPv4 专用网络时的伤疤,并且您必须重新编号他们试图避免的一个(甚至两个)。 (2认同)
  • @Richard:确实,没有什么比使用 VPN 连接到具有相同私有子网的另一个网络更痛苦的了,某些实现将停止工作。 (2认同)