随着云基础设施成为现代企业的支柱,确保这些环境的安全至关重要。由于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 基础设施的完整性至关重要。
文章原文链接:https://www.anquanke.com/post/id/299333