带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升ECS安全性(2)

简介: 带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升ECS安全性(2)

更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升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种的攻击手段防不胜防。

 

image.png

 

使用账密如此危险,因此,在云上ECS实例中,阿里云建议客户尽量避免密码的使用,以减低相关安全风险。关于非使用账号密码的登录方式,ECSGuestOS安全产品能力中为用户提供了一套详细的解决方案。

1)使用会话管理免密登录ECS实例

 

image.png

 

传统的登录方式常用的方法是 开放公网IP,然后使用账密登录。这个方法存在几个缺点:首先,公网IP开放,导致所有人都可以访问到该实例,增加了攻击面,容易被攻击;其次,简单的密码容易被破解,复杂的密码也有可能通过撞库等方式被攻破,需要定期修改密码,导致账密的管理较为困难;此外,由于无法记录和审计,不能及时发现非预期的访问。

 

而使用云助手会话管理登录能够极大的提高安全性,这种登录方法包括以下几个优点:第一,不需要分配公网IP就可以直接访问,避免ECS实例暴露到公网环境,降低被被攻击的风险;第二,不需要设置管理密码,可以直接免密登录,避免了账密泄露导致的风险;第三,还可以使用 RAM管理 灵活分配和收回登录权限;第四,可记录、可审计,能够及时发现非预期内的访问行为。

 

2)基础安全服务

除了具有访问用户的操作系统安全产品能力外,ECS还提供了很多操作系统本身的安全能力,包括安全加固镜像、自动化补丁基线、热补丁系统内核。

 

image.png

 

在购买实例时,ECS会默认为用户启用安全加固能力(云安全中心Agent),免费为客户提供了基础的安全服务,包括异常登录检查、漏洞扫描、基线配置核查、AK泄露检查等。

 

另外在自动化补丁基线中,用户还可以使用OOS运维编排服务中的补丁基线,只要经过简单的配置即可实现自动扫描与修复操作系统的高危安全漏洞。

 

最后,在热补丁系统内核,当用户的操作系统内核出现高危漏洞或者一些重要的错误需要修复时,也无需重启操作系统,而不会影响部署的业务,ECSAlibaba Cloud Linux 2提供了系统内核的热补丁能力。

 

∙        等保合规镜像服务

∙        对于有更高安全要求的客户,阿里云还提供了符合国家等保2.0三级版本的镜像。

 

image.png

 

该镜像天然符合三级等保合规要求,包括身份鉴权、访问控制、入侵防御和恶意代码防范能力等。

 

上面在GuestOS安全中介绍了ECS的几个产品安全能力,包括使用会话管理免密登陆;提供了基础安全服务的安全加固镜像;通过OOS补丁基线自动升级高危安全漏洞;同时若系统内核发现高危安全漏洞时,支持热补丁技术修复;对安全有更高要求的用户,可使用满足三级等保合规的镜像。

 

image.png

但是即使客户使用这些产品安全能力后,也仍旧无法高枕无忧。接下来,了解一起安全事件案例——美国国家安全委员会数据泄露事件。

image.png

 

202337日,有攻击者发现美国国家安全委员会网站的一个子域名,该子域名可能是用于内部开发测试目的,网站中包含了2000多家公司,将近1万份账号及密码,但其却意外地允许公众直接访问这些机密数据,最终导致2000多家公司的账密泄漏,这可能会导致有关公司被部署勒索软件、窃取或者破坏内部文件。导致该安全事件的根本原因在于:内网数据非预期暴露到公网环境,以及未对敏感信息做身份认证与访问控制。对于避免此类的问题发生,ECS在网络安全产品能力与身份与访问控制能力中为此提供了解决方案。

2) 网络安全

1)实例级虚拟化防火墙

 image.png

安全组是ECS免费为用户提供的实例级别虚拟化防火墙,使用安全组可控制用户的ECS实例数据的流入和流出,它具备状态检测和数据包过滤功能。使用安全组可设置单台或多台云服务器的网络访问控制,它是重要的网络安全隔离手段,用于在云端划分网络安全域。ECS提供安全组作为一项重要的安全工具用于保护用户的实例,用户需要对其进行配置以满足自身的安全需求。

 

安全组分为普通安全组与企业安全组,如上图所示,它们主要的区别在于:普通安全组默认实例间可以通信,并允许访问公网;而企业安全组禁止实例间通信,默认禁止访问公网。一般情况下,除非必要,建议使用企业安全组,并合理地使用安全组规则用于控制ECS实例的出入流量。

2VPC专有网络隔离

除安全组外,ECS还为用户提供VPC专有网络,帮助用户基于隧道技术实现数据链路层的隔离,为每个用户提供独立隔离的虚拟安全网络环境。

 

image.png 

VPC 内部,用户可以自定义子网、网段、路由表、网关等对应信息,阿里云建议客户使用单独的VPC按照组织实体或者业务隔离实例,如可以使用子网隔离单个VPC中的应用程序,例如数据库和Web

 

VPC中,还提供网络ACL访问控制功能:

 

image.png

 

用户可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,用户控制交换机中数据的流入和流出,实现对交换机中云服务器ECS实例出入流量的访问控制。阿里云建议用户根据业务场景的实际需求,使用网络ACL访问控制能力,用户可以自定义设置网络ACL规则,并将网络ACL与交换机绑定,用户控制交换机数据的流入和流出,实现对交换机中云服务器ECS实例出入流量的访问控制。

 

阿里云建议用户根据业务场景的实际需求,使用网络ACL访问控制能力,通过白名单限制指定预期访问对象流量访问到用户实例中。

 

刚刚在网络安全中介绍了ECS的几个产品安全能力,包括以下几个方面:

 

image.png

 

有实例级别虚拟化防火墙安全组,可以帮助用户控制实例的数据流量,也有可以帮助用户按照组织实体或者业务隔离实例的VPC专用网络,还有通过交换机实例流量进行访问控制的网络ACL。使用些产品安全能力能够帮助用户更便捷地进行网络安全防护。

 

 

3) 身份与访问控制

美国国家安全委员会信息泄露事件,除了内网数据暴露之外,导致该事件发生还存在第二个根本原因,即未对敏感信息作身份认证与访问控制。

 image.png


image.png

由此可以得出,除了进行网络安全防御外,还应做好身份与访问控制。

1)基于身份授予资源访问权限

很多人使用云账号的时候,会直接使用主账号,而这种使用方式并不十分安全,因为主账号具备所有资源操作的超级权限,如云服务器、负载均衡、对象存储、VPCNAT网关、云数据库等。阿里云建议用户限制自身的ECS资源只被特定的对象访问,可以根据组织实体或业务场景,创建不同的RAM账号、用户组,并为每个用户分配唯一的安全凭证,根据最小权限原则,控制每个用户、用户组对ECS资源授予不同的操作权限,分权管理不同的资源,以降低信息泄露风险。

 

image.png

如上图所示,用户可以为实例的运维团队、业务团队、网络管理人员、数据库管理人员授予不同资源的访问权限。阿里云建议用户根据实际业务场景,基于身份授予最小级的资源防控权限,合理地分配、使用权限,尽量避免用户授予角色权限过大的问题。

2)使用资源组进行批量授权

对有更细粒度的ECS资源访问控制需求的用户,我们推荐使用资源组进行批量授权。当前资源标签支持实例、存储、快照、镜像、安全组、弹性网卡、专有宿主机、SSH密钥对等ECS资源创建指定的标签来设计资源或者角色访问控制。下图是一个批量授权案例:

 

image.png

 

该案例展示了三个游戏项目,每个项目涉及多种云资源,每个项目都需要独立管理,并且只能看到自己负责的项目内容,此时就可以使用资源组,分别把三个项目涉及的资源,放入各自对应的资源组中,三个项目的成员分别赋予各自项目资源组的权限,这样项目之间的用户就无法访问到其他项目中的资源了。


更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——最佳实践分享:如何体系化提升ECS安全性(3):https://developer.aliyun.com/article/1405317

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
13天前
|
运维 应用服务中间件 网络安全
自动化运维的新篇章:使用Ansible进行服务器配置管理
【10月更文挑战第34天】在现代IT基础设施的快速迭代中,自动化运维成为提升效率、确保一致性的关键手段。本文将通过介绍Ansible工具的使用,展示如何实现高效的服务器配置管理。从基础安装到高级应用,我们将一步步揭开自动化运维的神秘面纱,让你轻松掌握这一技术,为你的运维工作带来革命性的变化。
|
8天前
|
设计模式 前端开发 JavaScript
自动化测试框架设计原则与最佳实践####
本文深入探讨了构建高效、可维护的自动化测试框架的核心原则与策略,旨在为软件测试工程师提供一套系统性的方法指南。通过分析常见误区,结合行业案例,阐述了如何根据项目特性定制自动化策略,优化测试流程,提升测试覆盖率与执行效率。 ####
32 6
|
30天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
59 2
|
19天前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
34 2
|
21天前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
38 2
|
22天前
|
运维 应用服务中间件 调度
自动化运维:使用Ansible实现服务器批量管理
【10月更文挑战第26天】在当今快速发展的IT领域,自动化运维已成为提升效率、降低人为错误的关键技术手段。本文通过介绍如何使用Ansible这一强大的自动化工具,来简化和加速服务器的批量管理工作,旨在帮助读者理解自动化运维的核心概念和实践方法。文章将围绕Ansible的基础使用、配置管理、任务调度等方面展开,通过实际案例引导读者深入理解自动化运维的实现过程,最终达到提高运维效率和质量的目的。
|
22天前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
31 2
|
1月前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
15天前
|
测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
【10月更文挑战第31天】 在当今快速迭代的软件开发环境中,自动化测试成为确保软件质量和加速产品上市的关键。本文探讨了自动化测试的重要性、实施策略以及一些最佳实践。通过分析不同类型的自动化测试工具和框架,本文旨在为软件开发团队提供一套实用的指导方案,以提高测试效率和质量。
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
40 1

相关产品

  • 云服务器 ECS