锁定 AWS 实例连接

锁定 AWS 实例连接

我有几个 EC2 实例,包括前端服务器、后端服务器、数据库服务器和节点服务器。它们都相互通信,有时开发人员需要访问这些服务器,因此我会打开某些端口,以便在验证后接受来自任何 IP 的连接。

由于我不是安全专家,我担心我可能会忽略某些东西,而向大众开放此类端口可能会使我的服务器被不受欢迎的访客访问。因此,我考虑锁定与我的服务器的所有连接,仅接受来自它们所连接的 VPC(虚拟私有云)网络的连接。因此,任何人(包括我的开发人员)要想访问他们必须首先连接 VPC 的服务器。这就是为什么 AWS 云防火墙会自动拒绝来自不受欢迎方的所有连接。

我的问题是,我该怎么做?或者什么是最好的方法?我读过几个针对不同场景的教程,但我不知道哪种方法可行。我读过一篇关于 AWS VPN CloudHub、市场上可在普通 EC2 实例或 AWS 托管 VPN 连接上运行的 VPN 服务器的文章。

编辑:我还发现了一项名为AWS PrivateLink

答案1

你应该使用堡垒主机以及非军事区

堡垒主机

也称为“跳转主机”。您的应用服务器(app、db 等)的设置使得它们没有从互联网直接路由,只能路由到 Web 服务器。如果这些后端服务器需要互联网访问,例如进行更新,那么您可以使用NAT 网关或者NAT 实例

任何服务器管理、端口 22/RDP 都必须通过堡垒进行。该堡垒使用多种方法锁定,包括仅接受来自特定 IP 地址的请求(使用安全组和/或 NACL)以及需要证书才能登录(无论如何,这是 AWS 的默认设置)。您可以疯狂地实施多因素身份验证,但我不知道该怎么做 - 从未尝试过。

非军事区

DMZ 是 N 层架构的一部分。它有助于确保从互联网到您的应用/数据库服务器没有路由。

其他选择

另一种选择是将你的 Web 服务器置于 WAF/CDN 之后,例如AWS CloudFront或者云Flare(谁有免费套餐)。这些通常可以识别并阻止第 7 层攻击和 DDOS 攻击。您使用防火墙确保没有人可以直接连接到您的 Web 服务器,他们必须通过 WAF/CDN。

AWS 负载均衡器包括 AWS Shield Basic,它提供了另一道防线。安全通常与防御层有关。

入侵保护/检测是您可以做的另一件事,但它并不简单而且可能超出您的需要。

笔记

您还可以做很多其他事情,但上述这些可能是主要的事情。需要高安全性的系统往往需要多名安全专业人员工作数周或数月来确保其安全。

Privatelink 不太可能对您有帮助。它是将 VPC 连接在一起,直接提供服务,而不是通过互联网。

相关内容