AWS RDS 数据库实例被公开

编辑

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

规则类型: eql

规则索引:

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

严重性: 中等

风险评分: 47

运行频率: 5 分钟

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

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

参考资料:

标签:

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

版本: 2

规则作者:

  • 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