AK和账密防泄漏最佳实践

更新时间:
复制 MD 格式

AccessKey(AK)和账号密码是访问阿里云资源的核心凭证。代码提交、配置文件误上传等场景可能导致凭证泄露,引发数据泄露和资源滥用。本文介绍云安全中心如何自动检测和响应AK泄露事件,并提供降低凭证泄露风险的安全最佳实践。

凭证类型与安全风险

阿里云提供两种API凭证,用于不同的使用场景:

  • AccessKey(简称AK):用于程序化调用云服务API,包括AccessKey ID(用于标识用户)和AccessKey Secret(用于验证身份,必须保密)。

  • 账号密码:用于登录阿里云控制台管理资源。

AK相当于程序化的登录密码。AccessKey Secret是验证用户身份合法性的密钥,必须保密。一旦泄露,攻击者可以冒充身份操作云上资源,导致数据泄露、资源被恶意利用等严重后果。

RAM用户AccessKey管理界面
说明

API凭证泄露会导致数据泄露,从而给用户带来严重的损失。

云安全中心AK泄露检测机制

为应对AccessKey不慎泄露造成的安全风险,云安全中心提供从泄露前到泄露后的全方位检测能力,构建完整的AK安全自动化检测闭环:

  • 泄露前:通过云安全态势管理,检查云产品配置是否存在安全风险。

  • 泄露时:与GitHub等代码托管平台合作,引入Token scan机制,在代码提交后数秒内检测AK泄露。

  • 泄露后:监控异常AK调用行为,发现疑似黑客利用泄露AK时立即告警。

image

阿里云已与全球最大的开源代码托管服务商GitHub合作,引入Token scan机制,实现对GitHub上泄露的AccessKey的快速检测和响应。当含有AccessKey的代码提交到GitHub后,云安全中心可在数秒内检测并通知用户。

image

泄露前:配置检测与风险排查

在云安全中心控制台左侧导航栏,选择风险治理 > 云安全态势管理,进入云安全态势管理页面,检查当前云产品的配置项是否存在安全风险。建议重点关注以下配置:

  • 确保云产品的操作审计日志处于立即开通状态,以便分析是否存在异常的API调用行为。

  • 使用RAM用户的AK而非主账号AK,并遵循最小权限原则。这样即使AK泄露,攻击者也无法获取整个云账号的控制权限。

  • 开启主账号多因素认证(MFA),可显著降低因密码泄露导致的未授权访问风险。

泄露时:泄露来源与详情查看

可在云安全中心控制台左侧导航栏,选择风险治理 > AK泄露检测,进入AK泄露检测页面查看AK泄露的详细信息,包括泄露来源、涉及账号和泄露时间等;或选择相同路径进入AK泄露检测页面查看详情。

泄露后:异常调用告警

在云安全中心控制台安全告警处理模块,筛选并查看云产品威胁检测告警类型。当云安全中心发现疑似黑客异常调用AK的行为时,会立即触发告警,便于及时响应。

导航路径:检测响应-安全告警处理 > 云产品威胁检测

降低凭证泄露风险的最佳实践

除云安全中心提供的检测和响应能力外,日常使用中遵循以下安全最佳实践,可最大限度降低凭证泄露风险。

日常使用规范

  • 不要将AccessKey嵌入代码中

    AK硬编码在代码中,在代码提交、分享或开源时可能导致AK泄露。建议使用环境变量、密钥管理服务或配置文件存储AK,并将其纳入版本控制的忽略列表中。

  • 定期轮换AK

    定期轮换AK可降低旧代码泄露对线上业务的影响。建议定期轮换代码中的AccessKey,生成新AK并替换旧AK。

  • 禁用长期未使用的AK

    在阿里云AccessKey控制台可查看每个AccessKey的最后访问时间。对于长期未使用的AccessKey,建议禁用,减少攻击面。

  • 为不同业务分配独立的RAM用户AK

    为不同业务场景创建独立的RAM用户,分别授予所需的最低权限,为不同业务分配不同RAM用户的AccessKey,避免使用单一高权限AK管理所有业务。

安全审计配置

  • 开启操作日志审计,并将其投递至OSSSLS保存和审计

    将操作日志投递至OSS保存,可在安全事件发生时提供完整的取证材料;同时投递至SLS,便于在大规模日志中快速检索和分析异常行为。