AK和账密防泄漏最佳实践

API凭证(即阿里云AccessKey)是用户访问内部资源最重要的身份凭证。用户调用API时的通信加密和身份认证会使用API凭证。API凭证是云上用户调用云服务API、访问云上资源的唯一身份凭证。

API凭证相当于登录密码,只是使用场景不同。前者用于程序方式调用云服务API,而后者用于登录控制台。

在阿里云,用户可以使用AccessKey(简称AK)构造一个API请求(或者使用云服务SDK)来操作资源。AccessKey包括AccessKey IDAccessKey Secret。其中AccessKey ID用于标识用户,AccessKey Secret是用来验证用户身份合法性的密钥。AccessKey Secret必须保密。新建用户AccessKey

说明

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

云安全中心实现AK安全自动化检测闭环

云安全中心为了应对用户不慎泄漏AccessKey造成恶劣影响,设计了全方位检测理念,从泄漏前配置检查、泄漏行为检测、黑客异常调用三点完成检测闭环,为用户的云上业务安全保驾护航。

image

阿里云已率先和最大的开源代码托管服务商GitHub合作,引入Token scan机制。

image

云安全中心AK检测流程完全自动化,可以对在GitHub上泄露的AccessKey进行高效和精准的检测。在实际场景中,阿里云已实现在含有AccessKey的代码提交到GitHub后数秒之内,就可以通知用户并且做出响应,尽可能减少对用户产生的负面影响。

  • 泄露前配置检测-云安全态势管理

    在使用云产品的过程中为了防患于未然,您也可以在云安全中心控制台左侧导航栏,选择风险治理 > 云安全态势管理,进入云安全态势管理页面检查您当前云产品的配置项是否存在安全风险。

    • 确保云产品的操作审计日志处于开启状态,可以帮助您分析是否有异常的调用行为。

    • 确保使用的是RAM用户的AK,而不是主账号AK,并且遵守最小权限原则。这样AK发生泄露问题时,不至于失去整个云账号的控制权限。

    • 确保开启主账号多因素认证(MFA)。开启多因素认证可明显降低因为密码泄漏导致的未授权访问。

  • 用户泄露行为检测-AccessKey泄露检测

    您可在云安全中心控制台左侧导航栏,选择风险治理 > AK泄露检测,进入AK泄露检测页面查看AK泄漏的详情。

  • 黑客异常调用检测-安全告警处理 > 云产品威胁检测

    除了泄漏前的提前预防,在云安全中心控制台安全告警处理模块,您可以筛选并查看云产品威胁检测告警类型。云安全中心会在发现疑似黑客异常AK调用行为时进行告警,及时提醒用户做出响应,以便在泄漏后及时检测。

补充安全建议

除了上述云安全中心提供的AK泄露检测和响应措施外,建议您在使用阿里云产品过程中遵循以下几点安全规范,降低凭证泄漏造成的影响:

  • 不要将AccessKey嵌入代码中

    嵌入代码中的AK凭证容易被人忽视,经验丰富的开发者会将其写入数据库或者独立的文件中,使得其管理起来更方便。

  • 定期更新AccessKey

    定期更新代码中存在的AccessKey,可保证一些旧的代码泄漏后不会影响当前线上业务。

  • 定期吊销不需要的AccessKey

    在阿里云AccessKey控制台可查看最后一次AccessKey的访问时间,建议禁用所有不用的AccessKey

  • 遵循最小权限原则使用RAM账户

    根据不同业务需要授予不同子账户的读写权限,为不同业务分配不同子账户的AccessKey

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

    将操作日志存储至OSS,异常情况时可以起到固证的作用;操作日志投递至SLS,帮助您在日志数量大的时候也能实现高效检索。