带你读《从基础到应用云上安全航行指南》——干货长文快收藏!阿里云专家教你如何安全访问和管理ECS资源(1)

本文涉及的产品
资源编排,不限时长
无影云电脑个人版,1个月黄金款+200核时
无影云电脑企业版,4核8GB 120小时 1个月
简介: 带你读《从基础到应用云上安全航行指南》——干货长文快收藏!阿里云专家教你如何安全访问和管理ECS资源(1)

引言:本文整理自【弹性计算技术公开课——ECS安全季】系列课程中,阿里云弹性计算高级技术专家张振华带来的课程《如何安全访问和管理ECS资源》一节。

 

image.png

一、身份与访问控制的基本概念

首先给大家介绍一下关于身份与访问控制的一些基本概念。

 

身份与访问控制是为了实现集中管理阿里云上的用户身份,只有通过这个身份的认证,并且满足了特定权限授权条件下的用户才能够访问或者操作您所指定的阿里云资源,避免您的云资源被未经授权的用户恶意访问,所以这里会涉及到三个管理系统,分别是身份管理、权限管理以及资源管理。

  

image.png

 

所谓身份管理,就是您如何管理您的企业员工或者应用的身份。权限管理是您要怎样分配权限,比如管理员可以拥有全部的访问权限,而研发人员根据自己的职责范围,只能在特定的网络环境下操作有限的云资源,一般建议遵循最小够用的原则来给员工进行授权。

 

资源管理是您要怎样管理云上的资源,建立的管理方式是按照部门或者是业务线划分到不同的资源组,只有被授权可以访问资源组的用户身份,才可以操作对应的云资源。这里的云资源,不仅仅是ECS的资源,也包括网络资源,比如VPC,也包括存储资源,比如OSS、对象存储以及日志服务,同样也包括像数据库、云原生的容器等各种各样的云资源。

 

在阿里云上面,我们统一负责用户身份管理和访问控制的服务,称为RAM,它的全称是Resource Access Manager,即资源访问控制。


image.png

 

RAM有主账号和子用户RAM账号这两个概念,这两种账号,都可以通过用户名、密码登录到阿里云的控制台,并对其云上的资源进行操作。用户在访问阿里云账号时,使用的是主账号,主账号的密码规范、登录安全的风险控制策略是由阿里云统一管理的。在主账号下的子用户,即通常所说的RAM用户,它的密码策略则可以由客户自己设定,比如密码字符的组合规范、重试登录次数、密码轮转周期等策略。

管理员可以通过RAM控制台为RAM用户创建密码策略,来保证各个子用户都可以使用定期轮转的强密码,从而提高整体账户的安全性。RAM服务使得一个阿里云主账号可以拥有多个独立的RAM用户,从而避免与其他用户共享云账号的密钥,并可以根据最小权限的原则为不同用户分配最小的工作权限,从而降低用户的信息安全的管理风险。

RAM的策略可以细化到针对某一个APIAction或者Resource ID等最细粒度的授权,还可以支持多种的限制条件,比如像限制来源IP的访问范围,安全访问的通道,比如必须要通过SSL或者TLS,还有访问的时间段或者是MFA的多因素的认证等等。

RAM是阿里云账号安全管理和安全运维的基础,通过RAM可以为每个RAM用户分配不同的密码或API访问密钥(Access Key),消除云账号共享带来的安全风险;同时可为不同的RAM用户分配不同的工作权限,大大降低了因用户权限过大带来的风险。

一般来说,企业的管理者或者运维主管往往会成为阿里云上的主账号拥有者,也就是超级管理员。

∙        我们建议由超级管理员根据组织实体或业务场景,创建不同的RAM用户、RAM用户组,并为每个用户分配唯一的安全凭证AK

∙        控制授予每个用户、用户组对ECS资源授予不同的操作权限,根据最小权限原则,分权管理不同的资源,降低信息泄露风险。

∙        更进一步,可以将RAM角色关联到ECS实例上,不同的实例赋予不同授权策略,这样就无需在实例中保存Access Key,使它们对不同的云资源具有不同的访问权限,实现更精细粒度的权限控制。

 

接下来展开介绍一下ECS的身份管理、权限管理以及如何避免显示的AK配置的一个最佳实践。

二、身份管理的安全治理原则与验证手段

首先介绍一下身份管理中的安全治理原则和验证手段,以及基本概念,并且分别介绍RAM用户和RAM角色的相同点和不同点,接下来是关于身份管理安全的治理原则,还有安全的验证手段。

 

什么是身份认证?身份认证指的是通过凭证信息来认证用户的真实身份。

 

image.png

 

它通常是指通过登陆密码或访问密钥,也就是AccessKey机制来进行身份认证。请注意,用于身份认证的凭证信息对于用户来说是敏感的秘密信息,用户必须妥善保护好身份凭证信息的安全。

阿里云提供多种多样的身份认证能力,总体上可以分成是面向用户或企业员工的认证手段,还有面向应用程序的认证手段这两大类。

第一大类是面向用户的认证方式有,账号密码认证、SSH密码认证、基于MFA验证码的认证(比如人脸、短信、短时口令等)和SSO单点登录认证。

账号密码认证相信大家都不陌生:用户可以使用其云账号(即主账号)或其云账号下RAM用户的密码登录阿里云控制台并对其云上资源进行操作。阿里云的账号密码规范、登录安全风控策略由阿里云统一管理。云账号下子用户(RAM用户)的密码策略则可以由客户自己设定,如密码字符组合规范、重试登录次数、密码轮转周期等策略。例如,用户可以通过RAM控制台为RAM用户创建密码策略,以保证各个子用户都使用定期轮转的强密码从而提高整体账户的安全性。

SSH密码认证也是常用的非对称密钥认证机制。针对ECS Linux实例,如果用户已经将SSH公钥配置在Linux实例中,那么在本地或者另外一个实例中,用户可以使用SSH私钥通过SSH命令或相关工具登录之前有公钥配置的实例,而不需要输入密码。SSH密钥对默认采用RSA 2048位的加密方式,相较于传统的用户名和密码认证方式,SSH密钥对登录认证更为安全可靠,同时便于远程登录大量Linux实例。同时,阿里云容器服务也支持通过 SSH 密钥对的方式远程登录集群。

MFA是一种简单有效的最佳安全实践方法,它能够在用户名和密码之外再额外增加一层安全保护。启用MFA后,用户登录阿里云时,系统将要求输入用户名和密码(第一安全要素),然后要求输入来自其MFA设备的可变验证码(第二安全要素)。这些多重要素结合起来将为用户的账户提供更高的安全保护。阿里云可以支持基于软件的虚拟MFA设备。虚拟MFA设备是产生一个6位数字认证码的应用程序,它遵循基于时间的一次性密码(TOTP)标准(RFC6238)。

同时,阿里云也支持基于SAML 2.0的单点登录(Single Sign On,简称SSO),可以支持企业客户使用企业自有身份系统的登录服务登录访问阿里云。为了满足不同企业客户的登录场景需求,阿里云提供了以下两种基于SAML 2.0协议的SSO机制:

∙        用户SSO:阿里云通过身份提供商IdP颁发的SAML 断言(SAML Assertion)确定企业用户与阿里云RAM用户的对应关系。企业用户登录后,使用该RAM用户访问阿里云资源,对应的访问权限由RAM用户的授权策略所限制。

∙        角色SSO:阿里云通过身份提供商IdP颁发的SAML断言(SAML Assertion)确定企业用户在阿里云上可以使用的RAM角色。企业用户登录后,使用SAML断言中指定的RAM角色访问阿里云资源,对应的访问权限由RAM角色的授权策略所限制。


第二大类是面向应用程序的认证方式,主要有AccessKey认证和STS认证两种。其中AccessKey是用户调用云服务API的身份凭证,用于在用户通过API访问阿里云资源时对用户身份进行认证。API凭证相当于登录密码,只是使用场景不同。前者用于程序方式调用云服务API,而后者用于登录控制台。

Access Key包括访问密钥IDAK ID)和秘密访问密钥(AK Secret)。AK ID用于标识用户,而AK Secret用来验证用户身份的合法性。用户在调用资源时会传入AK ID,并使用AK Secret对请求进行签名(HMAC-SHA1算法)。用户可以登录阿里云用户中心或RAM控制台来管理Access Key,包括创建、冻结、激活和删除操作。Access Key是可以长期使用的API访问密钥,建议用户在使用时要考虑对Access Key的周期性轮转。

请注意,出于有效权限分割和降低风险的考虑,云上最佳安全实践中不建议用户为其云账号(即主账号)创建AK凭证,而建议为其下属的RAM用户各自创建AK凭证。建议RAM用户更多的使用STS临时token,而不是使用长期使用的永久AK

阿里云Security Token ServiceSTS)是为RAM用户、阿里云服务、身份提供商等受信实体提供短期访问资源的权限凭证的云服务。

有时存在一些用户(人或应用程序),他们并不经常访问客户云账号下的云资源,只是偶尔需要访问一次,这些用户可以被称为临时用户;还有些用户,例如运行在不可信移动设备上的App,由于自身安全性不可控,不适合颁发长期有效的访问密钥。这些情况下,可以通过STS来为这些用户颁发临时权限凭证。颁发令牌时,管理员可以根据需要来定义令牌的权限和自动过期时间(默认为1小时过期)。

STS访问令牌是一个三元组,它包括一个安全令牌(Security Token)、一个访问密钥 ID Access Key ID) 和一个秘密访问密钥 (Access Key Secret)。用户在调用资源API时传入安全令牌和访问密钥ID,并使用秘密访问密钥对请求进行签名(和上述AK签名机制相同)。

在通过身份认证后,RAM实际上会生成两类的身份,一类是实体身份,比如RAM用户、RAM用户组,另一类是虚拟身份,也就是RAM角色,那这两者有什么相同和不同点呢?

image.png


首先,RAM用户和RAM角色都是RAM中定义的身份,前者是实体身份,代表人或者程序,而后者是一种虚拟身份,往往需要被实体用户扮演才能生效。无论是RAM用户和RAM角色在被授予权限后都可以直接访问资源,也可以通过 SSO 和企业 IdP 互联。

不同点在于:

 

∙        RAM用户有确定的登录密码和访问密钥,可以支持控制台登录,享有登录凭证;

∙        RAM用户可以被加入RAM用户组,从而继承用户组的权限,RAM用户组就是用来划分一组职责相同的RAM用户,因此可以被赋予一组同样的权限策略;

∙        RAM用户可以对应企业内的人员、应用等,在需要协同使用资源的场景中,避免直接共享阿里云账号的密码等机密信息,缩小机密信息的可见范围,并为RAM用户和RAM用户组赋予最小权限,即使不慎泄露机密信息,也不会危及阿里云账号下的所有资源。

RAM角色虽然有确定的虚拟身份,也可以被赋予一组权限策略,但是没有确定的登录密码或访问密钥。RAM角色需要由一个受信的实体扮演,该实体在扮演RAM角色时即获得RAM角色的权限。在云产品通信的场景中,为受信的实体(例如ECS实例)绑定RAM角色后,该实体可以基于STSSecurity Token Service)临时凭证访问其他云产品的API,避免将AccessKey写在配置文件中等高危操作,保证AccessKey的安全。

image.png

企业在云上的身份和AK的管理中,常见的风险往往是因为账号或者是AK的管理或使用不善,会导致AK的安全的风险敞口会变大,甚至是AK的泄露,从而导致了一些安全的隐患,因为用户名的密码的泄露或者是AK泄露所造成的危害,也备受企业的关注,这里列举了一些常见的安全风险,这里可以分成两类。

第一类是人员管理上的风险,第二类是AK管理上的风险。

在人员的管理上常见的风险,第一是使用了主账号进行日常运维和管理的操作,第二是存在多人共享一个RAM用户,这样会影响审计信息,第三是控制台的用户,没有和企业的账号打通,由于员工的离职之后,一些数据没有和企业内部账号的信息进行同步,第四种是高权限的用户且没有配置好MFA,登录的IP的白名单等安全的设置,会有一些高危的用户登录的风险,最后一种,是存在长期不使用的僵尸用户,扩大了风险的敞口。

AK管理的风险主要有,一般是经常会使用主账号的AK,在主账号AK如果一旦泄露了,止血的成本就非常的高昂。第二类是在代码中的硬编码的AK,从而容易从ECS的镜像OSS文件或者是一些外部的公开的渠道上面把AK泄露出去,第三种是存在的人和程序混用RAM用户而造成了AK被误删的这种场景,第四种是存在AK长期不轮转,造成了风险的累积。还有一种是客户端的代码中包含了永久AK,这也是非常容易泄露的。

image.png

 

为此我们给出了五个身份安全治理的原则和建议:

∙        原则一是不推荐您使用主账号的AK。因为主账号AK拥有的是超级权限,一旦泄漏后的风险极高,而且主账号AK不支持精细化的授权,也不支持临时授权和白名单控制。我们推荐您开启主账号MFA的多因子认证来增强主账号的安全性,通过云安全中心提供的AK泄漏扫描能力来检查自身环境是否使用了主账号AK

∙        原则二是区分人员和程序的RAM身份。人员不应启用AK,控制台子用户不应该拿到AK,可以使用SSO实现统一认证登录。而程序应该与子AK一一对应,并且关闭程序子AK的控制台登录能力。

∙        原则三是合理的授权,比如客户端或测试开发环境使用临时Token,而不是永久AK,定期清理长期不使用RAM子用户。

∙        原则四是安全合理的使用永久AK,至少可以定期巡检&报警,开启AK白名单、限制白名单访问来源IP,避免明文编码AK,避免将AK暴露到外部公共平台上,以及实现AK加密和集中化管理。

∙        原则五是尽可能的实现无AK的使用,比如我们可以定义ECS实例的RAM角色,授权给某个ECS,实现权限精细化控制和管理,并且过程中无需明文的保存AK信息。

image.png

RAM访问控制服务允许企业对主账号内的身份安全做整体性的安全控制,比如密码强度的设置策略会对主账号下所有的RAM用户生效,用户的安全设置也允许设置MFA的多因素的认证与设置允许控制台登录的来源的IP的掩码,以及是否允许RAM用户自主管理密码和MFA的设备等等。


image.png


这里推荐您免费开通RAM访问控制服务提供的身份权限治理服务,当您开通了身份权限治理服务功能之后,RAM会持续的检测阿里云账号及其下的RAM用户是否存在身份权限的安全风险,帮助您及时发现治理上的缺失,并提供友好的治理引导,帮助您完善云上身份权限治理的配置,身份权限治理服务的检测项,包含了AccessKey管理检测,RAM用户管理检测,密码强度和MFA管理检测,安全使用的建议,以及高危权限的管理,还有细粒度的权限管理和授权效率的建议等等。

具体来说,您需要使用阿里云的账号或者是具有管理权限的RAM用户登录到RAM的控制台,在左侧的导航栏中点击概览,在概览页的标签页下面选择治理检测,可以查看身份权限的治理的检测数据。单击下载报告,可以下载检测的数据到本地进行查看,可以按照报告中介绍的治理方案,在控制台完成身份权限的治理。

image.png


小结:在身份管理这一部分,我们介绍了什么是身份认证,阿里云提供了多种多样的面向用户和应用程序的认证手段,在通过身份认证之后,RAM其实会生成两类的身份,一类是实体身份,我们称为RAM用户,另一类的是虚拟身份,也就是RAM角色。

我们对比了两者的相同点和不同点,介绍了在身份管理里面的一些安全的风险,安全治理的原则以及阿里云建议的一些最佳实践。

您通过RAM访问控制服务来设置企业用户整体的安全性是最常见的治理手段,另外也建议您开通免费的身份权限治理服务,阿里云可以帮助您及时发现治理缺失的漏洞,并提供友好的治理引导,帮助您完善云上的身份权限治理的配置。


带你读《从基础到应用云上安全航行指南》——干货长文快收藏!阿里云专家教你如何安全访问和管理ECS资源(2):https://developer.aliyun.com/article/1441585

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
弹性计算 数据挖掘 应用服务中间件
阿里云轻量应用服务器68元与云服务器99元和199元区别及选择参考
目前阿里云有三款特惠云服务器,第一款轻量云服务器2核2G68元一年,第二款经济型云服务器2核2G3M带宽99元1年,第三款通用算力型2核4G5M带宽199元一年。有的新手用户并不是很清楚他们之间的区别,因此不知道如何选择。本文来介绍一下它们之间的区别以及选择参考。
139 84
|
6天前
|
云安全 监控 安全
服务器的使用安全如何保障
德迅卫士主机安全软件,采用自适应安全架构,有效解决传统专注防御手段的被动处境,精准捕捉每一个安全隐患,为您的主机筑起坚不可摧的安全防线
|
4天前
|
存储 人工智能 网络协议
浅聊阿里云倚天云服务器:c8y、g8y、r8y实例性能详解与活动价格参考
选择一款高性能、高性价比的云服务器对于企业而言至关重要,阿里云推出的倚天云服务器——c8y、g8y、r8y三款实例,它们基于ARM架构,采用阿里自研的倚天710处理器,并基于新一代CIPU架构,通过芯片快速路径加速手段,实现了计算、存储、网络性能的大幅提升。2025年,计算型c8y云服务器活动价格860.65元一年起,通用型g8y云服务器活动价格1187.40元一年起,内存型r8y云服务器活动价格1454.32元一年起。本文将为大家详细解析这三款实例的性能特点、应用场景以及最新的活动价格情况,帮助大家更好地了解阿里云倚天云服务器。
|
7天前
|
机器学习/深度学习 弹性计算 缓存
简单聊聊,阿里云2核2G3M带宽云服务器与轻量应用服务器区别及选择参考
2核2G3M带宽云服务器与轻量应用服务器是目前阿里云的活动中,入门级走量型云服务器,轻量云服务器2核2G3M带宽68元一年,经济型e实例云服务器2核2G3M带宽99元1年。同样的配置,对于有的新手用户来说,有必要了解一下他们之间的区别,以及各自的购买和续费相关政策,从而选择更适合自己需求的云服务器。本文为大家简单分析一下我们应该选择哪一款。
|
7天前
|
监控 安全 数据库
阿里云国际站:如何使用阿里云国际站服务器
阿里云国际站服务器是一种强大的云计算服务,可以帮助用户轻松搭建和管理自己的网站、应用程序和数据库。本文将介绍如何使用阿里云国际站服务器,包括注册账户、选择服务器配置、安装操作系统、配置网络和安全设置等方面。
|
13天前
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
|
12天前
|
存储 运维 安全
阿里云弹性裸金属服务器是什么?产品规格及适用场景介绍
阿里云服务器ECS包括众多产品,其中弹性裸金属服务器(ECS Bare Metal Server)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。本文为大家详细介绍弹性裸金属服务器的特点、优势以及与云服务器的对比等内容。
|
19天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
9天前
|
弹性计算 安全 搜索推荐
阿里云国际站注册教程:阿里云服务器安全设置
阿里云国际站注册教程:阿里云服务器安全设置 在云计算领域,阿里云是一个备受推崇的品牌,因其强大的技术支持和优质的服务而受到众多用户的青睐。本文将为您介绍阿里云国际站的注册过程,并重点讲解如何进行阿里云服务器的安全设置。
|
10天前
|
人工智能 监控 测试技术
阿里云磐久服务器稳定性实践之路
阿里云服务器质量智能管理体系聚焦自研服务器硬件层面的极致优化,应对高并发交付、短稳定性周期、早问题发现和快修复四大挑战。通过“三个重构”(质量标准、开发流程、交付模式)、“六个归一”(架构、硬件、软件、测试、部件、制造)策略,实现芯片、整机和云同步发布,确保快速稳定上量。此外,全场景测试体系与智能预警、分析、修复系统协同工作,保障服务器在萌芽阶段发现问题并及时解决,提升整体质量水平。未来,阿里云将继续深化大数据驱动的质量管理,推动服务器行业硬件质量的持续进步。

热门文章

最新文章

相关产品

  • 云服务器 ECS