检测根账户使用情况
构建一个在根用户开始活动的瞬间触发的警报。
检测根账户使用情况 是 CoddyKit 上的免费 AWS Security Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AWS Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AWS Security Academy 课程共包含 4 节课。
Root 用户为何特殊
Root 用户是创建 AWS 账户时生成的账户所有者身份,对所有操作和资源都拥有不受限制的访问权限。IAM 策略或 SCP 无法限制它。由于权限极高,任何 Root 用户的使用都是值得立即发出警报的高信号安全事件。
最佳实践:将其妥善锁定
AWS 的指导原则是:仅在少数确实需要 Root 用户的任务中使用它,此后不再使用。您应为 Root 用户启用 MFA,彻底删除其访问密钥,并为日常工作创建 IAM 身份或身份中心用户。完成锁定后,合法的 Root 活动应当既少见又经过规划。
将 Root 使用情况作为威胁信号
由于 Root 几乎不应登录,意外的 Root 登录是遭到入侵或违反策略的有力 संकेत。检测此类行为是 CIS 基准监控控制措施中的经典案例,也是常见的考试场景:预期答案是由 CloudTrail 提供数据的指标筛选器和警报,而不是人工检查。
构成要素
此检测由您已经了解的三个部分组成:CloudTrail记录登录和 API 事件;当 CloudTrail 配置为将事件传送到日志组时,CloudWatch Logs会接收这些事件;而指标筛选器加警报会将 Root 事件转化为即时通知。要使整个链路正常工作,每个部分都必须就位。
在 CloudTrail 中识别 Root
在 CloudTrail 事件中,当 Root 用户执行操作时,userIdentity.type字段的值为 Root。指标筛选器可以匹配此字段。为了避免例行自动化事件产生噪声,筛选器通常还会排除 AWS 服务事件,使只有真实的人为 Root 操作才触发警报。
{ $.userIdentity.type = "Root" \
&& $.userIdentity.invokedBy NOT EXISTS \
&& $.eventType != "AwsServiceEvent" }将 CloudTrail 传送到 CloudWatch
默认情况下,CloudTrail 会写入 S3,而不是 CloudWatch Logs。要近乎实时地触发警报,您必须配置跟踪,将其事件同时传送到 CloudWatch Logs 日志组。这需要一个允许 CloudTrail 写入日志组的 IAM 角色。如果没有这一步传送,指标筛选器就没有可匹配的内容。
构建指标筛选器
在 CloudTrail 日志组上创建指标筛选器,并使用匹配 userIdentity.type = Root 的模式。将每次匹配映射到一个指标,例如 RootAccountUsageCount,并将值设为 1。这样,每次 Root 操作都会递增一个可供监控的指标,将隐藏在 JSON 中的字段转化为可测量的信号。
警报与通知
将CloudWatch 警报关联到该指标,并将阈值设为单个较短周期内达到 1,使其在第一个 Root 事件发生时就触发。将警报指向由安全团队订阅的SNS 主题。这样,Root 一被使用,安全团队几乎就能立即收到通知。
多账户注意事项
在组织中,每个成员账户都有自己的 Root 用户。通过组织跟踪可以集中收集所有账户中的 CloudTrail 事件,您也可以针对中央日志组只构建一次检测。这样可以确保不会有任何成员账户的 Root 活动在无人监控的情况下被遗漏,这是治理方面的一项关键要求。
响应警报
警报触发后,在证明并非安全事件之前,请将其按安全事件处理。确认该活动是否属于经过计划和授权的任务。如果不是,请保护账户:轮换 Root 密码,确认 MFA 仍然有效,在 CloudTrail 中检查近期的 Root 操作,并检查攻击者可能创建的新 IAM 身份或密钥。
为何这是考试重点
检测 Root 使用情况,将 CloudTrail、CloudWatch Logs、指标筛选器、警报和 SNS 结合成一个真实的控制措施。请准备应对这样的题目:错误选项可能建议人工检查、为 Root 设置 IAM 策略或使用 SCP。正确答案始终是自动检测加即时通知,因为 Root 无法被限制,只能被监控。
快速检查
测试 Root 使用情况检测模式。
回顾
Root 用户不受限制,应通过 MFA 且不配置访问密钥来妥善锁定。任何使用行为都是高信号事件。检测方法是将CloudTrail传送到CloudWatch Logs,针对 userIdentity.type = Root 添加指标筛选器,并将CloudWatch 警报连接到SNS 主题。在组织中,组织跟踪可以集中检测每个账户中的此类活动。
常见问题解答
「检测根账户使用情况」课时是免费的吗?
是的 — 「检测根账户使用情况」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AWS Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 AWS Security Academy 课程共包含 4 节课。
「检测根账户使用情况」这节课中我会学到什么?
构建一个在根用户开始活动的瞬间触发的警报。 你通过在浏览器中直接运行的动手代码来练习 AWS Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AWS Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AWS Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「检测根账户使用情况」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AWS Security Academy 课中编写并运行代码吗?
能。每节 AWS Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 将日志收集到 CloudWatch
- 安全事件的指标筛选器
- 创建警报和通知
- 检测根账户使用情况