有一个网站阻止了 ISP 的子网(因为攻击来自该网络)。
ISP 仅向其用户提供 NAT 后的 IP 地址,因此客户端在其路由器上获取 10.xxx IP 地址。
我要求 ISP 停止这样做(向客户端提供 NATed IP),或者使用 IPv6 或打电话给进行攻击的人重新安装其桌面,因为它可能感染了病毒。
ISP答复:使用NAT是一种安全预防措施。
有人能解释一下 NAT 如何使网络更安全吗?据我所知,NAT 不是为安全而设计的。
答案1
在我看来,虽然这不是假的,但这不是真的,任何声称这是假的人如果不理解为什么,就应该仔细检查他是否是骗子。
早在早期,防火墙(当它们存在时)就是简单的数据包检查设备。它们会根据数据包的特征来决定是转发还是丢弃数据包数据包本身你可能会说“该数据包来自 TCP 端口 80,它设置了 SYN 和 ACK 标志,因此它(很可能)是 Web 服务器对初始 TCP 连接尝试的响应,因此让它进入。
防火墙安全性的显著改进是有状态的防火墙。在考虑任何给定的数据包之前,防火墙会记录通过它的流量,并据此做出有关该数据包的决定。
使用状态防火墙,您可以说“该数据包来自 TCP 端口 80,源地址和端口与大约 75 毫秒前经过我的 TCP SYN 数据包的目标地址和端口相匹配,因此它是 Web 服务器对我信任的网络内部发起的初始 TCP 连接尝试的响应,因此让它进入。或者您可以查看 ICMP echo-reply
,并且只有当它对应于最近的echo-request
特定外部服务器时才允许它。等等。
关于 NAT 防火墙的事情是它们是隐式状态的。因为所有从内到外的流量必须在互联网有机会回复之前,流量将被重新标记为新的源地址,只有当防火墙记录了哪台特定的内部机器最近发送了一些流量来生成回复时,流量才能从外部流向内部。如果防火墙没有这样的记录,它不能重写入站数据包的目标 IP 地址,因为它根本不知道将其重写到哪个内部地址。
因此,我的感觉是,有状态防火墙比无状态防火墙更安全,并且所有 NAT 防火墙都是隐式有状态的。当然,我在过去十年中见过的所有其他防火墙也都具有状态功能,因此只要非 NAT 防火墙不是非常即使配置不当,它也能提供类似的安全性。我从未见过任何分析表明 NAT 除了隐式状态之外还有任何安全优势。
答案2
NAT 更安全,因为除非专门转发端口,否则根本就没有路由到它后面的主机。默认情况下阻止的防火墙可以提供相同的级别,因此反对 NAT 的一个论点是它不提供额外的安全,但这首先假设有一个管理良好的防火墙。
从实用角度来说,将装有木马病毒的人置于 NAT 后面可能有些效果,而且所需的资源比试图过滤所有流量要少得多。许多东西都有其原始用途以外的用途。互联网尚未准备好使用 IPv6,因此无论是 IPv6 还是打电话给人们都不是真正可行的解决方案。此外,由于 IPv4 地址即将耗尽,通过 NAT 共享地址可能是他们正在寻找借口使用的方法。(当有更便宜的替代方案时,他们没有动力投资 IPv6)