适用于 RDS 的 AWS 安全组 - 出站规则

use*_*002 2 amazon-web-services amazon-rds

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

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

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

Mic*_*bot 8

这是安全风险吗?

理论上,是的。实际上,几乎可以肯定没有重大风险,但任何不需要的允许的事情都可以说是“风险”。

理想的出站安全规则应该是什么?

什么都不应该被允许,因为您的数据库不需要启动连接。解释如下。

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

几乎正确,但技术上不正确(或含糊不清)。

这些实例并没有在他们这边使用端口 5432。那是目的港。实例端的源端口通常随每个连接而变化。

安全组是有状态的,它们的规则只需要允许启动连接。自动允许响应流量,无需配置。

“安全组是有状态的——无论出站规则如何,对允许的入站流量的响应都可以流出,反之亦然。”

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#VPCSecurityGroups

到数据库的入站连接的目标端口为 5432。因此,单个入站规则允许建立这些连接返回回复流量。

数据库安全组中的出站“允许”规则现在实际上没有做任何事情。

数据库不会启动连接,因此不需要允许任何出站。即使在 RDS 内复制的情况下,这仍然是正确的。RDS 机器显然必须在这样的配置中相互连接,但事实证明它们有自己的“隐藏”网络,它们可以通过这些网络建立这些连接,并且它不依赖于您的安全组设置。