带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
无影云电脑企业版,4核8GB 120小时 1个月
简介: 带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)

引言:【弹性计算技术公开课——ECS安全季】第二节课程由阿里云弹性计算技术专家陈怀可带来,本文内容整理自他的课程,供各位阅览。

 

image.png

一、安全事件案例回顾与操作系统安全概念介绍

在介绍操作系统安全概念前,我们先来看一下国际上曾经发生过的几个真实的安全事件。

 

第一个安全事件:国外某政务官员,他是一非常喜欢发推特的人,可能不知道的是,他在就任期间,他的推特账号曾经被人盗用过。像这类知名的公众人物,他们的一言一行都会对社会产生重大的影响,可想而知,他们的账号被盗用的影响会有多大。整个安全事件的过程比较简单,简单梳理一下。

 

2012LinkedIn网站被攻击,2016年,相关的数据库被泄露出去,泄露的数据库中有包含这位官员的账号和密码,通过这个账号密码,攻击者攻击了他的推特账号。

 

 

image.png

 

这就是典型的撞库攻击,因为在大多数人的行为习惯中,习惯性的会在所有的产品中长期使用一个或几个固定的密码。而不会特意去修改。这位官员同大多数人一样,使用同一套密码,最终导致了他的推特账号被入侵。回过头看整个安全事件,导致这一起事件的根本原因在于长期使用一套固定的密码,而且没有进行修改。

 

image.png

 

再来看另外一个安全案例,去年九月,斯里兰卡国家政务云被黑,同时丢失了四个月的重要数据。

 

详细看一下这个事件的前后因果,斯里兰卡国家政务云中使用一款软件叫做Microsoft exchange 2013版本,这款软件其实已经过期不再被维护,并且软件中存在着致命的安全漏洞,因为财政方面的问题,没有得到及时升级维护,攻击者通过这软件漏洞发起了勒索软件攻击,最终导致近四个月数据的永久丢失。可以清晰的知道,导致这一起安全事件的根本原因在于使用了停服的软件,软件没有得到及时的升级更新安全补丁。

 

image.png

 

回顾刚刚的两个安全案例,在案例1中,用户用于登录系统的账密泄露了以后,攻击者利用泄露的账密攻击系统,导致系统被入侵,如果访问操作系统常用的账密泄露了,攻击者能够很轻易的登录到操作系统,部署勒索键,导起关键数据信息等等危害。

 

案例2中,系统未及时更新安全补丁,导致攻击者利用漏洞进行入侵并部署勒索软件,攻击者经常使用操作系统内未及时修复的安全漏洞实施入侵攻击。那么该如何保护我们的操作系统呢?

 

我们来将操作系统的安全分为三个部分,第一部分是访问操作系统的安全性,它定义了谁能够来访问操作系统,用怎样的方式来访问。第二部分操作系统内部的安全性,包括安全补丁以及技术的安全能力等等。第三部分是涉及到法律法规的一些要求,比如审计、合规要求等等,提升操作系统安全性的办法,我们根据上述的操作系统安全性的三个组成部分,分别是提升访问操作系统的安全性、安全加固操作系统以及操作系统安全进阶这个三部分。

二、快速提升访问操作系统安全性

接下来针对如何提升操作系统安全性,分三部分详细展开。

 

在提升访问操作系统安全性上,快速提升访问ECS实例操作系统的安全性。内容主要分三个部分,使用密钥对登录实例、使用会话管理免密登录实例以及避免端口0.0.0.0/0的授权。

 

image.png

 

如何使用密钥对登录实例,可能这里会有部分的同学存在疑问,什叫做密钥对?密钥对实现的原理是什么?使用密钥对登陆实力有什么样的优势?

 

阿里云的密钥对默认采用的是RSA 2048位的加密算法生成了包括公钥和私钥,使用公钥和私钥认证的方式进行登录,是一种安全便捷的登录方式。由用户生成一组密钥对将公钥推送到目标服务器中的公钥默认存储路径下,阿里云默认公钥存储路径是 ~/.ssh/authorized_keys文件。它的登录实现原理如右图所示,用户发起登录请求,服务器端生成一串随机数,使用公钥进行加密,返回用户端加密的信息,用户端使用私钥本地进行解密,并发送服务器端解密后的信息,服务器端对比解密后的信息,对比验证信息有效才允许用户登录。

 

这种方式相对于传统的账密的登录方式的优点,它的优点主要有两个,一是相对于常规的用户口令容易被爆破的风险,密钥对杜绝了暴力破解的危险,另外一个是密钥对登录方式更加简便,一次配置,后续再也不需要输入密码。但是也要求需要保护好私钥不被丢失泄露,因为拥有您的私钥的任何人可以解密的登录信息。需要注意的是,阿里云不会存储私钥文件,也就是在创建密钥对时仅有一次下载密钥对的机会。

 

image.png

 

常用密钥对登录ECS实例的方法,主要有四种,第一种是使用ECS提供的Workbench,在Workbench中导入私钥连接ECS实例,若您的私钥在本地是加密的,如图所示的Workbench还可以支持传入私钥口令的方式解密访问。

 

第二种是使用第三方的密钥对工具,使用第三方密钥对登录工具时,需要遵循该工具的使用规则,比如PuTTYgen需要转化私钥文件的格式。第三种是需要支持密钥对的控制台命令的环境,需要SSH命令的方式进行连接实例。第四种同样是需要支持密钥对控制台命令环境,如右图所示的需要配置config文件的ECS别名以及一些比如端口号,登录账号,以及私钥地址、还有公网信息等等这信息,这种方式适合多台实例登录的场景,这里需要注意的是以上四种常规的密钥对登录方法,后面三种都是需要用户开启公网的IP才能够进行访问的。

 

image.png

 

对需要使用密钥对的用户,如何更好更安全的使用密钥对,我们有两方面的建议,第一是保护好本地私钥,第二是可以优化密钥对的服务配置。如何保护好本地私钥?常规方案会推荐用户使用密码的方式进行保护私钥。需要保证持有正确的密码的人才能够访问到私钥。在使用私钥时,每次都是需要输入密码。

 

一是控制台Workbench也是支持输入口令密码的方式访问到您的私钥。另外,尽可能的不使用默认的密钥对的存储位置,将私钥保存在自定义的目录中。在保存私钥的目录中设置正确的访问权限,只允许特定的用户能够访问。在保存私钥的系统上,还需要及时的安装最新的补丁和安全更新,以保护系统不受知名漏洞的影响。同时,为了防止私钥的丢失和误操作删除,还可以定期备份私钥。

 

在使用密钥对服务配置时,我们建议可以修改连接端口为非标准端口,密钥对的默认连接端口为22端口,很多黑客工具会针对22端口进行扫描攻击,修改端口为非标端口可以提高安全攻击的门槛,非标端口一般为1024~65535。使用密钥对登录.建议使用非root的账号登录,根据权限最小原则,对登录ECS实例的用户应该做到权限控制,避免受益过大的权限。建议您在新购实例时选择使用ecs-user的普通账号,并且在密钥对服务中配置禁止root的账号身份的登录。

 

另外,在启用密钥对登录ECS实例的时候,建议及时关闭ECS是实例,通过密码方式的登录,以进一步提高安全性。

 

image.png

 

ECS生产密钥对默认采用的是RSA 2048的加密方式。如果需要修改加密算法,可以使用自定义的密钥对导入的方式,在您的本地环境使用密钥对生成器生成以再导入到ECS中。目前支持的加密算法涵盖了大部分主流的密钥对算法,如右图所示的,比如RSADSADSS等等。

 

 

需要注意的是,在您的本地环境密钥对生成之后,需要导入ECS是公对,请注意检查,避免导入私钥。要使用密钥对登录ECS实例目前也存在一些限制,比如当前仅支持Linux实例,不支持Windows实例,使用密钥对登录时,通常还需要开启操作系统的22端口,并允许指定端口在本地客户端公网IP进行访问连接。

 

除了使用密钥对登录ECS是实例外,还可以使用会话管理免密登录实例,使用会话管理登录时具有更高的安全性。接下来我将详细介绍会话管理。

 

image.png

 

会话管理是由云助手提供的功能,相比于密钥对、VNC等方式,可以更便捷的远程连接ECS实例,且兼具安全性。从一开始的安全升级案例中,使用常规账密的登录对密码的复杂度要求比较高,并且需要定期进行修改,防止密码泄露后的风险,很难进行管理。或许大家可能会想到使用密钥对登录一些实例不就解决问题了?

  

答案是肯定的。不过使用密钥对登录实例的时候也会存在一些因素限制,比如常用的密钥对登录实例,通常需要开放公网IP,并且开放22端口。一旦公网IP开放之后,允许更多的人访问的ECS也就增加了对应的攻击面。

 

另外,无论是使用密钥对还是使用账密登录,都不能做到记录和审计,很难发现攻击者的入侵行为。

 

相比于传统账密的登录方式,云助手登录它有几个优点,第一它是不需要分配公网IP的就可以直接访问,避免了ECS实例暴露到公网环境,第二也不需要设置管理密码,直接免密登录,避免了账密泄露的风险。它还可以通过管理授权,可以比较灵活的分配和回收权限。另外它可以记录、审计,通过订阅对应的审计日志进行定期的安全分析,能够及时发现一些非易侵内的访问行为。

 

会话管理登录实例是如何做到这些,会话管理建立链接的原理。

 

如图所示,首先,会话管理客户端发起会话,云助手服务端通过RAM访问控制权限进行健全,健全通过后会生成用于发起链接的Web Socket URL以及10分钟内有效的token,返回给会话管理客户端。会话管理客户端通过web socket URL以及token与云助手的服务端建立了web socket的链接,云助手的服务端控制ECS实例内部的云助手agent建立web socket连接。云助手的agent和云助手的服务端建立了Web Socket 的链接。

 

在建立Web Socket 链接后,可以在会话管理客户端输入命令,该命令以流式传输的方式输入到ECS并执行,最终在会话管理客户端显示执行的结果。

 

会话管理的安全性主要在于会话管理客户端与云助手服务端的agent间的通信是使用Web Socket协议建立的。

  

Web Socket的连接使用了SSO加密的方式保障数据的安全,使用会话管理能够远程连接指令,不需要密码,也没有泄露密码的风险,能够通过RAM权限安全策略进行管理,云助手与云助手服务器端通过Web Socket连接,不需要通过SSH VNC等方式登录实例,所以也就不需要打开入防线端口,进一步提高了ECS安全性。

 

image.png

 

常用的会话管理链接方式主要有四种,最常用的是直接使用会话管理连接实例,另外也支持了使用会话管理端口转发连接实例。例如ECS实例中部署了不对外开放的web服务,可以通过端口转发指的方式直接连接外部服务,还有一些客户希望在使用会话管理的基础上再次进行鉴权ECS也支持使用会话管理,以密钥对以及临时密钥对方式进行连接实例。

 

如表格所示的,各自都存在一些优势以及不足,优点是使用会话管理都不需要用户开启公网IP、会话管理、端口转发以及直连和临时密钥对都不需要再管理密钥以及密码。端口转发以及直连也不需要开放端口,不足的地方是其中使用会话管理密钥对以及临时密钥对连接实例的时候,都是需要开放22端口的,使用会话管理密钥对连接实例的场景,同时用户还需要自己保存对应的私钥。

 

image.png

 

使用会话管理还可以很灵活的管理权限,通过权限的RAM权限策略配置,可以允许子账号连接所有的实例,也可以允许子账号连接指定的一个或者多个实例,或者使用绑定的实例标签进行筛选,只允许子账号访问到指定标签的实例,也可以限制通过指定的IP进行连接实例。

 

如图所展示的RAM权限配置的案例,配置也比较方便简单,对于大规模的企业产品,强烈建议使用标签的方式进行批量管理权限,便于权限的回收以及收予。会话管理也存在一些权限的限制,比如需要一些授权StartTerminalSession的方式,以及DescribeUserBusinessBehavior等等权限。会话管理的使用还存在一些限制,必须要授予一些权限,比如StartTerminalSession以及DescribeUserBusinessBehavior等等权限。

 

除了使用密钥对登录实例以及使用会话管理免密登录实例外,还需要避免端口0.0.0授权对象的访问。

 

image.png

众所周知,Linux操作系统使用了SSH终端连接,默认使用22端口,Windows操作系统使用的是RPD远程桌面,默认使用的是3389端口。通常场景下,未限制端口访问允许任意来源的访问可能导致黑客或者攻击者在未经过您的授权的情况下,通过这些端口登录到操作系统中。

 

如何限制这些访问?阿里云免费为您提供了实例级别的虚拟化防火墙,也就是安全组,它可以设置单台或者多台ECS实例网络访问控制,它是重要的安全隔离手段,但是它也需要经过一些简单的配置。如右图所示的,在创建ECS实例时将使用默认的安全组,默认安全组将放行22 3389 80 443等端口,开放给0.0.0.0,默认允许所有IP都可以访问。默认安全组的配置并不安全,需要经过一些简单的配置。

 

image.png

安全组的配置应该遵循以下几个基本原则,安全组应该作为白名单使用,而不是黑名单。安全组出入规则时应该遵循最小权限原则,避免受予过大的权限。不需要公网访问的资源不应该提供公网IP,公网IP将暴露增加您的ECS实例的攻击面,先拒绝所有的端口对外开放。

 

若您需要开放端口,应尽量避免0.0.0.0的授权,并需要开放的端口授权指定的IP或者IP段访问。如右图所示的案例,安全组配置了仅允许来源IP192.168.1.100网段通过TCP协议访问到22端口,经过安全配置之后,192.168.1.100端口可以进行访问,但是192.168.0.100端口所有的请求将会被拒绝。

 

我们强烈建议您按照上述的原则,仅开放必要的端口提供给有限的IP进行访问,修改您的默认安全组规则配置。上面讲了快速提升访问ECS是操作系统安全的三方案,包括使用密钥对登录,使用会话管理登录实例,避免了端口所有IP的对象访问授权。作为操作系统的另外一重要的部分,操作系统内部安全也是至关重要的。


带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2):https://developer.aliyun.com/article/1441588

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
2
1
0
197
分享
相关文章
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云操作系统控制台提供了便捷的服务器监控与管理功能,简化了运维工作。通过将多台服务器纳入统一监控平台,用户可以快速查看CPU、内存、磁盘和网络等关键资源的使用情况,避免了逐一远程连接查询的繁琐操作。此外,该工具支持自动化数据汇总,极大地方便了日报、周报和月报的编写。测试过程中,系统展示了良好的稳定性和响应速度,尤其在网络抖动和大文件健康状态测试中表现出色。整体体验流畅,显著提升了运维效率。 操作系统控制台地址:[点击访问](https://alinux.console.aliyun.com/)
50 26
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
安全体检 | 服务器的终极卫士
阿里云的安全体检是为用户提供的一项免费安全检测工具,旨在通过调用云安全中心和配置审计中的安全检测能力,汇总检测结果,涵盖病毒攻击、风险配置和服务器漏洞三方面。该服务帮助用户及时发现并解决潜在的安全问题,提升云上安全水平。与云服务诊断不同,安全体检更侧重于深层次的安全检测,确保服务器的安全稳定运行。
安全体检 | 服务器的终极卫士
阿里云服务器安全攻略参考:基础防护与云安全产品简介
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题,阿里云服务器除了提供基础的防护之外,我们也可以选择其他的云安全类产品来确保我们云服务器的安全。本文为您介绍阿里云服务器的基础安全防护机制,以及阿里云提供的各类云安全产品,帮助用户全面了解并选择合适的防护手段,为云上业务保驾护航。
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
51 19
阿里云操作系统控制台——ECS操作与性能优化
本文详细介绍如何操作阿里云服务器ECS,从开通到组件安装及内存诊断。首先,通过选择操作系统(如Alibaba Cloud Linux 3)并开通服务,创建RAM用户并授予权限。接着,安装所需组件,支持节点或集群安装。最后,利用内存全景诊断功能,输入实例ID或Pod名称发起诊断并解析结果。这一流程帮助用户高效搭建计算环境,提升技术能力,确保业务稳定运行,并提出优化建议以改善用户体验。
76 8
深度学习在资源利用率优化中的应用:让服务器更聪明
深度学习在资源利用率优化中的应用:让服务器更聪明
109 6
阿里云服务器购买后设置密码、安全组、基础安全服务、挂载云盘等流程简介
对于初次选购阿里云服务器的用户来说,通过阿里云推出的各类活动买到心仪的云服务器仅仅是第一步。为了确保云服务器能够正常运行并承载您的应用,购买之后还需要给云服务器设置远程登录密码、设置安全组规则、设置基础安全、购买并挂载云盘等操作之后,我们才能使用并部署自己的应用到云服务器上。本文将详细介绍在阿里云的活动中购买云服务器后,您必须完成的几个关键步骤,助您快速上手并充分利用云服务器的强大功能。
服务器的使用安全如何保障
德迅卫士主机安全软件,采用自适应安全架构,有效解决传统专注防御手段的被动处境,精准捕捉每一个安全隐患,为您的主机筑起坚不可摧的安全防线
端到端的ECS可观测性方案,助力云上业务安全稳定
本文介绍了云原生时代保障业务系统可靠性的方法和挑战,重点探讨了阿里云ECS在提升业务稳定性、性能监控及自动化恢复方面的能力。文章分为以下几个部分:首先,阐述了业务可靠性的三个阶段(事前预防、事中处理、事后跟进);其次,分析了云上业务系统面临的困难与挑战,并提出了通过更实时的监测和自动化工具有效规避风险;接着,详细描述了ECS实例稳定性和性能问题的解决方案;然后,介绍了即将发布的ECS Lens产品,它将全面提升云上业务的洞察能力和异常感知能力;最后,通过具体案例展示了如何利用OS自动重启和公网带宽自适应调节等功能确保业务连续性。总结部分强调了ECS致力于增强性能和稳定性的目标。
阿里云国际站注册教程:阿里云服务器安全设置
阿里云国际站注册教程:阿里云服务器安全设置 在云计算领域,阿里云是一个备受推崇的品牌,因其强大的技术支持和优质的服务而受到众多用户的青睐。本文将为您介绍阿里云国际站的注册过程,并重点讲解如何进行阿里云服务器的安全设置。

相关产品

  • 云服务器 ECS
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等