在 AWS 中,为什么私有区域中 NAT 网关后面的 EC2 比公共子网中的 EC2 更安全?

在 AWS 中,为什么私有区域中 NAT 网关后面的 EC2 比公共子网中的 EC2 更安全?

几年来,我一直在 AWS 上运行四台服务器。这是一个业余项目。所有服务器都位于同一 VPC 中的同一子网中。

为了简化账户和权限的管理,我决定使用 Active Directory。这意味着安装域控制器。文档表明,要使用 AWS 域控制器服务,域控制器必须位于 VPC 的私有子网中。继续研究私有子网(一个我不熟悉的术语)后,我了解到私有子网中的 EC2 必须位于 NAT 网关后面——或者至少这是强烈建议。

将域控制器放在 NAT 网关后面的私有子网中的建议显然是基于所提供的安全优势。这引出了我的问题:这些安全福利到底是什么?

这就是我问的原因...

我现有的四台服务器每台都有一个私有 IP 和一个可路由(“弹性”)IP,但防火墙阻止任何人连接后者,除非我创建允许的安全规则。域控制器的情况为什么会有所不同?我知道 DC 只会由我网络上的服务器使用,永远不会被互联网上的随机外部方使用,但除非我创建相反的入站安全规则,否则这难道不是默认状态吗?将这些 DC 隔离在具有自己的 NAT 网关的独立子网上有什么意义?这似乎增加了复杂性,却没有真正的好处。好吧,大概有有一个好处,但我不知道它是什么,因此我提出这个问题。

(我是业余爱好者,不是专业人士,所以如果您觉得这个问题更适合超级用户,我会删除并重新发布。我只是认为,因为它与服务器相关,所以这个网站可能更合适。)

答案1

如果一个实例有一个公共/弹性 IP我可以直接针对它发起攻击。也许你在安全组中留下了一些我可以利用的不需要的端口。

如果它没有公共/弹性 IP它对于互联网来说几乎是不可见的,我无法从外部直接瞄准它。

想象一下房子——如果门直接面向街道,那么房子的安全就取决于门锁。但是,如果房子位于坚固墙壁后面,那么就很难接近门并试图破坏锁。即使你不小心忘了锁门,你仍然应该相当安全。

所以是的,如果一切按预期进行,那么公共子网和私有子网的安全性应该相似。但错误总是会发生,将资源放在私有子网中可以为你提供额外的保护。

希望有帮助:)

答案2

除了网络考虑之外,还要考虑服务隔离。理想情况下,AD DS + DNS + 文件服务器是域控制器主机上的唯一角色。可能不希望公共 Web 服务器与网络凭据位于同一台机器上。

通过使用托管目录服务,你可以将目录变成别人的问题。但代价是灵活性和学习机会的减少。


安全网络可以通过私有或公共 IP 实现。区别在于您希望隔离程度有多明显。

让我们分别看一下“私有子网”和“NAT网关后面”。

将管理子网与面向公众的网络子网分开,使安全区域之间的边界变得明显。乍一看,IP 要么是内部的,要么是外部的。您可以在它们之间添加 AWS 网络 ACL 或第三方防火墙。(在与实例而不是子网关联的安全组之上。)

NAT 网关实际上并没有增加安全性。不允许传入连接,但使用安全组也可以实现。

NAT 确实会节省 IPv4 地址。或者,具有仅出口 Internet 网关的 IPv6 使用零 IPv4 地址。

答案3

即使防火墙规则创建正确,并且您只有一台服务器,也不会更安全。您需要私有 IP 范围的原因是它允许多台服务器之间安全地进行通信。以 Web 服务器和域控制器为例。您希望 Web 服务器能够通过私有网络安全地与域控制器通信,并且还希望允许外部访问端口 80/443。要实现这一点,只需将端口 80 和 443 直接转发到 www 服务器。此配置将保护域控制器流量,不会将其暴露给公共网络。

答案4

tl;dr 深度安全。

虽然安全组阻止来自外部 IP 的传入连接,可能是它们配置错误。

这就像除了锁门窗外还锁上了前门。即使窗户没有锁,攻击者也无法触及它。

它似乎增加了复杂性,却没有真正的好处。

当然,收益不足的情况也存在。NAT 引入了另一个故障点,它(某种程度上)破坏了 FTP,可能给 UDP 和多播带来安全问题,等等。

无论如何,它的好处是增加了一层安全保障。

相关内容