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

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 4vCPU 16GiB,适用于搭建游戏自建服
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
简介: 带你读《从基础到应用云上安全航行指南》——九大提升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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 弹性计算 缓存
阿里云服务器ECS实例选型与性能监控指南:从场景匹配到优化参考
随着云服务器的普及应用,越来越多的企业和个人用户选择将业务迁移到云端,以享受其带来的灵活性、可扩展性和成本效益。阿里云服务器(Elastic Compute Service,简称ECS)以其丰富的实例规格、卓越的性能和稳定的运行环境,赢得了广大用户的信赖。然而,对于很多初次接触云服务器产品的新手用户来说,面对阿里云多达几十种的云服务器实例规格,往往感到无从下手,不知道如何选择最适合自己业务需求的实例规格。本文旨在通过详细解析阿里云ECS实例规格的选择策略,并介绍如何有效监控云服务器性能,确保业务的高效运行。
205 63
|
24天前
|
存储 安全 网络协议
阿里云服务器通用型实例怎么选?g7/g8y/g8i适用场景、性能对比与选择参考
在选择云服务器实例规格时,对于需要平衡计算、存储和网络性能的应用场景来说,一般会选择通用型实例规格,在阿里云目前的活动中,属于通用型实例的主要有通用型g7、通用型g8y和通用型g8i实例。为了帮助大家更好地了解这三款实例的区别,并为选择提供参考,本文将详细对比它们的实例规格、CPU、内存、计算、存储、网络等方面的性能,并附上活动价格对比,以便用户能够全面了解它们之间的不同,以作参考选择。
|
1月前
|
存储 弹性计算 安全
阿里云服务器ECS实例选购参考:vCPU到云盘IOPS等指标详解
阿里云服务器ECS实例可以分为多种实例规格族,而根据CPU、内存等配置的不同,一种实例规格族又进一步细分为多种实例规格。这些实例规格包含了众多关键的性能指标,如 vCPU、处理器、内存、vTPM、本地存储、网络带宽、网络收发包 PPS、连接数、弹性网卡、云盘带宽、云盘 IOPS 等。深入理解这些性能指标,对于用户在阿里云服务器购买过程中选择最适合自己业务需求的实例规格至关重要。
|
2月前
|
存储 缓存 编解码
阿里云服务器实例规格怎么选?经济型、通用算力型、计算型、通用型、内存型场景化选购指南
阿里云服务器的实例规格有经济型、通用型、计算型、内存型、通用算力型、大数据型、本地SSD型、高主频型、突发型、共享型等不同种类的实例规格,以满足不同用户和业务场景的需求。对于初次接触阿里云服务器的用户来说,如何选择合适的实例规格成为了一个重要的问题。本文将为大家解析阿里云的经济型、通用算力型、计算型、通用型和内存型实例规格的主要性能和适用场景情况,帮助用户根据实际需求选择合适的云服务器实例。
309 10
|
1月前
|
存储 机器学习/深度学习 安全
阿里云服务器计算型c8i与通用型g8i实例性能、适用场景及价格参考
阿里云不断推陈出新,致力于为用户提供高性能、高可靠性和高安全性的云服务器实例,以满足不同用户在各种复杂场景下的需求。其中,计算型c8i与通用型g8i实例凭借其卓越的性能和灵活的配置,成为了企业级用户的热门选择。本文将深入探讨这两款实例的性能特点、最新收费标准以及适用场景和活动价格情况,以供大家了解和选择。
|
2月前
|
存储 缓存 弹性计算
阿里云经济型e实例云服务器评测:企业官网搭建的性价比之选
阿里云服务器经济型e实例可以用来搭建企业网站吗?云服务器作为搭建企业官网的基础设施,其性能、稳定性、成本等因素直接影响着官网的运营效果。阿里云经济型e实例云服务器作为一款性价比较高的产品,备受用户关注。许多企业在选择云服务器搭建官网时,都会将其纳入考虑范围。本文将详细探讨阿里云经济型e实例云服务器的特点、性能表现、稳定性与可靠性,以及成本考量,最终解答是否适合用它来搭建企业官网。
|
16天前
|
弹性计算 数据挖掘 测试技术
阿里云服务器2核8G、4核16G、8核32G配置热门实例性能、适用场景对于与选择参考
2025年,阿里云针对2核8G、4核16G、8核32G这三种主流配置,推出了一系列极具吸引力的活动,为用户提供了多样化的选择。目前,2核8G配置的云服务器活动价格为522.79元/年起,4核16G配置的云服务器活动价格为2149.92元/年起,而8核32G配置的云服务器活动价格则为4249.44元/年起。这些价格涵盖了经济型e、通用算力型u1、通用型g8i、通用型g7和通用型g8y等不同实例规格,为用户提供了多样化的选择。本文将对这些配置热门实例规格的实例性能、适用场景和活动价格做个对比,以供选择和参考。
|
23天前
|
存储 分布式计算 安全
阿里云服务器内存型实例怎么选?r7/r8y/r8i实例性能、适用场景与选择参考
在选择阿里云服务器时,针对内存密集型应用和数据库应用,内存型实例因其高内存配比和优化的性能表现,成为了众多用户的热门选择。在目前阿里云的活动中,内存型实例主要有内存型r7、内存型r8y和内存型r8i实例可选。为了帮助大家更好地了解这三款实例的区别,本文将详细对比它们的实例规格、CPU、内存、计算、存储、网络等方面的性能,并附上活动价格对比,以便用户能够全面了解它们之间的不同,以供选择和参考。
|
1月前
|
存储 弹性计算 调度
阿里云服务器实例选型参考:共享型与企业级实例性能与使用场景区别及选择参考
阿里云服务器实例从产品规格角度来说,主要分为共享型和企业级。共享型主要有突发性能 t5、t6 实例以及共享 N4、S6 以及经济型e等实例规格,企业级(也称独享型)实例有计算型、通用型、内存型等众多实例规格,那么,这两种类型的实例究竟有什么区别?作为用户又应该如何做出合适的选择呢?接下来,本文为大家介绍共享型与企业级实例性能与使用场景区别及选择参考。
103 10
|
1月前
|
存储 弹性计算 人工智能
阿里云服务器ECS实例规格选型指南:根据使用场景选择合适的配置
随着云计算的快速发展,阿里云提供了丰富多样的云服务器ECS实例规格,满足不同用户需求。然而,面对众多选项,新手往往难以抉择。本文详细解析八大业务场景,包括新手入门、网站业务、数据库、大数据、游戏、视频、AI机器学习及高性能计算等,帮助用户精准选择合适的实例规格。通过了解各实例的硬件配置与软件优化特点,用户可实现资源高效利用与成本合理控制,推动业务发展。更多详情与性能参考可访问阿里云官方文档。
121 17

相关产品

  • 云服务器 ECS
  • 推荐镜像

    更多