AccessKey泄露处理方案

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

访问密钥(AccessKey)是您调用阿里云API时用于完成身份验证的凭证,AccessKey泄露会对该账号下所有资源的安全带来威胁,产生非预期的费用以及恶意勒索等,严重情况下甚至可能给阿里云或其他用户带来危害。本文为您介绍疑似泄露的AccessKey的处理方案,避免AccessKey泄露造成更大范围的身份凭证冒用风险。

阿里云安全措施

阿里云一直致力于提升云服务的安全性,并尽最大努力支持您更好地保护您的账户及资产安全。当阿里云根据外部线索,掌握到您的AccessKey已经被公开,阿里云将通过您预留的联系方式及时通知您,同时为保障您的业务及数据安全,阿里云将禁止该AccessKey调用访问控制(RAM)产品API的部分功能,包括IMS服务RAM服务,不包括STS服务,限制通过该AccessKey查询、创建、修改用户和角色的身份、AccessKey以及权限等。

警告

请您务必及时关注短信、邮箱、站内消息等渠道的通知,并结合业务实际需求进行及时处置,同时关注您账号下的云资源异动,以免影响业务的正常运行。

说明

阿里云无法也不可能掌握您全部AccessKey的使用安全情况。根据安全责任共担模型,云上的安全由您和阿里云共同分担。其中AccessKey属于云客户的账号和身份访问凭证,相关安全责任仍需要由您负责承担,请您务必关注。

阿里云账号(主账号)AccessKey疑似泄露手动处理措施

  • 若确认AccessKey不在使用中,请访问AccessKey管理页面,直接禁用和删除AccessKey。

  • 若确认AccessKey在使用中,请访问AccessKey管理页面,轮转AccessKey。

    您可以先创建一个新的AccessKey,妥善保管AccessKey Secret。将原AccessKey替换为新的AccessKey,验证正常运行后,禁用和删除AccessKey。

RAM用户AccessKey疑似泄露手动处理措施

  • 若确认AccessKey不在使用中,访问RAM控制台,直接禁用和删除RAM用户的AccessKey。具体操作,请参见禁用RAM用户的AccessKey删除RAM用户的AccessKey

  • 若确认AccessKey在使用中且可以直接轮转,请尽快轮转。

    您可以创建新的AccessKey,妥善保管AccessKey Secret。将原AccessKey替换为新的AccessKey,验证正常运行后,禁用和删除旧的AccessKey。具体操作,请参见轮转RAM用户的AccessKey

  • 若确认AccessKey在使用中且短期内无法顺利轮转,为降低被盗用的影响,您可以按照下图所示步骤进行处置。完成后务必尽快轮转。

    image

    步骤一:缩小AccessKey权限

    请先明确业务场景,在不影响当前业务运行的前提下,尽快缩小疑似泄露的AccessKey权限,限制高风险权限,降低业务和资费受损的风险。在AccessKey禁用和删除之前请不要解除该策略(限制高风险权限)的授权。

    建议限制的高风险权限,例如:禁止该RAM用户在访问控制(RAM)中创建新的RAM用户及授权,禁止ECS、RDS、OSS、SLS资源的释放,禁止发送短信等。

    以下提供一个禁用高风险权限的自定义权限策略示例,请您充分评估影响,根据业务情况设置。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "ram:AddUserToGroup",
            "ram:AttachPolicyToGroup",
            "ram:AttachPolicyToRole",
            "ram:AttachPolicyToUser",
            "ram:ChangePassword",
            "ram:CreateAccessKey",
            "ram:CreateLoginProfile",
            "ram:CreatePolicyVersion",
            "ram:CreateRole",
            "ram:CreateUser",
            "ram:DetachPolicyFromUser",
            "ram:PassRole",
            "ram:SetDefaultPolicyVersion",
            "ram:UpdateAccessKey",
            "ram:SetPasswordPolicy",
            "ram:UpdateRole",
            "ram:UpdateLoginProfile",
            "ram:UpdateUser"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "ecs:DeleteInstance",
            "ecs:DeleteInstances",
            "ecs:DeregisterManagedInstance",
            "ecs:ReleaseDedicatedHost"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "rds:DeleteAccount",
            "rds:DeleteDatabase",
            "rds:DeleteDBInstance",
            "rds:DestroyDBInstance"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "oss:DeleteBucket",
            "oss:DeleteObject",
            "oss:PutBucketAcl",
            "oss:PutBucketPolicy"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "log:DeleteLogStore",
            "log:DeleteProject",
            "log:PutProjectPolicy",
            "log:DeleteProjectPolicy"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Deny",
          "Action": [
            "dysms:CreateProductNew",
            "dysms:CreateSmsTemplateNew",
            "dysms:AddSmsTemplate",
            "dysms:SendSms",
            "dysms:SendBatchSms"
          ],
          "Resource": "*"
        }
      ]
    }

    具体操作,请参见创建自定义权限策略为RAM用户授权

    建议您明确AccessKey所需要的业务权限,将不需要的权限全部移除。

    步骤二:开启RAM用户的MFA

    按照最佳实践,建议您阿里云账号(主账号)下所有用于控制台访问的RAM用户开启多因素认证(MFA)。

    1. 设置主账号下的RAM用户登录控制台必须开启MFA。

      具体操作,请参见管理RAM用户登录设置

    2. 为用户绑定MFA设备。

      具体操作,请参见为RAM用户绑定MFA设备

    步骤三:检查是否存在AccessKey异常操作

    检查AccessKey是否存在异常操作行为,以及排查是否有其他疑似泄露的身份。重点关注异常的访问IP、非业务需要的资源创建或删除操作等。

    检查方式:在RAM控制台查找RAM用户的AccessKey列表,在列表中查看操作记录,或在操作审计控制台AccessKey 审计页面直接输入AccessKey ID查询操作记录。

    说明

    未接入操作审计的数据类操作日志,如OSS、SLS等,需要使用各云产品的日志功能查询。

    进一步排查除了已知存在泄露风险的AccessKey之外,是否还有其他RAM用户和AccessKey存在异常操作行为。若发现存在异常行为,与相关人员确认操作是否由本人执行,若存在疑似泄露风险,建议按以下方式处理:

    • RAM用户如果需要继续使用,建议您立即修改RAM用户密码并开启多因素认证(MFA)。

    • RAM用户并非正常创建的,或确认为闲置用户不需要继续使用的,可进行删除。RAM用户删除后会进入回收站,观察业务是否受到影响,如有影响该RAM用户可快速恢复。

    • AccessKey异常操作,参照上文所述方法进行权限限制,然后进行轮转。

    步骤四:检查是否存在异常费用

    费用与成本费用与成本检查是否存在异常的费用产生,结合上一步结果,针对性采取产品的防护措施。

长期的AccessKey防泄露方案

请参见使用访问凭证访问阿里云OpenAPI最佳实践