在过去令人难忘的时光里,我一直使用消费级路由器,我想我已经将 NAT 的副作用视为理所当然,因为我需要在需要时承担转发端口的负担,而不必使用软件防火墙来管理它们。
如果 IPv6 无需解决地址转换问题,并且仍然使用端口,那么现在我是否有责任管理这个问题?在 IPv6 世界中,什么会自动转移探测流量?
我是否必须积极尝试采取防御措施,例如阻止 RPD 或 SSH 请求,或者我是否应该相信更新的现代操作系统可以让我免于考虑这些事情?
如果 ISP 正在提供 IPv6,那么在启用它之前是否需要让普通网民了解它?
答案1
我已经使用 IPv6 近十年了,并且观察着它的变化,我对此有了一些看法。
这里最重要的一点是:NAT 不是防火墙。这是两个完全不同的东西。在 Linux 中,它恰好是作为防火墙代码的一部分实现的,但这只是一个实现细节,在其他操作系统上不一定如此。
一旦你完全理解路由器中保护你家庭网络的东西是防火墙,而不是 NAT,那么其余的事情就水到渠成了。
为了回答您的其余问题,让我们来看看一个真正的 IPv6 路由器固件,OpenWrt 版本 14.07 Barrier Breaker。在此路由器中,IPv6 默认启用,并使用带前缀委派的 DHCPv6 开箱即用,这是 ISP 为客户分配地址空间的最常见方式。
OpenWrt 的防火墙配置与任何合理的防火墙一样,默认情况下会阻止所有入站流量。它包含一种为 NATted IPv4 连接设置端口转发规则的方法,就像大多数其他路由器多年来所做的那样。它还有一个流量规则部分,用于允许要转发的特定流量;您可以使用它来允许入站 IPv6 流量。
我见过的大多数支持 IPv6 的家用路由器也默认防火墙入站 IPv6 流量,尽管它们可能不提供转发入站流量的简便方法,或者可能造成混淆。但由于我从未真正使用任何家用路由器上的出厂固件(OpenWrt 是好多了)它从未影响过我。
确实,现在很多人都在使用 IPv6,但完全不知道这是事实。当他们的 ISP 启用它时,他们的家庭路由器会获取 DHCPv6 响应并配置地址,然后一切就绪了。如果我不需要超过 /64,我可以直接将其插入而无需任何配置。我必须进行一次更改才能获得更大的前缀委派,尽管这很容易。
最后还有一件事:如果你现在在 IPv4 互联网上有一个系统,它会在各种端口上收到各种入站连接尝试,试图利用已知漏洞或暴力破解密码。IPv4 地址范围足够小,可以在不到一天的时间内完成全部扫描。但在 IPv6 上,近十年来,我已经绝不在任何端口上都看不到这样的连接尝试。地址的主机部分要大得多,因此几乎不可能扫描该范围。但您仍然需要防火墙;您无法通过 IP 地址扫描找到这一事实并不意味着您不会被已经知道您的地址的人作为目标,因为他们从其他地方获得了您的地址。
简而言之,一般来说,您不必过于担心传入的 IPv6 流量,因为它默认会受到防火墙保护,而且 IPv6 地址范围不容易被扫描。而且对于许多人来说,IPv6 会自动启用,他们永远不会注意到。
答案2
NAT 对安全性确实没有什么帮助。要实现 NAT,你基本上必须有一个状态数据包过滤器。
拥有状态数据包过滤器仍然是确保 IPv6 安全的必要条件;由于我们拥有大量的地址空间,因此您不再需要地址转换。
状态数据包过滤器允许传出流量而不允许传入流量。因此,在防火墙/路由器上,您将设置规则来定义您的内部网络,然后您可能允许您的内部网络进行出站连接,但不允许任何其他网络连接到您的内部主机,除非是为了回复您的请求。如果您在内部运行服务,您可以设置规则以允许该特定服务的流量。
我预计 IPv6 消费者路由器要么已经实现了这一点,要么将在未来开始实现这一点。如果您使用的是某些自定义路由器,则可能需要自行管理这一点。
答案3
NAT 并不是真正的安全,除非通过某种模糊性。互联网和大多数工具都是为端到端设计的。我会将任何单个系统视为在后面我对待 nat 的方式与我对待开放互联网上的系统的方式相同。
值得考虑获取 ipv6 访问权限的不同机制,从最不本地的(Teredo)、隧道(并且有不同的协议在不同情况下运行良好)、ipv6rd(本质上是 ISP 运行的隧道,这是在现有 ipv4 网络上快速获取 ipv6 的好方法)到本地(我相信我们使用 SLAAC 和 NDP)。
如果你的 Windows 系统还不算太老旧(XP 或更高版本 - 但我手头没有比 SP3 更差的版本,而且这是迫不得已),那么你可以选择非本国的,Teredo 支持。您可能已经使用了 ipv6 而没有意识到。Teredo 有点糟糕,除了少数情况外,值得明确关闭它。
隧道需要某种类型的客户端,这比本地安装的工作量还要大。
除此之外,几乎不可能建立本国的意外地使用 ipv6。即使你的现代的路由器支持它,您需要明确设置它,并且有 3-4 种不同的常用机制。我的 ISP 在不同的物理连接上使用 ipv6rd 和 SLAAC,说明相当于厕所里的文件柜。替代方案是隧道,这基本上至少需要一个小时的工作。
我会将任何开放到 IPV6 网络的系统与开放互联网上的任何其他系统同等对待。如果它不需要 ipv6,就关闭它。这很简单,我已经在我的 XP 系统上这样做了。如果需要,请确保它是安全的。几乎没有什么可以阻止绝对依赖在当前过渡期内,无法回退到 ipv4 的 ipv6 仍处于运行状态。一个值得注意的例外是 Windows 7 或更高版本上的家庭组
好消息是,大多数支持 IPv6 的现代操作系统都有自己的 IPV6 防火墙,因此您在锁定它们时不会遇到太多麻烦。
IPv6 还有一个奇怪的优势。使用 ipv4 时,您经常会遇到许多漏洞,这些漏洞会随机扫描您的开放端口。IPv4 NAT 通过将客户端隐藏在主 IP 地址后面来缓解这种情况。IPv6 通过拥有巨大的地址空间来缓解这种情况,因此完全扫描是不可能的。
归根结底,NAT 不是一种安全工具——它是为了解决一个非常具体的问题(分配公共 IP 地址的困难),这使得从外部访问网络变得稍微困难一些。在路由器固件破解以及大规模僵尸网络,我建议任何系统、ipv4 或 6,就像在开放的端到端互联网上一样。锁定它,打开你需要的东西,不用担心,因为你有实际的保安,而不是纸板警察。
答案4
与 ipv4 相同。不要让您的计算机感染恶意软件并成为用于发送垃圾邮件、执行 DDoS 攻击和其他任何对互联网有害行为的僵尸网络的一部分。不要运行任何暴露在互联网上的不安全服务。等等。
您可以阻止 ssh,但如果您仅阻止 root 登录并仅允许使用密钥登录,则基本上任何人都无法入侵(假设您拥有所有最新版本或带有反向移植错误修复的旧版本)。您还可以使用类似 fail2ban 之类的东西,它不会完全阻止它,但仅在一定次数的登录尝试失败后才会阻止它。