7.2.3 云计算安全问题

7.2.3 云计算安全问题

1.云计算面临的安全问题

云计算为物联网带来了便利,提高了资源使用效率,同时,它也面临着许多安全问题,如虚拟化安全问题、数据集中后的安全问题、云平台可用性问题、云平台遭受攻击的问题等,这些安全问题都是不能被忽视的。

(1)虚拟化安全问题

在虚拟化场景中,主机安全问题和虚拟化网络安全问题是最需要被重视的安全问题,如果主机受到破坏,那么主机所管理的客户端服务器都会有被攻克的风险;如果虚拟网络的安全性受到破坏,那么客户端也会通过虚拟网络受到外部入侵者的攻击。此外,客户端的共享安全和主机的共享安全也是不能被忽视的问题,在实际应用中,客户端和主机的共享都有可能被不法之徒利用,最终通过共享应用的漏洞对客户端或者主机发起攻击。

1)虚拟机逃逸

正常情况下,同一虚拟化平台下的客户虚拟机之间不能互相监视,影响其他虚拟机及其进程,但虚拟化漏洞的存在或隔离方式的不正确可能会导致隔离失效,使得非特权虚拟机获得Hyper visor的访问权限,并入侵同一宿主机上的其他虚拟机,这种现象被称为虚拟机逃逸。2017年7月,Github上发布了一个针对VMware的虚拟机逃逸的exploit源代码,使用C++语言编写。据作者称该源代码影响了VMware Workstation 12.5.5以前的版本,并给出了演示过程,实现了从虚拟机到宿主机器的代码执行,弹出了熟悉的计算器。该代码开源后,只需要将执行计算器部分的shellcode替换成其他具有恶意攻击的代码,就可以造成很大的危害。目前很多企业、政府都使用了VMware等虚拟厂商的产品,因此虚拟机逃逸问题更应当得到重视。

2)虚拟机跳跃

通过一台虚拟机监控其他虚拟机或是接入到其所在的宿主机上的现象被称为虚拟机跳跃。例如,在同一物理机上的虚拟机a通过获取虚拟机b的IP地址或宿主机的控制权,进而监控虚拟机b的流量,进行流量攻击等操作,使虚拟机b离线,造成通信中断,停止服务。

3)远程管理缺陷

运维人员通常使用远程管理平台对虚拟机进行管理,如VMware的vCenter、XenServer的XenCenter。集中管理虽然降低了管理复杂度,但可能带来如跨站脚本攻击、SQL注入攻击等危险。

4)拒绝服务攻击

同一物理机上的虚拟机共享资源,如果攻击者利用一台虚拟机获得宿主机的所有资源,导致其他虚拟机没有资源可用,将造成虚拟化环境下的拒绝服务攻击。

(2)数据集中后的安全问题

数据集中后的安全问题包括:如何保证云服务提供商内部的安全管理和访问控制机制符合客户的安全需求;如何实施有效的安全审计,对数据操作进行安全监控;如何避免云计算环境中多用户共存带来的潜在风险。

(3)云平台可用性问题

用户的数据和业务应用处于云计算系统中,其业务流程将依赖于云计算服务提供商所提供的服务,这对服务商的云平台服务连续性、SLA和IT流程、安全策略、事件处理和分析等提出了挑战。另外,当发生系统故障时,如何保证用户数据的快速恢复也是一个重要问题。

(4)云平台遭受攻击的问题

云计算平台由于其用户、信息资源的高度集中,容易成为黑客攻击的目标,由拒绝服务攻击造成的后果和破坏性将会明显超过传统的企业网应用环境。

2.IaaS安全

(1)监视数据泄露和使用情况

云中存储着大量的数据,企业需要密切地监视存储在公共云和私有云IaaS基础架构中的数据。在将IaaS部署到云计算时,我们需要确保只有授权用户才能访问数据。企业可以通过建立规范的数据管理流程来解决这一问题,该服务将连续监视数据使用情况,并根据安全策略限制使用情况。

(2)授权与认证

众所周知,只使用用户名和密码登录的身份验证机制并不安全,为了获得一个高效的数据丢失防护(DLP)方案,还需要更严谨的认证和授权方法。我们可以使用多因素身份验证,建立分等级的访问策略来解决这一问题。

(3)日志记录和报告

日志记录和报告可以跟踪信息的下落、用户、处理信息的机器的信息以及存储区域。因此,无论是在私有云还是在公共云中,都要有高效的日志记录和报告,使IaaS的部署更加高效。日志和报告方案对于服务的管理和优化非常重要,在遭受安全损害时,其重要性更为明显。

(4)端到端的加密

想要保护IaaS的安全,不仅要对用户的数据文件进行加密,还需要充分利用端点到端点之间的加密来确保磁盘上所有数据的安全,以及防止离线攻击。除了整盘加密,还要确保IaaS基础架构中与主机操作系统和虚拟机的所有通信都要加密。同时,为了提高安全性,企业应尽可能部署同态加密等机制,以保持终端用户通信的安全。

3.PaaS安全

(1)功能安全

多租户隔离:租户基于Domain和Project的机制进行隔离,每个Domain的租户权限与资源互相隔离。其中,租户Domain的资源和权限集合为多个Project的总和。租户内采用多用户和多用户组的管理方式,用户基于角色来进行授权,全部对接IAM来统一身份认证,实现统一的用户权限和资源管理。

多租户资源管理:通过IAM可以统一实现租户的资源信息同步和管理。用户可查看、增加自己的配额能力,构建自己的集群,部署各种服务。

身份认证和访问控制:PaaS的身份认证和访问控制,主要通过内置各服务租户和大量角色来进行用户访问控制,IAM进行认证和授权,以及基于Xrole的信任管理。

单点登录:在PaaS中,是多用户、多Web应用,单个SSO认证中心的机制,实现所有登录认证都在SSO认证中心统一认证,SSO认证中心与Web应用建立一种信任关系。SSO服务提供SSO Server和SSO Client软件,基于CAS来实现。

基于SAML的第三方IDP对接:多个应用的用户登录认证可以使用基于SAML的共享信任的机制,让IAM认证中心来对接第三方的IDP服务,达到多应用下用户的共享信任。

PSM密钥管理系统:PSM主要为PaaS的密钥和证书管理系统,主要在初始化安装、创建Namespace、纳管节点、创建pod、证书和密钥更新过程中,对密钥和证书进行管理。

数据安全:使用主流的隐私模型和算法,集成主流的匿名化算法,覆盖数据的整个生命周期。

(2)运维安全

日志异常行为监测:运维面审计日志,通过rest接口记录运维管理员操作日志;管理面审计日志,通过将用户行为记录到本地文件与运行日志分开;日志分析主要依赖于ALS(Application Log Service)和DPA(Data Process Analysis)。ALS可以提供统一的日志收集、查询、配置服务。DPA对收集的日志进行大数据分析,从中查找异常行为。

(3)Open API安全

API安全检测:认证检测,防止被篡改和重放攻击;流量检测,防DDoS攻击;对受限资源的访问授权;报文异常参数检测。

(4)基础设置安全

1)网络隔离

在PaaS组网与外网间采用防火墙隔离。PaaS内网采用双网卡的HA LB将运维、管理面和租户面进行隔离。租户面与运维、管理面采用不同网段和VIP,互相之间通过LB的两个VIP进行路由转发。同时还需要对应的I层虚拟机进行网络隔离的安全设置,以达到虚拟机的逻辑VLAN隔离。

2)WAF

在PaaS中使用WAF进行Web防护,WAF需要具备如下能力:纵深安全防护,黑名单特征检测和协议重组检测;自学习建模和白名单,提高检测效率和准确率;高性能检测,对于静态文件进行高速转发,无需通过特征库检测;防篡改,自学习网站页面内容,对常用内容进行缓存和比对;自动侦测应用,从流量中自学习Web协议信息,获取新增应用信息;实时安全响应和告警;透明代理,部署WAF对用户网络透明,提升性能;高速缓存,对于静态文件进行大量缓存,提升服务器处理性能;CC防护。

3)Anti-DDoS

在对接外网时,使用Anti-DDoS服务器将网络流量复制到检测中心。检测中心发现DDoS流量则通知ATIC服务器,联动路由器,将流量引流到清洗中心,进行流量清洗。剩余有效流量返回路由器进行转发。

(5)容器和镜像安全

1)CVE安全扫描

在镜像入库和部署前,采用工具进行漏洞扫描。

2)CIS容器一致性检测

使用扫描工具,基于CIS(Center for Internet Security)的策略,对运行态的容器进行检查。

3)容器运行态防护

可使用容器监控工具,针对具体的容器、镜像、服务主机以及标签(Labels),对运行中的文件、网络监控、进程以及系统调用进行监测。

4)镜像签名保护

Notary获取Docker镜像中的manifest文件,manifest包括各个层的散列值的详细信息。Notary对manifest文件进行签名,并且增加时间戳的签名。

4.SaaS安全

(1)选择优质的SaaS提供商

无论人们正在寻找什么类型的SaaS软件服务,都有很多选择,基于云的软件安全性很大一部分掌握在人们的SaaS软件厂商手中。

选择优质的SaaS提供商可以遵循以下步骤。首先,寻找提供密码保护和用户控制的SaaS软件厂商,以限制对敏感数据的访问,并在可能的情况下进行某种数据加密。然后,询问供应商存储数据的位置和方式以及备份和恢复过程的工作方式。最后,寻找SaaS软件厂商可靠的证据,如通过参考大多数SaaS软件厂商的客户情况来了解。

(2)创建云计算策略

云计算策略指定谁可以访问软件,用于何种目的以及在何种情况下访问软件。它规定了如何管理用户以及如何允许员工使用该软件(例如,可以通过个人移动设备访问系统还是只能在工作计算机上访问系统)。

(3)不要将敏感数据放到系统上

虽然使用基于云的软件主要好处之一是它能够与其他应用程序无缝集成,从而为许多功能提供集中的用户体验,但并不是说所有数据都应存储在云上。如果敏感数据(如个人或专有)不必在线,请将其存储在本地服务器上。

(4)采用最高标准的互联网安全措施

虽然供应商负责保障大部分数据的安全性,但用户仍需要采取预防措施。使用标准的Internet安全措施,例如运行防病毒软件并确保所有用户都选择足够强大的密码。

除此之外,还应该实施一个用于密码恢复的安全协议,特别是如果用户从个人设备访问系统或在异地时访问系统的情况。

(5)定期审核安全控制措施

安全审核应定期进行,SaaS审核有各种标准,具体取决于应用程序的类型。理想情况下,SaaS软件厂商将聘请可靠的第三方来完成审核,然后共享结果。此外,还可以让第三方或内部团队定期审核软件实施。

与其他安全工作一样,云计算的安全性在某种程度上也是一场竞争——软件提供商一直在努力保持领先于潜在的黑客。使用这五大方案可确保人们的SaaS软件厂商也领先于同行。