

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

# 修复可能失陷的数据库
<a name="guardduty-remediate-compromised-database-rds"></a>

GuardDuty 在您启用[支持的数据库](rds-protection.md#rds-pro-supported-db)后生成的[RDS 保护调查发现类型](findings-rds-protection.md)，表明您的登录行为可能存在可疑和异常。[RDS 防护](rds-protection.md)使用 RDS 登录活动，通过识别登录尝试中的异常模式来 GuardDuty 分析和描述威胁。

**注意**  
您可以从 [GuardDuty 主动查找类型](guardduty_finding-types-active.md#findings-table) 中选择某个调查发现类型来访问其完整信息。

请按照以下建议步骤修复您的 AWS 环境中可能遭到入侵的 Amazon Aurora 数据库。

**Topics**
+ [通过成功登录事件修复可能受攻击的数据库](#gd-compromised-db-successful-attempt)
+ [通过失败登录事件修复可能受攻击的数据库](#gd-compromised-db-failed-attempt)
+ [修复可能遭泄露的凭证](#gd-rds-database-compromised-credentials)
+ [限制网络访问](#gd-rds-database-restrict-network-access)

## 通过成功登录事件修复可能受攻击的数据库
<a name="gd-compromised-db-successful-attempt"></a>

以下建议的步骤可以帮助您修复可能受攻击的 Aurora 数据库，该数据库表现出与成功登录事件相关的异常行为。

1. **确定受影响的数据库和用户。**

   生成的 GuardDuty 结果提供了受影响数据库的名称和相应的用户详细信息。有关更多信息，请参阅 [调查发现详细信息](guardduty_findings-summary.md)。

1. **确认这种行为是预期的还是意外的。**

   以下列表列出了可能导致生成调查结果 GuardDuty 的潜在场景：
   + 经过很长时间后才登录到其数据库的用户。
   + 偶尔登录数据库的用户，例如，每个季度登录一次的财务分析师。
   + 尝试登录成功的潜在可疑攻击者可能会攻击数据库。

1. **如果行为出乎意料，请开始此步骤。**

   1. **限制数据库访问**

      限制可疑账户和登录活动源的数据库访问。有关更多信息，请参阅 [修复可能遭泄露的凭证](#gd-rds-database-compromised-credentials) 和 [限制网络访问](#gd-rds-database-restrict-network-access)。

   1. **评测影响并确定访问了哪些信息。**
      + 请查看审计日志（如果有），以确定可能被访问的信息片段。有关更多信息，请参阅《Amazon Aurora 用户指南》**中的[监控 Amazon Aurora 数据库集群中的事件、日志和流](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Monitor_Logs_Events.html)。
      + 确定是否访问或修改了任何敏感或受保护信息。

## 通过失败登录事件修复可能受攻击的数据库
<a name="gd-compromised-db-failed-attempt"></a>

以下建议的步骤可以帮助您修复可能受攻击的 Aurora 数据库，该数据库表现出与失败登录事件相关的异常行为。

1. **确定受影响的数据库和用户。**

   生成的 GuardDuty 结果提供了受影响数据库的名称和相应的用户详细信息。有关更多信息，请参阅 [调查发现详细信息](guardduty_findings-summary.md)。

1. **确定失败登录尝试源。**

   生成的 GuardDuty 调查结果在调查结果面板的 “Acto **r**” 部分下提供 **IP 地址**和 **ASN 组织**（如果是公共连接）。

   自治系统（AS）是由一个或多个网络运营商运行的一个或多个 IP 前缀（可在网络上访问的 IP 地址列表）组成的群组，这些运营商维护单一、明确定义的路由策略。网络运营商需要自治系统号 (ASNs) 来控制其网络内的路由，并与其他互联网服务提供商交换路由信息 (ISPs)。

1. **确认这种行为是否是意料之外的。**

   检查此活动是否表示试图获得对数据库的其他未经授权的访问，如下所示：
   + 如果源是内部的，请检查应用程序是否配置错误并重复尝试连接。
   + 如果是外部攻击者，则检查相应的数据库是否面向公众或配置错误，从而允许潜在的恶意行为者暴力破解常用用户名。

1. **如果行为出乎意料，请开始此步骤。**

   1. **限制数据库访问**

      限制可疑账户和登录活动源的数据库访问。有关更多信息，请参阅 [修复可能遭泄露的凭证](#gd-rds-database-compromised-credentials) 和 [限制网络访问](#gd-rds-database-restrict-network-access)。

   1. **执行根本原因分析并确定可能导致此活动的步骤。**

      设置警报，以便在活动修改网络策略并造成不安全状态时收到通知。有关更多信息，请参阅《AWS Network Firewall 开发人员指南》**中 [AWS Network Firewall的防火墙策略](https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewall-policies.html)。

## 修复可能遭泄露的凭证
<a name="gd-rds-database-compromised-credentials"></a>

 GuardDuty 调查结果可能表明，当调查结果中确定的用户执行了意外的数据库操作时，受影响数据库的用户凭据已被泄露。您可以在控制台的调查发现面板中的** RDS DB 用户详细信息**部分或调查发现 JSON 的 `resource.rdsDbUserDetails` 中识别用户。这些用户详细信息包括用户名、使用的应用程序、访问的数据库、SSL 版本和身份验证方法。
+ 要对调查发现中涉及的特定用户撤销访问权限或轮换密码，请参阅《Amazon Aurora 用户指南》**中的 [Amazon Aurora MySQL 的安全性](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Security.html)或 [Amazon Aurora PostgreSQL 的安全性](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Security.html)。
+ 用于 AWS Secrets Manager 安全存储和自动轮换 Amazon Relational Database Service (RDS) 数据库的密钥。有关更多信息，请参阅《AWS Secrets Manager 开发人员指南》**中的 [AWS Secrets Manager 教程](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials.html)。
+ 使用 IAM 数据库身份验证来管理数据库用户的访问权限，无需密码。有关更多信息，请参阅《Amazon Aurora 用户指南》**中的 [IAM 数据库身份验证](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)。

  有关更多信息，请参阅《Amazon RDS 用户指南》**中的 [Amazon Relational Database Service 安全最佳实践](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.Security.html)。

## 限制网络访问
<a name="gd-rds-database-restrict-network-access"></a>

 GuardDuty 调查结果可能表明，除了您的应用程序或虚拟私有云 (VPC) 之外，还可以访问数据库。如果调查发现中的远程 IP 地址是意外的连接源，请对安全组进行审计。附加到数据库的安全组列表可在[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)控制台**的安全组**下或调查结果 JSON `resource.rdsDbInstanceDetails.dbSecurityGroups` 中找到。有关配置安全组的更多信息，请参阅《Amazon RDS 用户指南》**中的[使用安全组控制访问](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html)。

如果您使用的是防火墙，请通过重新配置网络访问控制列表（NACLs）来限制对数据库的网络访问。有关更多信息，请参阅《AWS Network Firewall 开发人员指南》**中 [AWS Network Firewall的防火墙](https://docs.aws.amazon.com/network-firewall/latest/developerguide/firewalls.html)。