这个问题肯定太宽泛了,但我会试着总结一下我对你的问题的看法。
如果我禁用强制启用的 SSL over RDS 会怎样?(使设置更容易)它的安全后果是什么?
如果您计划启用公共终端节点,或者计划拥有在 VPC 之外打开数据库终端节点的自定义安全组,那么这是一个坏主意。如果您不打算开放防火墙规则,那么这绝对是一种选择,前提是您接受此安全模型的最薄弱环节是保护攻击者无法访问您的 VPC 的风险。如果攻击者可以通过 ssh 进入您的客户端 EC2 节点之一,请考虑数据已被泄露,因为此时他总是可以在中间进行操作。
处理这种情况的更好方法是什么?
禁用安全实践以简化设置通常是一种反模式。您只需几次设置您的基础设施,而不是与之交互。考虑禁用 TLS 的理由甚至更大。例如:许多 JDBC 驱动程序并不真正支持证书中具有多个端点(通过 SAN)的 TLS 证书。即使在这些情况下,在这些情况下正确的做法是为客户端代码做出贡献并使其支持缺少的内容。
Power BI 和 RDS 之间的通信将如何进行,它将通过 HTTP 还是 HTTPS?
不确定我是否理解这一点。如果启用 SSL,则可以选择同时使用原始 TCP 和 SSL。如果禁用未加密的连接,则只能使用 SSL。如果你什么都不做,那么你说的是原始 TCP。
我的实例上可能发生哪些类型的攻击?
- 如果您的实例可公开访问 - 您对 DDos 持开放态度。你不能做太多的事情来阻止它。(至少,我不知道你可以对你的数据库集群做些什么来处理它)
- 如果您没有启用 SSL,那么攻击者可以伪装成数据库并窃取您的凭据/查询。如果未启用公共端点,则鉴于攻击者必须先渗透 VPC,这种攻击的可能性略小一些。
- 如果您确实启用了 SSL,但您通过原始 TCP 进行通信(即未强制执行 SSL),那么您很容易受到 MITM 的攻击。
- 如果您启用了 SSL,但您不进行端点验证,那么您将再次受到 MITM 的攻击。
还有其他情况需要注意吗?
太宽泛。即使您启用 SSL,如果您不以受保护的方式存储您的秘密(信用),您也可能容易受到攻击。您可能希望停止创建普通数据库用户以支持 IAM 用户。它不会增加安全性,但会为您提供更多的可管理性和事件响应。您还可以强制所有应用程序在任何地方使用临时凭证,而不是实际使用您的 IAM 凭证,从而减少被盗凭证的范围。
一般来说,您的许多问题都是通用的安全实践,根本不特定于 RDS 或数据库。希望这可以帮助。