繁体   English   中英

AWS - 安全组是否足够或是否需要私有和公共 su.net?

[英]AWS - Are security groups enough or is there a need for private and public subnets?

假设我有一个 web 服务器,它是一个 EC2 实例和一个 RDS。

EC2 实例与 RDS 通信。

为了安全起见,我可以将其设置在 Application Load Balancer 后面,并使用安全组仅允许入站流量通过 ALB。 ALB 将仅通过 HTTPS 与 inte.net 通信。

在内部,我可以设置一个安全组,它只接受来自 ALB 安全组的传入流量。 我会将此安全组附加到 EC2 实例。 然后我可以有另一个安全组,只允许来自 EC2 实例的传入流量。 此安全组将附加到 RDS。

EC2 实例的安全组将允许超过 HTTPS 的出站流量用于更新、下载包等目的。

根据我对这个设置如何工作的(有限的)理解,与 RDS 的通信必须严格从 EC2 实例发生,到 EC2 实例的入站通信必须严格从 ALB 发生,该 ALB 配置为仅接受通过 SSL 的请求.

就安全性而言,此设置安全吗?

运行这样的设置有什么风险?

此处所示配置私有和公共子集有什么好处(如果有的话)?

这完全取决于您的风险偏好

额外的安全层使事情变得更安全,但它们也使事情更难使用——看看机场安全、申请新护照或使用 NAT 网关获得 Inte.net 访问就知道了。

通过将资源放在私有 su.net中,可以获得额外的安全层 知道私有 su.net 中的资源不会因安全组的错误配置而意外公开(但可以因 su.net 的错误配置而公开),这可以让人放心。

网络安全人员熟悉使用公共/私有 su.net的传统安全方法,并且没有在传统 .net 中拥有安全组的奢侈。 因此,他们更愿意将旧式安全方法现代安全组结合使用。

因此,如果您愿意将资源放在公共 su.net 中并使用安全组来限制它们,那么这取决于您。 如果您不将公共 IP 地址提供给私有资源,您可以进一步保护资源,这将进一步保护它们免受访问。

至少,将您的数据库设置为Publicly Accessible = No

以下是我能想到的一些最佳实践 -

  1. 拥有 3 层企业架构,其中 1 个公共 su.net、1 个私有 su.net 和 1 个用于数据库。 只有公共 su.net 具有直接的 inte.net 连接,其中 rest 个具有 NAT 网关
  2. 不要将 RDS (DB) 保存在公共 su.net 中。 公开你的数据库是不好的(即使你有 SGs)
  3. 为允许和拒绝语句实施 ACL 以及 SG。 ACL 在 su.net 级别运行

对于企业级,您肯定需要更高的安全性,具体取决于架构

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM