AccessKey(AK)和账号密码是访问阿里云资源的核心凭证。代码提交、配置文件误上传等场景可能导致凭证泄露,引发数据泄露和资源滥用。本文介绍云安全中心如何自动检测和响应AK泄露事件,并提供降低凭证泄露风险的安全最佳实践。
凭证类型与安全风险
阿里云提供两种API凭证,用于不同的使用场景:
-
AccessKey(简称AK):用于程序化调用云服务API,包括AccessKey ID(用于标识用户)和AccessKey Secret(用于验证身份,必须保密)。
-
账号密码:用于登录阿里云控制台管理资源。
AK相当于程序化的登录密码。AccessKey Secret是验证用户身份合法性的密钥,必须保密。一旦泄露,攻击者可以冒充身份操作云上资源,导致数据泄露、资源被恶意利用等严重后果。
API凭证泄露会导致数据泄露,从而给用户带来严重的损失。
云安全中心AK泄露检测机制
为应对AccessKey不慎泄露造成的安全风险,云安全中心提供从泄露前到泄露后的全方位检测能力,构建完整的AK安全自动化检测闭环:
-
泄露前:通过云安全态势管理,检查云产品配置是否存在安全风险。
-
泄露时:与GitHub等代码托管平台合作,引入Token scan机制,在代码提交后数秒内检测AK泄露。
-
泄露后:监控异常AK调用行为,发现疑似黑客利用泄露AK时立即告警。
阿里云已与全球最大的开源代码托管服务商GitHub合作,引入Token scan机制,实现对GitHub上泄露的AccessKey的快速检测和响应。当含有AccessKey的代码提交到GitHub后,云安全中心可在数秒内检测并通知用户。
泄露前:配置检测与风险排查
-
确保云产品的操作审计日志处于立即开通状态,以便分析是否存在异常的API调用行为。
-
使用RAM用户的AK而非主账号AK,并遵循最小权限原则。这样即使AK泄露,攻击者也无法获取整个云账号的控制权限。
-
开启主账号多因素认证(MFA),可显著降低因密码泄露导致的未授权访问风险。
泄露时:泄露来源与详情查看
泄露后:异常调用告警
在云安全中心控制台安全告警处理模块,筛选并查看云产品威胁检测告警类型。当云安全中心发现疑似黑客异常调用AK的行为时,会立即触发告警,便于及时响应。
导航路径:检测响应-
降低凭证泄露风险的最佳实践
除云安全中心提供的检测和响应能力外,日常使用中遵循以下安全最佳实践,可最大限度降低凭证泄露风险。
日常使用规范
-
不要将AccessKey嵌入代码中
将AK硬编码在代码中,在代码提交、分享或开源时可能导致AK泄露。建议使用环境变量、密钥管理服务或配置文件存储AK,并将其纳入版本控制的忽略列表中。
-
定期轮换AK
定期轮换AK可降低旧代码泄露对线上业务的影响。建议定期轮换代码中的AccessKey,生成新AK并替换旧AK。
-
禁用长期未使用的AK
在阿里云AccessKey控制台可查看每个AccessKey的最后访问时间。对于长期未使用的AccessKey,建议禁用,减少攻击面。
-
为不同业务分配独立的RAM用户AK
为不同业务场景创建独立的RAM用户,分别授予所需的最低权限,为不同业务分配不同RAM用户的AccessKey,避免使用单一高权限AK管理所有业务。
安全审计配置
-
开启操作日志审计,并将其投递至OSS和SLS保存和审计
将操作日志投递至OSS保存,可在安全事件发生时提供完整的取证材料;同时投递至SLS,便于在大规模日志中快速检索和分析异常行为。