10

我想询问有关在 AWS 中将 EC2 连接到 RDP 的问题。

我已将我的 EC2 安全组(包含 EC2 实例)添加到默认 RDP 组中,并且数据正在流动 - 连接正常。

EC2 安全组启用了到 0.0.0.0/0 的端口 80 和到我的 IP 的 SSH。

我有点担心,通过将此 EC2 组添加到 RDS 数据库,它将允许来自任何地方的端口 80 流量访问数据库。这是正确的还是错误的?

如果您像这样连接它们,EC2 中的规则是否适用于 RDS 实例?

我确实在 AWS 网站上读到“数据库安全组只允许访问数据库服务器端口”。谁能确认这是正确的?

谢谢你

4

2 回答 2

12

您无需担心会在 RDS 服务器上打开额外的端口。

在 RDS 数据库安全策略中使用时,EC2 安全组被视为访问控制列表。

基本上,您要说的是,您想让属于特定 EC2 安全组的任何实例都可以使用该数据库安全组策略访问 RDS 实例。

EC2 安全组中定义的特定规则无关紧要。

这种行为基本上只是为您提供了一种方便的方法,可以轻松地允许从具有一些共同关联(它们的安全组)的服务器集群进行访问。

于 2012-10-01T15:46:15.777 回答
1

对此也有兴趣了解更多。在实践中,我从未注意到“其他流量”进入 RDS 实例。始终假定它只是允许通过 RDS 实例的数据库端口。在我看来,允许其他流量通过似乎有点奇怪。

总的来说,我认为它只是允许通过的原始安全组 - 它不会从您允许的安全组继承规则。

我认为这与添加来自另一个安全组的入口相同,因为它允许来自该安全组的流量通过,但不允许恰好与安全组中的一条规则匹配的流量。(与在启动时为实例分配安全组不同,所有匹配的流量都将被允许:而不是源自启动时分配的所述安全组的流量)。

例子:

  • SG:
    • WEB:允许端口 80
    • DB:允许 DB PORT
    • HQ_ACCESS:允许端口 22 和 80
    • SOME_OTHER_GROUP:允许端口 443
  • 实例
    • InstanceA 有安全组:WEB、DB、HQ_ACCESS
    • InstanceB 有安全组:SOME_OTHER_GROUP
  • RDS
    • RDS 实例允许来自 DB SG 的任何流量,这将允许 RDS 与 InstanceA 但不允许与 InstanceB 通信,并且不允许任何其他流量。如果出于某种原因您将安全组 WEB 或 HQ_ACCESS 添加到 RDS 实例,它将不允许端口 80 或 22 流量通过,但会允许 InstanceA 本身通过适当的 DB 端口与其通信。

注意:安全组很容易混淆,所以我希望这会有所帮助

于 2012-10-01T11:48:29.957 回答