处理AK泄露和异常访问告警

数据检测响应服务提供AccessKey(以下简称:AK)处置和Bucket治理两种响应措施,帮助您限制Bucket的IP访问权限和文件的敏感等级访问权限,有效抵御数据泄露和恶意攻击,防护数据安全。例如禁用受影响的AK以防止未授权访问,或对相关文件设置更严格的访问控制策略。本文介绍疑似泄露和已泄露的AK的处理方案以及目标Bucket和文件的访问权限的控制。

前提条件

已查看泄露AK信息以及访问的Bucket文件,定位分析存在风险的AK及文件访问权限。具体操作,请参见查看异常泄露AK及其访问告警

背景信息

AK泄露检测和异常访问告警的工作原理和使用限制,请参见OSS泄露检测

处理方案说明

处理方案

处理方法

应用场景

操作说明

AK泄露处理

加白AK

  • 误报处理:如果评估是误报了一个合法使用的AK为泄露,且经过确认该AK的使用是安全的,可以将其加入白名单。

  • 已知风险:在某些情况下,可能为了某种特定的应用场景故意将AK公开,例如某些自动化脚本需要访问公共资源,此时可以把AK加白。

可以在数据安全中心 DSC(Data Security Center)控制台,直接设置AK加白。

如果设置了告警通知,对AK进行加白处理后,DSC不再发送告警通知。您可以自行前往DSC控制台的数据检测响应 > OSS泄露页面查看告警事件。具体操作,请参见查看异常泄露AK及其访问告警

禁用AK

  • 怀疑AK滥用:如果有证据表明AK已经被未授权的第三方获取,但您需要更多时间来评估风险和泄露范围,首先应禁用该AK。

  • 暂时限制访问:在处理安全事件时,可能需要临时限制某个账号的权限,以保护系统安全,此时可以禁用AK。

可以在RAM控制台对应用户的AccessKey管理页面执行禁用操作。

删除AK

  • 明确的安全泄露:如果存在明确证据表明AK已泄露并存在被滥用的风险,为彻底避免进一步的安全事件,应立即删除该AK。

  • AK不再使用:如果某个AK所关联的应用或服务已经下线,或者您正在进行密钥轮换的过程中,删除旧的AK可以避免潜在的安全隐患。

  • 合规性要求:基于合规性要求,可能需要定期更换或删除旧的凭证信息,以降低安全风险。

需要前往RAM控制台,或通知AK所属负责人,删除对应的AK信息。

RAM AK轮转

通过密钥管理服务KMS(Key Management Service)的凭据管家功能自动轮转RAM用户的AccessKey,降低AK泄露的风险。具体内容,请参见管理及使用RAM凭据

当您发现RAM用户AK泄露时,如果已开通KMS服务并配置AK轮转您可以在DSC控制台启用一键轮转通过立即轮转AK(轮转时长为10分钟)进行应急处理。

Bucket权限治理(拦截)

Bucket ACL

Bucket ACL可设置为公共读公共读写私有,用于规定用户或用户组是否可以访问该Bucket以及可以执行的操作(例如读取、写入等)。

您可以对Bucket进行粗粒度的权限控制,例如,限制只有特定的用户才能访问Bucket中的文件。

可以在DSC控制台,设置目标Bucket的ACL权限为私有,仅允许该Bucket所有者访问。

配置限制访问的IP

限制只有来自特定IP地址或IP地址范围的请求才能访问Bucket,增加额外一层访问限制。

例如:

  • 可以设置仅允许公司内网的IP地址访问某个存有敏感数据的Bucket。

  • 根据合规要求,只允许来自特定国家或地区的IP地址访问Bucket内容。

  • 防范未授权的公共网络访问,减少攻击面,提高数据的安全性。

DSC提供限制访问IP的权限策略模板,可用于限制已识别AK所在的访问次数最多的IP网段不能访问指定的Bucket。

配置限制访问的敏感文件

对于存储敏感文件的Bucket,可实施额外的权限控制,确保只有授权用户才能访问这些文件。

例如:

  • 合规性要求:严格限制特定类型文件(例如个人识别信息、财务报告等)的访问权限,以遵循数据保护法规。

  • 细粒度权限控制:在多用户环境中,提供不同层级的访问权限,让特定用户只能访问或修改他们被授权处理的文件。

  • 保护核心资产:对于特别敏感或价值高的文件资料,实施更为严格的访问控制策略,确保这些资料不被不当泄露。

DSC提供限制访问敏感文件的权限策略模板,可用于限制已识别AK所属账号不能访问目标Bucket中指定敏感等级的文件。

Bucket文件治理

删除文件

  • 直接删除存储了AK信息的文件。

  • 已确认某些包含敏感信息的文件关联的应用或业务已不存在,删除这些旧文件避免数据泄露。

可以在DSC控制台,直接删除文件。

处理人说明

  • 如果使用阿里云账号开通数据检测响应服务:

    • 针对该阿里云账号及其RAM用户下的AK处理和Bucket治理,该阿里云账号默认具备所有处理方法的操作权限。

    • 针对多账号统一管理功能的成员账号下的AK处理和Bucket治理,需要联系成员账号所属责任人进行沟通处理。

  • 如果使用具备AliyunYundunSDDPFullAccess权限的RAM用户开通数据检测响应服务:

    • 针对该RAM用户下的AK处理和Bucket治理,具备所有处理方法的操作权限。

    • 针对其他RAM用户的AK处理和Bucket治理,仅支持AK加白处理。对于其他处理方案:

      • 可以联系阿里云账号管理员进行账号处理。

      • 可以联系阿里云账号管理员授予该RAM用户对应的操作权限。

        例如,禁用AK需要具备ListAccessKeysUpdateAccessKey操作权限;AK一键轮转需要具备相应的AliyunKMSSecretAdminAccess权限;配置Bucket访问权限策略并授予指定RAM用户,需要具备CreatePolicyAttachPolicyToUser操作权限。

        有关RAM自定义权限策略的详细说明,请参见RAM授权信息

      • 可以联系对应的阿里云账号的负责人进行沟通处理。

处理泄露的AK

  1. 登录数据安全中心控制台

  2. 在左侧导航栏,选择数据检测响应 > OSS泄露

  3. OSS泄露页面,单击AK泄露情况区域的对应数字,可查看已发现的AK信息。

  4. 单击目标AK操作列的AK处置,选择处理方式。

    您也在OSS泄露页面下方的告警列表中,找到目标AK信息,单击操作列的详情。在告警详情页面,单击AK状态右侧的AK处置,进入AK处置面板。

AK加白

单击加白,然后单击确定

如果设置了告警通知,对AK进行加白处理后,DSC不再发送该AK访问告警通知。

AK禁用

单击禁用,跳转至RAM控制台对应用户的AccessKey管理页面执行禁用操作。具体操作,请参见禁用RAM用户的AccessKey

如果当前账号没有禁用该AK的权限,页面会提示您进行授权。您也可以与AK所属负责人沟通,以进行AK禁用。

AK轮转

单击一键轮转,DSC会检测您在KMS托管配置的RAM凭据轮转策略并进行立即轮转,轮转时长为10分钟。

如果当前账号未开通KMS服务,页面会提示您立即接入KMS服务并完成AK定期轮转配置。

具体内容,请参见管理及使用RAM凭据

如果当前账号没有轮转其他用户AK的权限,您可以与AK所属负责人沟通,以进行AK轮转管理。

标记AK处置状态

对于在RAM控制台的AK禁用和AK删除操作,不会自动同步到DSC控制台,需要您手动标记对应AK的处置状态。

重要

标记AK状态仅作为AK处置状态显示,不代表实际处理操作。标记状态前,请确保已完成相关AK处理操作。

  1. 登录数据安全中心控制台

  2. 在左侧导航栏,选择数据检测响应 > OSS泄露

  3. OSS泄露页面的告警列表中,找到目标AK信息,单击AK状态列的下拉框,选中对应状态,即可标记AK处理结果。

    image

限制Bucket访问权限

  1. 登录数据安全中心控制台

  2. 在左侧导航栏,选择数据检测响应 > OSS泄露

  3. OSS泄露页面下方的告警列表中,找到目标Bucket信息,单击操作列的详情

  4. 访问Bucket详情区域,单击Bucket治理进度右侧的前往处置

  5. Bucket处置面板,配置文件的限制访问。

Bucket ACL

单击Bucket ACL右侧配置,设置Bucket ACL私有

私有表示只有Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。此时Bucket ACL才显示为已处理

Bucket ACL公共读公共读写时,表示Bucket ACL为未处理状态。

限制访问IP

限制访问IP区域,配置自定义访问策略,并授权给当前AK所属账号。

  1. 单击复制,获取权限策略内容模板。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "oss:*"
          ],
          "Resource": [
            "acs:oss:*:*:sddp-acl-xxxx-read-1/*"
          ],
          "Condition": {
            "IpAddress": {
              "acs:SourceIp": [
                "2xx.xxx.xxx.xxx"
              ]
            }
          }
        }
      ]
    }
  2. 单击配置,跳转到RAM控制台的权限管理 > 权限策略 > 创建权限策略页面,单击脚本编辑

  3. 粘贴替换策略内容为已复制的模板,权限策略说明如下,您可以根据需要修改。具体说明,请参见RAM Policy

    参数

    说明

    Effect

    配置限制访问的IP,固定使用拒绝(Deny)。

    Action

    表示针对当前Bucket的所有操作。

    Resource

    默认填写当前访问的Bucket名称。

    Condition

    IpAddress表示设置IP地址类型的条件,acs:SourceIp表示指定的普通IP网段,自动填写为当前Bucket访问次数最高的一个IP。

    当前模板表示当前IP网段不能访问Bucket名称为sddp-acl-unittest-public-read-1下的所有文件。

  4. 然后单击继续编辑基本信息,输入权限策略名称备注,单击确定

  5. 将已创建的权限策略授权给该AK所属账号。具体操作,请参见为RAM用户授权

  6. 返回Bucket处置面板,在限制访问IP右侧,单击状态展开image图标,选择已处理

    RAM控制台的操作结果不会自动同步到DSC,完成授权后,需要手动更新处理状态。

限制访问敏感文件

限制访问敏感文件区域,参考限制访问IP的操作,复制权限策略模板,完成自定义权限策略授权,并返回Bucket处置面板,更新限制访问敏感文件处理状态。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "oss:*"
      ],
      "Resource": [
        "acs:oss:*:*:sddp-acl-xxxx-read-1/*"
      ],
      "Condition": {
        "StringEquals": {
          "oss:ExistingObjectTag/SensitiveLevelTagForSDDP": [
            "4"
          ]
        }
      }
    }
  ]
}

权限策略说明如下,您可以根据需要修改。具体说明,请参见RAM Policy

参数

说明

Effect

配置限制访问敏感文件,固定使用拒绝(Deny)。

Action

表示针对当前Bucket的所有操作。

Resource

默认填写当前Bucket名称。

Condition

IpAddress表示设置字符类型的条件,oss:ExistingObjectTag/SensitiveLevelTagForSDDP表示Bucket内Object已存在的标签SensitiveLevelTagForSDDP(敏感等级),自动填写为当前扫描结果敏感等级最高的值。

4代表敏感等级为S4,当前模板表示该AK所属账号不能访问Bucket名称为sddp-acl-unittest-public-read-1中敏感等级为S4的文件。

敏感等级对照关系:S1(1)、S2(2)、S3(3)、S4(4),以此类推。

重要
  • 如果已开通OSS同步配置,完成敏感识别任务后,Object会自动同步扫描结果的敏感等级标签SensitiveLevelTagForSDDP。具体操作,请参见同步敏感等级标签至OSS文件

  • 如果未开通OSS同步配置,需要手动为文件添加敏感等级标签SensitiveLevelTagForSDDP。具体操作,请参见对象标签

相关文档

  • AK也是调用阿里云API时用于完成身份验证的凭证,AK泄露会威胁该账号下所有资源的安全、产生非预期的费用以及恶意勒索等,严重情况下甚至可能给阿里云或其他用户带来危害。AK泄露的更多处理方案,请参见AccessKey泄露手动处理方案凭据的安全使用方案定期轮转RAM用户AccessKey

  • 默认情况下,为保证存储在OSS中数据的安全性,OSS资源(包括Bucket和Object)默认为私有权限,只有资源拥有者或者被授权的用户允许访问。如果需要精细化第三方用户的访问权限或使用自己的OSS资源,可以通过多种权限控制策略向他人授予资源的特定权限。

    针对存放在Bucket的Object的访问,OSS提供了4种权限控制策略,具体内容,请参见RAM PolicyBucket Policy设置Bucket ACL设置Object ACL