由于云计算应用存在网络互联开放性、资源全面共享性、信息全面服务化,面临来自网络空间的攻击目标聚焦、手段多样、变化更快、能力更强、破坏性更大、影响面更广,构建合理、完备的云安全体系,突破、解决各种相关安全关键技术,才能有效应对云环境下各种复杂安全风险,满足云业务提供商、运营商、安全厂商、用户构成的云生态系统安全服务需求。
云计算环境由硬件设施、虚拟资源、虚拟化计算资源、软件平台和应用软件等组成,其服务类型主要包括软件即服务(Software-as-a-Service, SaaS)、平台即服务 (Platform as a Service, PaaS)、基础设施即服务(Infrastructure as a Service, IaaS)3 种服务模式。不同服务模式下,云服务商和云租户/客户对资源访问能力不同,安全保护需求有所区别。根据国家信息安全技术网络安全等级保护安全设计技术最新要求,云计算环境安全服务需要基于统一全服务政策法规与标准,由一系列基础安全服务相互支撑、协同产生。
图1 云计算安全防御参考框架
云计算环境安全防御需要在传统信息系统的安全保密管理、身份认证与访问控制、系统容灾备份、安全审计、入侵检测等通用安全保密防护基础上,同时针对云计算环境虚拟化、按需服务化等特点实施安全防护。根据国家等级保护要求,安全通用要求中的安全计算环境部分是针对边界内部提出的安全控制要求[1]。
云计算环境需要通过网络区域边界访问控制、入侵防范、安全审计、集中管控,及计算环境身份认证、访问控制、入侵防范、镜像和快照保护、数据安全性、数据备份恢复、剩余信息保护、云环境可信、虚拟化安全、恶意代码防范等安全防护技术手段,如图1所示,分别从物理层、虚拟资源层和服务层,保障云计算环境中的硬件设施、虚拟资源、虚拟化计算资源、软件平台、应用软件及数据安全。云计算环境应以统一安全基底为基础,安全按需赋能为核心,智能安全管理为保障,在安全检测预警的支撑下,能够形成“监测—决策—响应—防御”的动态防御体系。
2 云安全防御软件定义
传统的网络安全防护方法已不能应对云计算安全安全防护需求,在软件定义一切的发展趋势下,软件定义安全(Software Defined Security, SDS)为解决云计算安全提供了支撑,其核心是将物理安全设备与它们的接入方式、部署位置解耦,将硬件平台与软件功能组件分层解耦,抽象为安全资源池里的资源,通过统一编程方式进行管理维护,安全资源、安全服务模型间基于开放的规范接口定义,支持安全功能灵活部署和安全能力按需提供,实现安全即服务,如图2所示。
SDS参考SDN/FLOW架构,将传统安全服务功能和安全防护控制功能分离,分为业务面和控制面。基于软件定义架构的安全防护体系也可将安全的控制平面和数据平面分离,业务面由平台层、执行层、服务层组成,通过安全能力抽象和资源池化,将各类安全设备抽象为具有不同安全能力的资源池,并根据具体业务规模横向扩展该资源池的规模,满足不同客户的安全性能要求。
图2 云安全软件定义设计架构
其中,平台层由各种物理形态或虚拟形态的安全平台、计算平台、存储设备、安全路由交换平台等组成,由智能安全管理中心统一部署、管理、调度,形成安全设施资源池,相关资源按需获取,富有弹性,可扩展性强。为执行层各安全服务功能组件提供虚拟化的运行环境。执行层由病毒防护、密码服务、数据备份、入侵检测、防火墙、流量控制等安全服务类功能组件和态势感知、漏洞管理、事件审计、认证授权、身份管理、密钥管理设施等安全管理类功能组件构成,各项安全功能组件与硬件资源完全解耦,标准化设计,支持统一编程控制接口,同时采用开放性架构设计,能够集成第三方安全服务组件,实现安全厂商之间优势互补、联防联控。服务层则是根据云环境租户需求,基于控制面的统一安全服务编排,执行层的安全功能组件联动,对网络、虚拟机的接入互联进行控制、信息流检查等,提供安全接入与隔离安全服务,对应用、数据的操作访问等提供应用访问控制和数据安全服务。
控制面侧重安全服务应用的编排、部署与管理运维,智能分析用户任务以及运行过程中实时产生的安全服务需求,转化为具体的安全资源调度和安全策略配置方案。基于控制层提供的编程接口,对业务面的纵向各层资源进行服务编排,在离散的安全服务资源之间形成正确的缔约关系,构建体系性安全防护系统,实现安全服务的整体协同联动,达到云安全防护的智能化、服务化、动态化。安全管理范围将随着服务交付模式、提供商能力而变化。