7

我有一个分配给 RDS 实例的安全组,它允许来自我们的 EC2 实例的端口 5432 流量。

但是,此安全组为所有 IP 的所有流量启用了所有出站流量。

这是安全风险吗?理想的出站安全规则应该是什么?在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?

4

3 回答 3

10

理想的出站安全规则应该是什么?在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?

明确控制出站连接也是一个好主意。

在您的 RDS 组中:删除所有出站规则(默认情况下,有规则允许到所有端口和 IP 的出站连接 -> 只需删除此“all-anywhere”规则)。

您的数据库将通过端口 5432 从您的 EC2 实例接收入站请求,RDS 将通过相同的连接响应您的 EC2 实例,在这种情况下根本不需要定义出站规则。

于 2017-04-24T15:37:59.747 回答
2

默认情况下,所有 Amazon EC2 安全组:

  • 拒绝所有入站流量
  • 允许所有出站流量

您必须配置安全组以允许入站流量。此类配置应限制在可能的最小范围内。也就是说,所需的最少协议和所需的最小 IP 地址范围。

然而,出站访问传统上是保持开放的。这样做的原因是您通常会“信任”您自己的系统。如果他们想访问外部资源,让他们这样做。

欢迎您限制出站访问,尤其是对于敏感系统。但是,确定哪些端口保持开放可能是一个挑战。例如,实例可能想要下载操作系统更新、访问 Amazon S3 或发送电子邮件。

于 2016-11-03T09:17:29.873 回答
1

使用安全组(与ACL 规则相反)时,所有入站流量都自动允许在出站流量中,因此在您的情况下,出站规则可能为空。

这是安全风险吗?理想的出站安全规则应该是什么?在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?

仅当您的 RDS 位于VPC 内的公共子网中时,才有风险。

在您的方案中,最佳实践建议在您的 Web 服务器中有一个公共子网,并为所有私有资源(RDS、其他私有服务等)提供一个私有子网。

在此处输入图像描述

如图所示,将 RDS 托管在私有子网中,无法从 VPC 外部访问它

于 2016-11-03T09:14:22.890 回答