禁止RAM用户创建登录凭证为密码的Linux实例

为避免因密码泄露造成的安全风险,建议配置自定义权限策略,禁止RAM用户创建密码登录的Linux实例,仅可创建密钥对登录的实例。

背景信息

在创建ECS实例时,用户可能倾向于设置简单易记的密码,如“Test123456!”或“Password!”。这些密码容易被攻击者通过暴力破解或字典攻击手段猜出。即使使用了复杂的密码,用户也可能在多个系统中使用相同的密码,此时一个系统的密码被泄露,攻击者便可以利用这个密码尝试登录其他系统,增加安全风险。

阿里云推荐您在创建ECS实例时,选择SSH密钥对作为登录凭证,SSH密钥对安全强度远高于常规用户密码,且从公钥逆向推出私钥的难度极高,可以杜绝暴力破解威胁。同时,也推荐您在连接实例时通过会话管理连接实例,会话管理是云助手提供的功能,无需使用实例密码或密钥对,相比常规登录方式更加安全。

操作步骤

以下提供了一个示例,禁止RAM用户(Alice)创建密码登录的Linux实例。

  1. RAM控制台,创建RAM用户(Alice)。

    具体操作,请参见创建RAM用户

  2. RAM控制台,创建权限策略(ecs-password-control),选择脚本编辑,使用如下策略内容。

    说明

    以下策略表示:禁止在创建Linux实例时选择登录凭证为自定义密码,也不能通过重置实例密码或更换系统盘的方式重新设置登录凭证为密码。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "ecs:RunInstances",
            "ecs:CreateInstance",
            "ecs:ReplaceSystemDisk"
          ],
          "Resource": "*",
          "Condition": {
            "Bool": {
              "ecs:PasswordCustomized": [
                "true"
              ]
            },
            "StringEquals": {
              "ecs:ImagePlatform": "linux"
            }
          },
          "Effect": "Deny"
        },
        {
          "Action": [
            "ecs:CreateOrder",
            "ecs:ModifyInstanceAttribute",
            "ecs:InvokeCommand",
            "ecs:AttachDisk"
          ],
          "Resource": "*",
          "Condition": {
            "Bool": {
              "ecs:PasswordCustomized": [
                "true"
              ]
            }
          },
          "Effect": "Deny"
        }
      ]
    }
  3. 继续创建权限策略(ecs-admin),选择脚本编辑,使用如下策略内容。

    说明

    以下策略表示:拥有管理云服务器ECS相关的权限(包括购买,管理,查看ECS实例等),在此示例中用于模拟云服务器ECS的管理员,您可以按实际需求对策略进行调整。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ecs:*",
            "ecs-workbench:*",
            "vpc:CheckCanAllocateVpcPrivateIpAddress",
            "vpc:DescribeVpcs",
            "vpc:DescribeVSwitches",
            "bss:ModifyAgreementRecord",
            "bss:DescribeOrderList",
            "bss:DescribeOrderDetail",
            "bss:PayOrder",
            "bss:CancelOrder"
          ],
          "Resource": "*"
        }
      ]
    }
  4. RAM控制台,为RAM用户(Alice)授权。

    其中,授权范围选择账号级别,授权主体选择RAM用户(Alice),权限策略选择上一步创建的自定义策略(ecs-password-controlecs-admin)。具体操作,请参见RAM用户授权

    image

结果验证

使用RAM用户(Alice)登录阿里云控制台

具体操作,请参见RAM用户登录阿里云控制台

验证项一:创建ECS实例时设置登录凭证为自定义密码

  1. 访问实例购买页

  2. 选择自定义购买页签。

  3. 选择付费类型、地域、实例规格、镜像等配置。并且设置自定义密码。具体操作,请参见自定义购买实例

    image

  4. 确认下单后提示创建失败。

验证项二:为已创建的ECS实例重置自定义密码

  1. 访问ECS控制台-实例

  2. 在页面左侧顶部,选择目标资源所在的资源组和地域。地域

  3. 找到目标实例,在操作列中,选择image.png > 实例属性 > 重置实例密码

  4. 在弹出的重置实例密码对话框中,选择在线重置密码的方式,设置相应参数,然后单击确认修改

    image

  5. 单击确认修改后显示失败。

验证项三:为已创建的ECS实例更换系统盘重新设置自定义密码

  1. 访问更换操作系统页面。

    1. 访问ECS控制台-实例

    2. 在顶部菜单栏处,选择目标ECS实例所在地域。image.png

    3. 访问目标实例详情页,在全部操作中单击更换操作系统

  2. 更换操作系统前置检查。

    1. 更换操作系统对话框,选中更换系统盘

    2. 系统自动进行更换操作系统前置检查,大约需要10s,请您耐心等待。

      • 当前置检查列变为image,表示前置检查通过。

      • 当前置检查列变为image,表示前置检查不通过,您可以根据界面提示修复问题后再重新更换操作系统。

    3. 仔细阅读更换操作系统注意事项并选中我已知晓以上风险,并确认继续操作,然后单击继续更换操作系统

  3. 更换操作系统对话框,配置新的操作系统信息。设置自定义密码。 image

  4. 查看费用明细并单击立即更换提示无法操作。