云安全的风险应对策略,可以分为4个方面:
- 基础设施安全
- 数据安全
- 应用安全
- 虚拟化安全
基础设施安全
云基础设施,总的来说:就是由很多的基本组件组成:比如,用户帐户,服务器,存储系统,网络,等等。
表格:
上表比较了在传统环境下,和云计算环境下,基础设施的安全性。
从不同的方面,进行了一个比较:
- 网络开放程度:传统环境下,可以设置访问控制、防火墙等措施,来保护安全。
- 平台管理模式:云计算环境下,是远程管理的。
- 资源共享方式:云计算环境下,用户共享资源,所以,要注意用户之间的隔离。
- 服务迁移要求:传统环境下,是不存在服务迁移的。
- 服务灵活程度:云计算更灵活。
云基础设施安全
就是保护部署在云环境中的资源。明显,公共云基础设施,比本地基础设施(on-premises infrastructure)更容易受到攻击。因为,它很容易暴露在公共网络中(就是:它不在安全的网络边界后面)。
⚠️:私有云或混合云,安全性也是一个挑战。因为,它和公共云系统的集成点,会带来多种安全问题。
可以从6个方面,来保护基础设施层的安全
- 数据可控 & 数据隔离;
- 综合考虑数据中心的软硬件部署;
- 建立安全的远程管理机制;
- 选择安全的虚拟化厂商以及成熟的技术;
- 建立健全IT行业法规;
- 针对突然的服务中断等不可抗拒新因素,采取异地容灾策略。
1. 数据可控 & 数据隔离
就是用数据隔离的方法,来解决数据泄露的风险。
具体途径,比如:
(1) 让客户控制他们需要使用的网络策略和安全;
(2) 从存储方面来说,客户的数据应该存在虚拟设备中。这样,就可以在底层,进行数据隔离。
(3)大规模地部署虚拟机,实现更好的隔离。虚拟机里面也有虚拟的存储文件系统,例如VMware的VMFS (Virtual Machine File System)文件系统。
补充:
VMFS:就是在虚拟环境中的群集文件系统。
因为,传统的文件系统,在给定时间内,只允许一台服务器读写同一文件。而VMFS是一种集群文件系统: 利用了共享存储,允许多个 VMware 实例,同时读写文件。
所有VMware Infrastructure (基础设施)版本,都包括了VMFS 。
2. 综合考虑:数据中心的软/硬件部署
就是要考虑品牌厂商。
硬件的选择,比如,你要考虑质量、品牌、易用性、价格、可维护性等。最后,选择性价比高的产品。
(上图:亚马逊的数据中心;下图:谷歌数据中心)
谷歌的数据安全方面:
把所有的数据(包括谷歌自己的数据),分布在不同位置的多台计算机上。
然后把数据分块,复制到多个系统上,避免单点故障。
而且他们会严格跟踪数据中心里面,每个硬盘的位置和状态。也会定期销毁达到使用寿命的硬盘。
3. 建立安全的远程管理机制
最常用的远程管理机制
(1) VPN:就是和防火墙非常像。VPN 会通过加密你的数据,来保护你的活动。提供一个安全的连接。
(2) 远程桌面、远程Shell:最常见的解决方案是SSH (Secure Shell)。
(3) Web控制台UI:就是一个自定义的远程管理界面。通常是由云服务提供商开发的自定义界面。
补充
SSH:是一种加密的网络传输协议。
它通过在网络中,创建安全隧道,来实现 SSH 客户端和服务器之间的连接。
最常见的用途是:远程登录系统,远程执行命令。
对应的安全策略
(1) 缓解认证威胁的最佳办法:使用双因子认证。或使用动态共享密钥,或者缩短共享密钥的共享期;
比如,阿里云:开启双因子认证之后,运维人员登录时,需要先输入用户密码,密码验证正确之后,需要输入动态口令(短信)才能登录成功。
![]()
(2) 不依赖于可重复使用的用户名和密码(推荐的就是,大概每3个月,更换一次);
(3) 确保安全补丁及时打上(补丁:基本都是用来修复漏洞的);
(4) 对于那些自身无法保护数据安全的程序,应该使用VPN或安全隧道(SSL/TLS或SSH)。推荐首先使用IPSec,然后是SSLv3或TLSv1。
补充
SSL(Secure Sockets Layer,安全套接字层)
通常,SSL用于加密两个位置之间传输的数据。
比如,你的Web浏览器,和您正在访问的站点的服务器。
SSL:就是在Web浏览器中,添加“绿色挂锁”的东西。
比如,如果你想在网站上输入你的信用卡信息(或其他敏感数据),SSL就是加密这个的东西。但从技术上讲,SSL是传输层安全 (TLS) 协议的旧版本。
SSL的工作方式:就是使用证书工作,这就是为什么你有时候会看到:比如“ SSL证书”之类的东西。
总的来说,安装了SSL证书,然后启用HTTPS后,你在网站之间传递的数据,就会是安全的。
SSH(安全外壳)
SSH:用于远程登录到另一台计算机,它会创建安全连接,为了可以发出命令(通过SSH隧道)。
使用了SSH隧道,就可以在客户端(例如,你的计算机)和服务器(例如,你网站的服务器)之间创建加密连接。
具体来说,创建安全SSH隧道,你需要使用「用户名/密码」或者是一组「加密公钥/私钥」进行身份验证。一旦通过身份验证,就可以安全地访问信息(例如,访问站点的文件和数据库),也可以通过命令行,向远程服务器发出命令。
总结:
总的来说,SSH与SSL之间有很多相似之处:
它俩都可以帮助创建安全连接。
都可以对两个设备之间传递的数据进行加密。
SSH与SSL之间的主要区别:
- SSH:创建通往另一台计算机的安全隧道,你可以从中发出命令、传输数据等。
另外,唯一可以使用SSH,连接到你的服务器的人,是有「用户名/密码」或「 SSH 密钥」的人。
- SSL:用于在两方之间,安全地传输数据。⚠️:它不允许像SSH一样,发出命令。
IPSec(Internet Protocol Security)
IPSec也是一个安全协议,它在网络层工作。
通信双方,通过IPsec,建立一条IPsec隧道。IP数据包,通过IPsec隧道进行加密传输。
相比于其他的VPN技术,IPsec VPN安全性更高。因为,数据是在IPsec隧道中加密传输的。但相应的,IPsec VPN在配置和部署上更加复杂。
4. 选择安全的虚拟化厂商,和成熟的技术
选择那些对安全长期关注的厂商。
他们会定期更新虚拟化安全补丁,并且关注虚拟化安全。
例如,VMware对有问题虚拟机的进行隔离、DRS(Distributed Resource Scheduler,分布式资源调度器)等。
补充:
DRS的作用就是:监控VMware主机集群中,资源池的利用率。可以根据商业需要在,虚拟机中,智能地分配所需的资源。
5. 建立、健全IT行业法规
就是从法律、技术两个角度来规范数据存储:
(1) 建立、健全法律。对数据泄露等等,不道德行为,进行严格约束。预防人为错误导致的数据泄露。
国内的法律法规,比如:《网络安全法》,《数据安全法》等等。
(2) 开发虚拟机漂移追踪技术。让用户可以追踪自己的数据,保证数据存储的安全。
6. 针对突然的服务中断等,不可抗拒新因素,采取异地容灾策略
服务中断这种风险,可能会出现在任何的IT环境中。
所以,要采取异地容灾的策略,进行数据的备份(比如,备份客户的数据库的数据,操作系统的数据,日志信息)。这样数据会在短时间内恢复,不会造成严重事故。
数据安全
可以从数据安全的「生命周期」考虑,对关键的阶段进行保护:比如,数据传输安全、数据存储和数据残留。
1. 数据传输安全
数据在传输过程中,可能会被黑客窃取和篡改。
所以,就要对传输的数据进行加密,然后需要用上面写的:安全传输协议SSL和VPN,进行数据的传输。
2. 数据存储
对数据存储的保护,包括:
(1) 对于IaaS应用,可以用「静止数据加密」的方式,防止数据被滥用。
但是,对于PaaS或者SaaS的数据,是不能被加密的,密文数据会影响到应用搜索。
有一种加密方案,叫做:同态加密(homomorphic encryption)。但是,到目前为止还没有可商用的算法来实现这个技术。
同态加密,简单来说:
比如,你有一些数据,想要发送到云端,进行处理。但是,你不信任服务提供商。
这时候就可以用同态加密方案:你先加密数据,然后发送到服务器。服务器在「不解密」数据的情况下,对数据进行相关的计算。再把加密的结果,返还给你。
你是唯一能够解密结果的人(因为你有密钥)。
(2) 对于数据存储位置, 你可以在服务水平协议SLA和合同中约定,确保你可以知道存储的地理位置。
(3) 把你的数据进行分类,分为不同的敏感级别。然后,注意不要把重要的或者敏感的数据放到公有云中。
(4) 采用数据多备份的方式。
3. 数据残留
数据残留:数据被删除后,可能会有残留(是一种物理表现)。这些物理特性,就能使数据被重建。所以,数据残留可能会泄露敏感信息。
云服务提供商要保证数据的完整清除。
比如,通过销毁加密数据相关介质、销毁存储介质、磁盘擦拭、内容发现等技术。
应用安全
就是在云主机上,部署的Web应用程序,怎么保证安全:
1. 终端客户安全
防护措施:
(1) 在云客户端上,部署反恶意软件、防病毒个人防火墙、IPS类型安全软件,并且开启各项防御功能。
补充:
IPS(Intrusion Prevention System,入侵防御系统):
是对防病毒软件和防火墙的补充。
它可以监视网络,就可以及时中断一些具有伤害性的网络资料传输行为。
(2) 云用户应该保护浏览器,避免受一些攻击。在云环境中,用户最好开启自动更新功能,定期完成对浏览器的打补丁和更新工作。
(3) 对于企业客户,应该规定:连接云计算应用的计算机,禁止安装虚拟机。
并且要对计算机进行定期检查。
2. SaaS 应用安全
SaaS:用户不管理底层的云基础设施(例如,网络、服务器、操作系统、存储)。
在SaaS服务模式下,提供商应该确保应用程序和组件的安全。
所以,在选择SaaS提供商前,可以从3个方面进行安全评估:
(1) 根据保密协议,你可以要求SaaS提供商,提供:设计、架构、开发、黑盒与白盒安全测试等等的信息。
有必要的话,你可以请第三方安全厂商,进行黑盒安全测试。
补充:
- 白盒测试(结构测试):检测软件编码过程中的错误。
- 黑盒测试(功能测试):检测软件的每一个功能,看是否能够正常使用。
(2) 要注意:SaaS提供商,提供的身份验证和访问控制功能。
比如:
提供高强度密码;
定期修改密码;
不能使用旧密码等。
(3) 用户应该理解:SaaS提供商所使用的「虚拟数据存储架构」和「预防机制」。
3. PaaS 应用安全
PaaS:用户也是不控制底层的云基础设施。但是,可以控制「部署的应用」,和「应用主机的某个环境配置」。
PaaS应用安全,包含两个层次:
- PaaS平台自身的安全
- 客户部署在PaaS平台上应用的安全
具体措施:
(1) 客户只负责:部署在PaaS平台上应用的安全。
PaaS提供商要做到:缓解SSL攻击。客户必须要有一个「变更管理」项目:及时确保SSL补丁和变更程序是最新的。
(2) 如果PaaS应用,使用了第三方应用、组件或Web服务。那么,第三方应用提供商,就要负责这些服务的安全。
所以,用户要了解自己的应用到底依赖于哪个服务。
(3) 在多租户PaaS的服务模式中,云用户应该要求PaaS服务商,提供多租户应用隔离。
服务商也应该,在多租户模式下,提供“沙盒”(Sandbox)架构。
补充:
沙盒技术:使用虚拟服务器,在「隔离」环境中测试软件。这样,开发者就不用担心其他程序,而导致的兼容性问题。
“沙盒”这个词:来自儿童沙盒的概念。沙子和玩具,被保存在一个有围墙的区域内。
就跟这个技术很像,每个应用程序都被放在一个“沙盒”里。这个环境可以帮助开发人员,隔离和保护系统资源,防止受到恶意软件的威胁。
(4) 云用户部署的应用安全,需要PaaS应用开发商配合,开发人员需要熟悉平台的 API,部署和管理执行的安全控制软件模块。
虚拟化安全
虚拟化安全,主要存在两个方面的风险:
- 虚拟化软件的安全
- 虚拟服务器的安全
1. 虚拟化软件安全
虚拟化软件层:是直接部署在裸机上面的。虚拟化软件层,对公有云非常重要。
具体措施:
(1) 选择无漏洞的虚拟化软件。
(2) 限制未经授权的用户,访问虚拟化软件层。
2. 虚拟服务器安全
虚拟服务器:在虚拟化软件之上。
可以从3个方面,保护虚拟服务器安全:
- 物理机选择
- 虚拟服务器安全
- 日常管理
具体措施:
(1) 物理机选择:
- 选择具有TPM(Trusted Platform Module,可信平台模块)的物理服务器。TPM(就是一个芯片):可以在虚拟服务器启动时,检测用户密码。如果,发现密码和用户名的Hash序列不对,就不允许启动虚拟服务器。
- 选择:多核 & 支持虚拟技术的处理器。
(2) 在构建服务器时,要为每个虚拟服务器,分配一个独立的硬盘分区。目的:把各个虚拟服务器,从逻辑上,隔离开来。
(3) 虚拟服务器之间,和它们的物理主机之间,要通过VLAN(Virtual Local Area Networks,虚拟局域网)和IP,进行网络逻辑隔离。服务器之间通过VPN进行网络连接。
(4) 监控虚拟服务器的运行状态(查看:系统日志和火墙日志)。另外,不需要运行的虚拟机,要立即关闭。
身份识别和访问管理(Identity and Access Management, IAM)
IAM:对资源的访问 & 权限,进行管理。
对于云计算平台的 IAM,可以从4个方面进行管理:
(1) 用户管理:管理用户,和他们的访问权限。
包括:创建用户,为用户分配单独的安全凭证(例如,访问密钥,密码,多重身份验证),或者要求提供临时的安全凭证。
(2) 角色管理:通过IAM角色,授予用户访问权限。
(3) 权限管理:指定对资源的访问权限(包括:允许访问 / 拒绝访问)
(4) 安全凭证管理:包括密码、访问密钥、X509证书等。
补充:
X.509:是公钥证书的格式标准。
X.509证书:已经应用在很多的网络协议里面了(包括,TLS/SSL)。
操作系统安全
在云平台中的操作系统,为了避免黑客攻击,需要及时的更新系统补丁,为了保护和防止数据泄露。
云平台的「自动化补丁」功能,具备5个能力:
(1) 支持在线 & 离线的「补丁下载模式」。自动化完成补丁的下载。
(2) 用户在使用资源的过程中,可以选择需要的补丁,进行自动化部署。
(3) 可以提供补丁分析能力:自动推荐补丁版本。
(4)可以根据管理员自建的「补丁黑名单」或「白名单」,来部署补丁。
(5) 可以自动发现补丁之间的依赖关系。
补充:
补丁依赖关系:就是补丁中所提供的功能(错误修复或新增功能),可能和其他补丁中,所提供的功能相互有联系。
操作审计 (Action Trail)
操作审计:记录云账户的操作,提供操作记录查询。然后,就可以进行行为分析、安全分析、行为持续合规性审计等操作。
审计的功能:
(1) 简化合规性审核:借助审计,可以自动记录账户中「已执行」的事件。把审计数据记录到日志里面以后,就可以快速识别一些不合规的事件。
合规性审核,主要涉及的就是:各个国家的数据安全要求是不同的,防止出现一些不合规的操作。
(2) 提高用户 & 资源活动的可见性。
(3) 帮助进行安全性分析 & 故障排除。
(4) 帮助安全自动化。因为审计可以跟踪一些威胁。