随着云基础设施成为现代企业的支柱,确保这些环境的安全至关重要。由于AWS(亚马逊网络服务)仍然是占主导地位的云,因此对于任何安全专业人员来说,知道在哪里寻找妥协迹象非常重要。AWS CloudTrail 是跟踪和记录 API 活动的重要工具,可提供 AWS 账户内所执行操作的全面记录。将 AWS CloudTrail 视为在您的 AWS 账户中进行的所有 API 调用的审计或事件日志。对于安全专业人员来说,监控这些日志至关重要,尤其是在检测潜在的未经授权的访问时,例如通过被盗的 API 密钥。这些技术以及我在 AWS 工作过的事件中学到的许多其他技术,我们将这些技术内置到 SANS FOR509(企业云取证)中。
1. 不寻常的 API 调用和访问模式
A. API 请求的突然激增
潜在安全漏洞的最初迹象之一是 API 请求的意外增加。CloudTrail 会记录在您的 AWS 账户内进行的每个 API 调用,包括何人发出的调用、何时进行以及从何处发出。拥有被盗 API 密钥的攻击者可能会在短时间内发起大量请求,要么探测帐户以获取信息,要么尝试利用某些服务。
需要注意什么:
- API 活动突然出现非同寻常的激增。
- 来自异常 IP 地址的 API 调用,尤其是来自合法用户不操作的区域的 API 调用。
- 访问尝试访问各种服务,尤其是在您的组织通常不使用这些服务的情况下。
请注意,Guard Duty(如果启用)将自动标记此类事件,但您必须密切关注才能找到它们。
B. 未经授权使用root账户
AWS 强烈建议避免使用根账户进行日常操作,因为它具有很高的权限级别。对 root 账户的任何访问,尤其是在使用与其关联的 API 密钥时,都是一个重要的危险信号。
需要注意什么:
- 使用 root 账户凭证进行的 API 调用,尤其是在通常不使用 root 账户的情况下。
- 更改帐户级别设置,例如修改帐单信息或帐户配置。
2. 异常IAM活动
A. 可疑的访问密钥创建
攻击者可能会创建新的访问密钥,以建立对受感染帐户的持久访问。监控 CloudTrail 日志以创建新的访问密钥至关重要,尤其是在为通常不需要这些密钥的账户创建这些密钥时。
需要注意什么:
- 为 IAM 用户创建新的访问密钥,尤其是那些以前不需要它们的用户。
- 立即使用新创建的访问密钥,这可能表明攻击者正在测试或使用这些密钥。
- 与“CreateAccessKey”、“ListAccessKeys”和“UpdateAccessKey”相关的 API 调用。
C. 角色承担模式
AWS 允许用户代入角色,向他们授予特定任务的临时凭证。监视异常角色承担模式至关重要,因为攻击者可能会承担角色以在环境中进行透视。
需要注意什么:
- 不寻常或频繁的“AssumeRole”API 调用,尤其是对具有提升权限的角色的调用。
- 来自通常不与合法用户关联的 IP 地址或区域的角色代入。
- 角色假设之后,执行与正常业务操作不一致的操作。
3. 异常数据访问和移动
A. 异常的 S3 存储桶访问
Amazon S3 通常是攻击者的目标,因为它可以存储大量可能敏感的数据。监控 CloudTrail 是否存在对 S3 存储桶的异常访问对于检测泄露的 API 密钥至关重要。
需要注意什么:
- 与通常看不到此类活动的存储桶的“ListBuckets”、“GetObject”或“PutObject”相关的 API 调用。
- 在 S3 存储桶之间下载或上传大规模数据,尤其是在正常工作时间之外发生时。
- 尝试访问存储敏感数据(例如备份或机密文件)的存储桶。
B. 数据外泄尝试
攻击者可能会尝试将数据移出您的 AWS 环境。CloudTrail 日志可以帮助检测此类渗透尝试,尤其是在数据传输模式不寻常的情况下。
需要注意什么:
- 从 S3、RDS(关系数据库服务)或 DynamoDB 等服务传输大量数据,尤其是向外部或未知 IP 地址传输的数据。
- 与您的环境中通常不使用的 AWS DataSync 或 S3 Transfer Acceleration 等服务相关的 API 调用。
- 尝试创建或修改数据复制配置,例如涉及 S3 跨区域复制的配置。
4. 意外的安全组修改
安全组控制 AWS 资源的入站和出站流量。攻击者可能会修改这些设置以打开其他攻击媒介,例如启用来自外部 IP 地址的 SSH 访问。
需要注意什么:
- 更改了安全组规则,这些规则允许来自受信任网络外部的 IP 地址的入站流量。
- 与“AuthorizeSecurityGroupIngress”或“RevokeSecurityGroupEgress”相关的 API 调用与正常操作不一致。
- 创建具有过于宽松规则的新安全组,例如允许公共端口上的所有入站流量。
5. 降低 API 密钥被盗风险的步骤
A. 执行最小特权原则
为了最大程度地减少攻击者使用被盗的 API 密钥可能造成的损害,请在您的 AWS 账户中实施最小权限原则。确保 IAM 用户和角色仅具有执行其任务所需的权限。
B. 实施多重身份验证 (MFA)
要求对所有 IAM 用户(尤其是具有管理权限的用户)进行 MFA。这增加了一层额外的安全保护层,使攻击者更难获得访问权限,即使他们窃取了 API 密钥。
C. 定期轮换和审核访问密钥
定期轮换访问密钥,并确保它们与实际需要它们的 IAM 用户相关联。此外,审核访问密钥的使用情况,以确保它们不会被滥用或从意外位置使用。
D. 启用和监控 CloudTrail 和 GuardDuty
确保在所有区域都启用了 CloudTrail,并且日志已集中进行分析。此外,AWS GuardDuty 可以提供对恶意活动的实时监控,从而提供另一层保护,防止凭据泄露。考虑使用 AWS Detective,在调查结果的基础上构建一些智能。
E. 使用 AWS Config 进行合规性监控
AWS Config 可用于监控对安全最佳实践的遵守情况,包括 IAM 策略和安全组的正确使用。此工具可以帮助识别可能使您的帐户容易受到攻击的错误配置。
结论
AWS 环境的安全性取决于对 CloudTrail 日志中异常的警惕监控和快速检测。通过了解合法使用的典型模式并警惕与这些模式的偏差,安全专业人员可以在造成重大损害之前检测并响应潜在的入侵,例如涉及被盗 API 密钥的入侵。随着云环境的不断发展,在安全方面保持积极主动的态度对于保护敏感数据和确保 AWS 基础设施的完整性至关重要。
发表评论
您还未登录,请先登录。
登录