禁止RAM用户创建初始用户为root的Linux实例

在创建Linux系统的ECS实例时,初始用户可以设置为rootecs-user。root拥有系统中最高的权限,凭据一旦泄露,攻击者可以完全控制整个系统,进行删除重要数据、安装恶意软件、窃取敏感信息等恶意行为,同时root用户的操作记录不够详细,难以追踪和审计。阿里云建议您在支持普通用户ecs-user的操作系统镜像中,使用ecs-user作为初始登录用户。本文将介绍如何使用RAM权限策略禁止RAM用户创建初始用户为rootLinux实例。

使用限制

  • Windows实例不支持在创建实例时创建非管理员的用户,如果您需要创建Windows实例,不建议使用本文的权限策略。

  • 部分Linux实例不支持在创建实例时创建ecs-user普通用户,不支持的Linux镜像版本,具体请参见公共镜像发布记录

操作步骤

以下提供了一个示例,禁止RAM用户(Alice)为ECS创建初始用户为rootLinux实例。

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

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

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

    说明

    以下策略表示:禁止在创建ECS实例时选择root作为登录名(初始用户);也不能通过更换系统盘的方式重新设置root用户登录凭证。

    {
        "Version": "1",
        "Statement": [
            {
                "Action": [
                    "ecs:RunInstances",
                    "ecs:CreateInstance",
                    "ecs:CreateOrder",
                    "ecs:ReplaceSystemDisk",
                    "ecs:AttachDisk",
                    "ecs:InvokeCommand"
                ],
                "Resource": "*",
                "Condition": {
                    "Bool": {
                        "ecs:LoginAsNonRoot": [
                            "false"
                        ]
                    }
                },
                "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-root-user-controlecs-admin)。具体操作,请参见RAM用户授权

    image

结果验证

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

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

验证项一:创建ECS实例时创建root用户

  1. 访问实例购买页

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

  3. 选择付费类型、地域、实例规格、镜像等配置。并且创建登录名为root的用户。具体操作,请参见自定义购买实例

    image

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

验证项二:为已创建的ECS实例更换系统盘重新设置root用户

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

    1. 访问ECS控制台-实例

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

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

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

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

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

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

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

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

  3. 更换操作系统对话框,配置新的操作系统信息。设置root用户凭证。 image

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