修复 Amazon RDS 功能面临的风险 - AWS Security Hub

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

修复 Amazon RDS 功能面临的风险

注意

Security Hub 处于预览版,可能会发生变化。

AWS Security Hub 可以为 Amazon RDS 函数生成暴露调查结果。

在 Security Hub 控制台上,暴露发现中涉及的 Amazon RDS 函数及其识别信息列在调查结果详情的 “资源” 部分中。通过编程方式,您可以通过 Security Hub API 的GetFindingsV2操作来检索资源详细信息。

确定风险调查结果中涉及的资源后,如果您不需要该资源,则可以将其删除。删除不必要的资源可以减少您的曝光概况和 AWS 成本。如果资源必不可少,请按照这些建议的补救步骤进行操作,以帮助降低风险。补救主题根据特征的类型进行划分。

单个暴露发现包含在多个补救主题中发现的问题。相反,您只需解决一个补救主题即可解决风险发现并降低其严重性级别。您的风险补救方法取决于您的组织要求和工作量。

注意

本主题中提供的补救指南可能需要在其他 AWS 资源中进行进一步的咨询。

Amazon RDS 函数的配置错误特征

下面介绍了 Amazon RDS 函数的错误配置特征和补救步骤。

Amazon RDS 数据库实例配置了公共访问权限

具有公共访问权限的 Amazon RDS 实例有可能通过其终端节点通过互联网进行访问。虽然有时需要公开访问才能实现实例功能,但此配置可以用作未经授权的用户尝试访问您的数据库的潜在攻击媒介。可公开访问的数据库可能会遭受端口扫描、暴力攻击和漏洞利用企图。遵循标准的安全原则,我们建议您限制数据库资源的公开暴露。

  1. 修改公共访问设置

    在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库实例。根据您的应用程序架构,评估数据库实例是否需要公开访问权限。有关更多信息,请参阅在 Amazon RDS 中设置公共或私有访问权限

Amazon RDS 数据库集群有一个公开共享的快照

任何人都可以访问公共快照 AWS 账户,这可能会将敏感数据暴露给未经授权的用户。任何人 AWS 账户 都有权复制这些公共快照并从中创建数据库实例,这可能会导致数据泄露或未经授权的数据访问。按照安全最佳实践,我们建议仅允许受信任 AWS 账户 的组织访问您的 Amazon RDS 快照。

1. 配置 Amazon RDS 快照以供私有访问

在曝光调查结果中,通过超链接打开资源。有关如何修改快照共享设置的信息,请参阅 Amazon Aurora 用户指南中的共享快照有关如何停止共享快照的信息,请参阅 Amazon Aurora 用户指南中的停止快照共享

Amazon RDS 数据库实例的快照未进行静态加密

如果未经授权访问存储层,未加密的 Amazon RDS 数据库实例快照可能会暴露敏感数据。如果不加密,快照中的数据可能会通过未经授权的访问而被泄露。这会带来数据泄露和违规的风险。遵循安全最佳实践,我们建议对所有数据库资源及其备份进行加密以维护数据机密性。

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的快照。您不能直接加密现有的未加密快照。而是创建未加密快照的加密副本。有关详细说明,请参阅 Amazon A urora 用户指南中的数据库集群快照复制和加密 Amazon RDS 资源。 ..

Amazon RDS 数据库集群的快照未进行静态加密

如果未经授权访问存储层,未加密的 Amazon RDS 数据库集群快照可能会暴露敏感数据。如果不加密,快照中的数据可能会通过未经授权的访问而被泄露。这会带来数据泄露和违规的风险。遵循安全最佳实践,我们建议对所有数据库资源及其备份进行加密以维护数据机密性。

1. 创建快照的加密副本

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的快照。您不能直接加密现有的未加密快照。而是创建未加密快照的加密副本。有关详细说明,请参阅 Amazon A urora 用户指南中的数据库集群快照复制和加密 Amazon RDS 资源。 ..

Amazon RDS 数据库实例有一个开放的安全组

安全组充当您的 Amazon RDS 实例的虚拟防火墙,用于控制入站和出站流量。开放式安全组允许从任何 IP 地址进行不受限制的访问,可能会使您的数据库实例面临未经授权的访问和潜在的攻击。按照标准的安全原则,我们建议将安全组的访问权限限制为特定 IP 地址和端口,以保持最低权限原则。

查看安全组规则并评估当前配置

在风险调查结果中,打开数据库实例安全组的资源。评估哪些端口是开放的,并且可以从广泛的 IP 范围访问,例如(0.0.0.0/0 or ::/0)。有关查看安全组详细信息的信息,请参阅DescribeSecurityGroups亚马逊弹性计算云 API 参考》。

修改安全组规则

修改您的安全组规则,以限制对特定可信 IP 地址或范围的访问。更新安全组规则时,请考虑通过为每个所需的源 IP 范围创建规则或限制对特定端口的访问权限来区分不同网段的访问要求。要修改安全组规则,请参阅 Amazon EC2 用户指南中的配置安全组规则。要修改现有 Amazon RDS 数据库实例的默认端口,请参阅 A mazon Aurora 用户指南中的使用控制台、CLI 和 API 修改数据库集群

Amazon RDS 数据库实例已禁用 IAM 数据库身份验证

IAM 数据库身份验证允许您使用 IAM 凭证而不是数据库密码对 Amazon RDS 数据库进行身份验证。这提供了多项安全优势,例如集中式访问管理、临时凭证以及无需在应用程序代码中存储数据库密码。IAM 数据库身份验证允许使用身份验证令牌而不是密码对数据库实例进行身份验证。因此,进出数据库实例的网络流量使用 SSL 进行加密。如果没有 IAM 身份验证,数据库通常依赖基于密码的身份验证,这可能会导致密码重复使用和密码薄弱。按照安全最佳实践,我们建议启用 IAM 数据库身份验证。

启用 IAM 数据库身份验证

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库实例。您可以在 “数据库” 选项中启用 IAM 数据库身份验证。有关更多信息,请参阅 A mazon RDS 用户指南中的启用和禁用 IAM 数据库身份验证。启用 IAM 身份验证后,将您的数据库实例更新为使用 IAM 身份验证而不是基于密码的身份验证。

Amazon RDS 数据库实例使用默认管理员用户名

对数据库实例使用默认用户名(例如 “admin”、“root”)会增加安全风险,因为这些用户名广为人知,通常是暴力攻击的目标。默认用户名是可预测的,可让未经授权的用户更容易尝试访问您的数据库。使用默认用户名,攻击者只需要获取密码,而无需同时获取密码即可访问您的数据库。遵循安全最佳实践,我们建议对数据库实例使用唯一的管理员用户名,以通过隐蔽性来增强安全性,并降低未经授权的访问尝试的风险。

配置唯一的管理员用户名

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库实例。考虑哪种备份频率、保留期和生命周期规则最适合您的应用程序。

Amazon RDS 数据库集群使用默认管理员用户名

对数据库实例使用默认用户名(例如 “admin”、“root”)会增加安全风险,因为这些用户名广为人知,通常是暴力攻击的目标。默认用户名是可预测的,可让未经授权的用户更容易尝试访问您的数据库。使用默认用户名,攻击者只需要获取密码,而无需同时获取密码即可访问您的数据库。遵循安全最佳实践,我们建议对数据库实例使用唯一的管理员用户名,以通过隐蔽性来增强安全性,并降低未经授权的访问尝试的风险。

配置唯一的管理员用户名

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库实例。您无法更改现有 Amazon RDS 数据库实例的管理员用户名。要创建唯一的管理员名称,您需要使用自定义用户名创建一个新的数据库实例并迁移数据。

Amazon RDS 数据库实例已禁用自动次要版本升级

自动次要版本升级可确保您的 Amazon RDS 实例在次要引擎版本可用时自动获得这些升级。这些升级通常包括重要的安全补丁和错误修复,有助于维护数据库的安全性和稳定性。您的数据库面临运行的风险是存在已知的安全漏洞,这些漏洞已在较新的次要版本中修复。如果没有自动更新,数据库实例可能会在发现新 CVEs 漏洞时积累安全漏洞。按照安全最佳实践,我们建议为所有 Amazon RDS 实例启用自动次要版本升级。

启用自动次要版本升级

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库实例。您可以在 “维护和备份” 选项卡中查看自动次要升级设置。有关更多信息,请参阅 Amazon RDS for MySQL 的自动次要版本升级。您也可以将维护时段配置为在数据库活动较少的时段进行。

Amazon RDS 数据库实例已禁用自动备份

自动备份为您的 Amazon RDS 实例提供 point-in-time恢复,使您可以将数据库还原到保留期内的任意点。禁用自动备份后,如果出现恶意删除、数据损坏或其他数据丢失情况,则可能会丢失数据。如果发生勒索软件攻击、数据库表删除或损坏等恶意活动,恢复到事件发生前某个时间点的能力可以缩短从事件中恢复所需的时间。按照安全最佳实践,我们建议为所有生产数据库启用具有适当保留期的自动备份。

Amazon RDS 数据库实例已禁用删除保护

数据库删除保护是一项有助于防止数据库实例被删除的功能。禁用删除保护后,任何具有足够权限的用户都可以删除您的数据库,这可能会导致数据丢失或应用程序停机。攻击者可以删除您的数据库,从而导致服务中断、数据丢失和恢复时间延长。按照安全最佳实践,我们建议您为 RDS 数据库实例启用删除保护,以防止恶意删除。

为您的 Amazon RDS 数据库集群启用删除保护

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库集群。

Amazon RDS 数据库集群已禁用删除保护

数据库删除保护是一项有助于防止数据库实例被删除的功能。禁用删除保护后,任何具有足够权限的用户都可以删除您的数据库,这可能会导致数据丢失或应用程序停机。攻击者可以删除您的数据库,从而导致服务中断、数据丢失和恢复时间延长。按照安全最佳实践,我们建议您为 RDS 数据库集群启用删除保护,以防止恶意删除。

为您的 Amazon RDS 数据库集群启用删除保护

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库集群。

Amazon RDS 数据库实例使用数据库引擎的默认端口

使用数据库引擎默认端口的 Amazon RDS 实例可能面临更高的安全风险,因为这些默认端口广为人知,并且经常成为自动扫描工具的目标。修改数据库实例以使用非默认端口,可通过隐蔽性增加额外的安全层,使未经授权的用户更难对您的数据库执行自动或有针对性的攻击。默认端口通常由未经授权的人员进行扫描,并可能导致您的数据库实例成为攻击目标。按照安全最佳实践,我们建议将默认端口更改为自定义端口,以降低自动攻击或定向攻击的风险。

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库实例。

更新应用程序连接字符串

更改端口后,将连接到 Amazon RDS 实例的所有应用程序和服务更新为使用新的端口号。

Amazon RDS 数据库实例不在备份计划范围内

AWS Backup 是一项完全托管的备份服务,可集中和自动备份数据。 AWS 服务如果您的数据库实例不在备份计划范围内,则在发生恶意删除、数据损坏或其他数据丢失的情况下,您就有可能丢失数据。如果发生勒索软件攻击、数据库表删除或损坏等恶意活动,恢复到事件发生前某个时间点的能力可以缩短从事件中恢复所需的时间。按照安全最佳实践,我们建议将您的 Amazon RDS 实例纳入备份计划,以确保数据保护。

为您的数据库实例创建和分配备份计划

在曝光度调查结果中,使用超链接打开资源。这将打开受影响的数据库实例。考虑哪种备份频率、保留期和生命周期规则最适合您的应用程序。