AWS RDS 数据库实例公开编辑

识别创建或修改 AWS RDS 数据库实例以启用公共访问的行为。数据库实例可能包含敏感数据,如果与未经授权的账户共享或公开,可能会被滥用。攻击者可能会在数据库实例上启用公共访问,以维持持久性或通过绕过访问控制来逃避防御。

规则类型: eql

规则索引:

  • filebeat-*
  • logs-aws.cloudtrail-*

严重程度: 中

风险评分: 47

运行间隔: 5 分钟

搜索索引范围: now-10m(日期数学格式,另请参阅额外回溯时间

每次执行的最大警报数: 100

参考:

标签:

  • 域: 云
  • 数据源: AWS
  • 数据源: Amazon Web Services
  • 数据源: AWS RDS
  • 资源: 调查指南
  • 用例: 威胁检测
  • 战术: 持久化
  • 战术: 防御规避

版本: 1

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南编辑

分类和分析

调查 AWS RDS 数据库实例公开事件

此规则用于识别何时创建或修改 RDS 数据库实例以启用公共访问。虽然可公开访问的数据库实例是一种常见做法,但攻击者可能会利用此功能在受损环境中维持持久性或逃避防御。

可能的调查步骤

  • 识别参与者: 查看 aws.cloudtrail.user_identity.arnaws.cloudtrail.user_identity.access_key_id 字段,以识别谁进行了更改。验证此参与者是否通常执行此类操作以及他们是否具有必要的权限。
  • 审查创建/修改事件: 识别涉及的数据库实例并审查事件详细信息。查找 ModifyDBInstanceCreateDBInstanceCreateDBCluster 操作,其中 publiclyAccessible 参数设置为 true。
  • 请求和响应参数: 检查 CloudTrail 事件中的 aws.cloudtrail.request_parameters 字段,以识别数据库实例标识符和对实例进行的任何其他修改。
  • 验证创建/修改的实例: 检查已创建或修改的数据库实例及其内容,以确定其中存储的数据的敏感程度。
  • 结合最近的更改进行分析: 将此事件与 RDS 数据库或集群配置和部署中的最近更改进行比较。查找任何其他最近的权限更改或异常的管理操作。
  • 与其他活动关联: 搜索此事件前后相关的 CloudTrail 事件,以查看相同的参与者或 IP 地址是否参与了其他潜在的可疑活动。
  • 询问相关人员: 如果修改是由用户发起的,请与负责管理数据库实例的人员或团队核实此操作的意图和授权。

误报分析

  • 合法的实例配置: 确认数据库实例的创建或修改是否与合法任务相符。
  • 一致性检查: 将该操作与该用户或组织内执行的类似操作的历史数据进行比较。如果该操作与过去的合法活动一致,则可能表明这是一个误报。

响应和修复

  • 立即审查和恢复: 如果更改未经授权,请更新实例属性以删除公共访问权限并将其恢复到之前的状态。确定附加的安全组是否已被修改以允许额外的访问,并恢复任何未经授权的更改。
  • 增强监控和警报: 调整监控系统,以便在出现类似操作时发出警报,尤其是涉及敏感数据或权限的操作。
  • 审计实例和策略: 对所有实例和关联策略进行全面审计,以确保它们遵循最小权限原则。
  • 策略更新: 审查并可能更新组织关于数据库实例访问的策略,以加强控制并防止未经授权的访问。
  • 事件响应: 如果确认存在恶意意图,请将其视为数据泄露事件,并启动事件响应协议。这包括进一步调查、隔离和恢复。

其他信息

有关管理数据库实例和保护 AWS 环境的更多指导,请参阅AWS RDS 文档和 AWS 安全最佳实践。此外,有关数据库实例安全的具体详细信息,请参阅以下资源: - AWS RDS ModifyDBInstance

规则查询编辑

any where event.dataset == "aws.cloudtrail"
    and event.provider == "rds.amazonaws.com"
    and event.outcome == "success"
    and (
        (event.action == "ModifyDBInstance" and stringContains(aws.cloudtrail.request_parameters, "publiclyAccessible=true"))
        or
        (event.action in ("CreateDBInstance", "CreateDBCluster") and stringContains(aws.cloudtrail.request_parameters, "publiclyAccessible=true"))
    )

框架: MITRE ATT&CKTM