阿里云配置之加固RAM账号
概述
RAM用户是RAM的一种实体身份类型,有确定的身份ID和身份凭证,它通常与某个确定的人或应用程序一一对应。RAM用户具备以下特点:
- RAM用户由阿里云账号(主账号)或具有管理员权限的其他RAM用户、RAM角色创建,创建成功后,归属于该阿里云账号,它不是独立的阿里云账号。
- RAM用户不拥有资源,不能独立计量计费,由所属的阿里云账号统一付费。
- RAM用户必须在获得授权后,才能登录控制台或使用API访问阿里云账号下的资源。
- RAM用户拥有独立的登录密码或访问密钥。
- 一个阿里云账号下可以创建多个RAM用户,对应企业内的员工、系统或应用程序。
可以创建RAM用户并为其授权,实现不同RAM用户拥有不同资源访问权限的目的。当企业存在多用户协同访问资源的场景时,使用RAM可以按需为用户分配最小权限,避免多用户共享阿里云账号密码或访问密钥,从而降低企业的安全风险。
通过如下操作可以针对RAM用户做安全加固:
- 加固密码强度设置;
- 加固登录安全设置;
- MFA多因素认证设置;
操作步骤
1. 加固密码强度设置;
RAM按需为用户分配最小权限,解决所有用户都使用主账号带来的风险。然而RAM用户的密码强度不够,仍然会给你的云上应用带来风险,造成业务中断等资产损失。设置一个高强度的密码规则,并限定密码使用期限,是保证账号安全的常用方法。
常见的加固方案:
- 密码中必须包含小写字母、大写字母、数字、符号 ,长度至少8位
- 密码有效期 90天
- 密码过期后不可登录
- 历史密码检查策略 禁止使用前4次密码
- 一小时内密码错误5次,禁止登录
aliyun ram SetPasswordPolicy --MinimumPasswordLength 8 --RequireLowercaseCharacters true --RequireUppercaseCharacters true --RequireNumbers true --RequireSymbols true --HardExpiry true --MaxPasswordAge 90 --PasswordReusePrevention 4 --MaxLoginAttemps 5
参数说明:
- MinimumPasswordLength为最小密码长度
RequireLowercaseCharacters指定必须包含小写字母
RequireUppercaseCharacters指定必须包含大写字母
RequireNumbers指定必须包含数字
RequireSymbols指定必须包含符合
HardExpiry指定密码过期后不可登录
MaxPasswordAge指定密码有效期,单位为天
PasswordReusePrevention指定新设密码不能和前4次密码重复
MaxLoginAttemps指定一小时内密码错误5次,禁止登录
2. 加固登录安全设置;
在密码强度的基础上,我们进一步的通过限制可以访问控制台的IP地址,提升安全性。一个企业的办公网络出口IP数量是有限的,这样通过设置登录掩码进一步减少风险。
aliyun ram SetSecurityPreference --EnableSaveMFATicket false --AllowUserToChangePassword true --AllowUserToManageAccessKeys false --AllowUserToManageMFADevices true --LoginSessionDuration 6 --LoginNetworkMasks 1.1.1.1
参数说明:
- EnableSaveMFATicket表示是否允许RAM用户登录时保存多因素认证设备登录状态,有效期为7天,默认为不允许。
- AllowUserToChangePassword表示是否允许RAM用户修改密码。
- AllowUserToManageAccessKeys表示是否允许RAM用户管理访问密钥。
- AllowUserToManageMFADevices表示是否允许RAM用户绑定或解绑多因素认证设备。
- LoginSessionDuration表示RAM用户登录有效期,单位为小时。
- LoginNetworkMasks:登录掩码决定哪些IP地址会受到登录控制台的影响。默认为空字符串,不限制登录IP。如果设置了登录掩码,使用密码登录或单点登录(SSO)时会受到影响,但使用访问密钥发起的API访问不受影响。
3. MFA多因素认证设置;
多因素认证MFA(Multi Factor Authentication)是一种简单有效的最佳安全实践,在用户名和密码之外再增加一层安全保护。这些多重要素结合起来将为您的账号提供更高的安全保护。
启用多因素认证后,再次登录阿里云时,系统将要求输入两层安全要素:
第一层安全要素:输入用户名和密码。
第二层安全要素:输入虚拟MFA设备生成的验证码