更多精彩内容,欢迎观看:
带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升ECS安全性(1):https://developer.aliyun.com/article/1405319
3. 如何体系化提升ECS安全性
前面已经学习了“云上ECS面临的安全威胁”以及”ECS安全能力图谱”,接下来继续学习“如何体系化提升ECS安全性”。
按照“ECS安全能力图谱”,这部分内容将围绕以下五个维度详细展开,分别是GuestOS安全、网络安全、身份与访问控制、数据安全和应用安全。
1) GuestOS安全
在具体讨论“如何体系化提升ECS安全性”之前,先了解一个真实的安全事件案例——特朗普推特账号被盗事件。
前美国总统特朗普酷爱推特分享,但在特朗普时任总统期间,他的推特账号曾经被盗用过。而其作为公众人物,一言一行都具有较大的影响力,因此安全事件造成了极大的影响。整个安全事件的起因是:2012年,LinkedIn网站被黑客攻击"脱库",并于2016年,LinkedIn泄露的数据库被公开,公开的数据库包含了特朗普的账号和密码,通过该账号、密码,攻击者又攻击了他的Twitter账号密码。
这是一个典型的撞库攻击案例。在大多数人的行为习惯中,会在所有场景中长期使用一个或几个密码最为固定的密码,不会特意去修改。而LinkedIn泄露的数据库包含了川普总统常用的账密,导致攻击者可以使用该账密在其他任意主流平台上尝试登录。不幸的是,特朗普总统也和大多数人一样,习惯性使用同一套密码而且并不会定期修改密码,最终导致了他的推特被入侵。
回首整个安全事件,事件的根本原因在于长期使用一套固定的密码,而不作定期修改。
除了刚刚安全事件案例中使用的撞库攻击手段外,业界还存在其他的常规密码破解方案。下图右侧表格中展示了一些常用的密码,如“123456”“123456789”“abc123”“admin”“password”“iloveyou”“welcome”等等,可能很多人都曾经使用过或正在使用这些密码。攻击者会使用大多数人常用的密码进行字典攻击。使用这些简单的密码,攻击者攻击的成本是非常低廉的。在这个角度,使用复杂的密码可以在一定程度上提高被攻击的难度,但仍旧无法保证账号百分之百的安全,毕竟类似暴破、钓鱼、社工等多达8种的攻击手段防不胜防。
使用账密如此危险,因此,在云上ECS实例中,阿里云建议客户尽量避免密码的使用,以减低相关安全风险。关于非使用账号密码的登录方式,ECS在GuestOS安全产品能力中为用户提供了一套详细的解决方案。
(1)使用会话管理免密登录ECS实例
传统的登录方式常用的方法是 开放公网IP,然后使用账密登录。这个方法存在几个缺点:首先,公网IP开放,导致所有人都可以访问到该实例,增加了攻击面,容易被攻击;其次,简单的密码容易被破解,复杂的密码也有可能通过撞库等方式被攻破,需要定期修改密码,导致账密的管理较为困难;此外,由于无法记录和审计,不能及时发现非预期的访问。
而使用云助手会话管理登录能够极大的提高安全性,这种登录方法包括以下几个优点:第一,不需要分配公网IP就可以直接访问,避免ECS实例暴露到公网环境,降低被被攻击的风险;第二,不需要设置管理密码,可以直接免密登录,避免了账密泄露导致的风险;第三,还可以使用 RAM管理 灵活分配和收回登录权限;第四,可记录、可审计,能够及时发现非预期内的访问行为。
(2)基础安全服务
除了具有访问用户的操作系统安全产品能力外,ECS还提供了很多操作系统本身的安全能力,包括安全加固镜像、自动化补丁基线、热补丁系统内核。
在购买实例时,ECS会默认为用户启用安全加固能力(云安全中心Agent),免费为客户提供了基础的安全服务,包括异常登录检查、漏洞扫描、基线配置核查、AK泄露检查等。
另外在自动化补丁基线中,用户还可以使用OOS运维编排服务中的补丁基线,只要经过简单的配置即可实现自动扫描与修复操作系统的高危安全漏洞。
最后,在热补丁系统内核,当用户的操作系统内核出现高危漏洞或者一些重要的错误需要修复时,也无需重启操作系统,而不会影响部署的业务,ECS的Alibaba Cloud Linux 2提供了系统内核的热补丁能力。
∙ 等保合规镜像服务
∙ 对于有更高安全要求的客户,阿里云还提供了符合国家等保2.0三级版本的镜像。
该镜像天然符合三级等保合规要求,包括身份鉴权、访问控制、入侵防御和恶意代码防范能力等。
上面在GuestOS安全中介绍了ECS的几个产品安全能力,包括使用会话管理免密登陆;提供了基础安全服务的安全加固镜像;通过OOS补丁基线自动升级高危安全漏洞;同时若系统内核发现高危安全漏洞时,支持热补丁技术修复;对安全有更高要求的用户,可使用满足三级等保合规的镜像。
但是即使客户使用这些产品安全能力后,也仍旧无法高枕无忧。接下来,了解一起安全事件案例——美国国家安全委员会数据泄露事件。
2023年3月7日,有攻击者发现美国国家安全委员会网站的一个子域名,该子域名可能是用于内部开发测试目的,网站中包含了2000多家公司,将近1万份账号及密码,但其却意外地允许公众直接访问这些机密数据,最终导致2000多家公司的账密泄漏,这可能会导致有关公司被部署勒索软件、窃取或者破坏内部文件。导致该安全事件的根本原因在于:内网数据非预期暴露到公网环境,以及未对敏感信息做身份认证与访问控制。对于避免此类的问题发生,ECS在网络安全产品能力与身份与访问控制能力中为此提供了解决方案。
2) 网络安全
(1)实例级虚拟化防火墙
安全组是ECS免费为用户提供的实例级别虚拟化防火墙,使用安全组可控制用户的ECS实例数据的流入和流出,它具备状态检测和数据包过滤功能。使用安全组可设置单台或多台云服务器的网络访问控制,它是重要的网络安全隔离手段,用于在云端划分网络安全域。ECS提供安全组作为一项重要的安全工具用于保护用户的实例,用户需要对其进行配置以满足自身的安全需求。
安全组分为普通安全组与企业安全组,如上图所示,它们主要的区别在于:普通安全组默认实例间可以通信,并允许访问公网;而企业安全组禁止实例间通信,默认禁止访问公网。一般情况下,除非必要,建议使用企业安全组,并合理地使用安全组规则用于控制ECS实例的出入流量。
(2)VPC专有网络隔离
除安全组外,ECS还为用户提供VPC专有网络,帮助用户基于隧道技术实现数据链路层的隔离,为每个用户提供独立隔离的虚拟安全网络环境。
在 VPC 内部,用户可以自定义子网、网段、路由表、网关等对应信息,阿里云建议客户使用单独的VPC按照组织实体或者业务隔离实例,如可以使用子网隔离单个VPC中的应用程序,例如数据库和Web。
在VPC中,还提供网络ACL访问控制功能:
用户可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,用户控制交换机中数据的流入和流出,实现对交换机中云服务器ECS实例出入流量的访问控制。阿里云建议用户根据业务场景的实际需求,使用网络ACL访问控制能力,用户可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,用户控制交换机数据的流入和流出,实现对交换机中云服务器ECS实例出入流量的访问控制。
阿里云建议用户根据业务场景的实际需求,使用网络ACL访问控制能力,通过白名单限制指定预期访问对象流量访问到用户实例中。
刚刚在网络安全中介绍了ECS的几个产品安全能力,包括以下几个方面:
有实例级别虚拟化防火墙安全组,可以帮助用户控制实例的数据流量,也有可以帮助用户按照组织实体或者业务隔离实例的VPC专用网络,还有通过交换机实例流量进行访问控制的网络ACL。使用些产品安全能力能够帮助用户更便捷地进行网络安全防护。
3) 身份与访问控制
美国国家安全委员会信息泄露事件,除了内网数据暴露之外,导致该事件发生还存在第二个根本原因,即未对敏感信息作身份认证与访问控制。
由此可以得出,除了进行网络安全防御外,还应做好身份与访问控制。
(1)基于身份授予资源访问权限
很多人使用云账号的时候,会直接使用主账号,而这种使用方式并不十分安全,因为主账号具备所有资源操作的超级权限,如云服务器、负载均衡、对象存储、VPC、NAT网关、云数据库等。阿里云建议用户限制自身的ECS资源只被特定的对象访问,可以根据组织实体或业务场景,创建不同的RAM账号、用户组,并为每个用户分配唯一的安全凭证,根据最小权限原则,控制每个用户、用户组对ECS资源授予不同的操作权限,分权管理不同的资源,以降低信息泄露风险。
如上图所示,用户可以为实例的运维团队、业务团队、网络管理人员、数据库管理人员授予不同资源的访问权限。阿里云建议用户根据实际业务场景,基于身份授予最小级的资源防控权限,合理地分配、使用权限,尽量避免用户授予角色权限过大的问题。
(2)使用资源组进行批量授权
对有更细粒度的ECS资源访问控制需求的用户,我们推荐使用资源组进行批量授权。当前资源标签支持实例、存储、快照、镜像、安全组、弹性网卡、专有宿主机、SSH密钥对等ECS资源创建指定的标签来设计资源或者角色访问控制。下图是一个批量授权案例:
该案例展示了三个游戏项目,每个项目涉及多种云资源,每个项目都需要独立管理,并且只能看到自己负责的项目内容,此时就可以使用资源组,分别把三个项目涉及的资源,放入各自对应的资源组中,三个项目的成员分别赋予各自项目资源组的权限,这样项目之间的用户就无法访问到其他项目中的资源了。
更多精彩内容,欢迎观看:
带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升ECS安全性(3):https://developer.aliyun.com/article/1405317