use*_*002 2 amazon-web-services amazon-rds
我有一个分配给 RDS 实例的安全组,它允许来自我们的 EC2 实例的端口 5432 流量。
但是,此安全组为所有 IP 的所有流量启用了所有出站流量。
这是安全风险吗?理想的出站安全规则应该是什么?在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?
这是安全风险吗?
理论上,是的。实际上,几乎可以肯定没有重大风险,但任何不需要的允许的事情都可以说是“风险”。
理想的出站安全规则应该是什么?
什么都不应该被允许,因为您的数据库不需要启动连接。解释如下。
在我看来,RDS 安全组的出站流量应该限制在我们 EC2 实例的 5432 端口,对吗?
几乎正确,但技术上不正确(或含糊不清)。
这些实例并没有在他们这边使用端口 5432。那是目的港。实例端的源端口通常随每个连接而变化。
安全组是有状态的,它们的规则只需要允许启动连接。自动允许响应流量,无需配置。
“安全组是有状态的——无论出站规则如何,对允许的入站流量的响应都可以流出,反之亦然。”
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html#VPCSecurityGroups
到数据库的入站连接的目标端口为 5432。因此,单个入站规则允许建立这些连接并返回回复流量。
数据库安全组中的出站“允许”规则现在实际上没有做任何事情。
数据库不会启动连接,因此不需要允许任何出站。即使在 RDS 内复制的情况下,这仍然是正确的。RDS 机器显然必须在这样的配置中相互连接,但事实证明它们有自己的“隐藏”网络,它们可以通过这些网络建立这些连接,并且它不依赖于您的安全组设置。
归档时间: |
|
查看次数: |
3505 次 |
最近记录: |