基于SDN技术的多区域安全云计算架构
2015-11-21王刚
王 刚
(网神信息技术(北京)股份有限公司 北京 100085)
基于SDN技术的多区域安全云计算架构
王 刚
(网神信息技术(北京)股份有限公司 北京 100085)
(wanggang@legendsec.com)
提出了一种在云计算环境中实施云安全防护的方案.方案在原有的业务云之外,用云技术建设安全云,在业务云中部署安全代理,通过软件定义的网络技术连接业务云、安全云和安全代理,并且通过安全代理把业务云动态划分为逻辑隔离的多个业务区域.不同业务的数据在业务子云之间隔离,提升了安全性,而各业务子云仍可通过安全的途径共享整个业务云的资源,享受云计算的优势.方案不依赖于业务云的实现方式,除近乎初始零配置的安全代理外,不改变业务云的软硬件结构,具有易部署、易维护、安全性更高等特点.
云计算;云安全;安全代理;安全云;软件定义的网络;安全即服务
云计算以资源的形式向用户提供计算、存储等能力,用户不必关心这些资源存放在哪里、怎么提供的,而是按需使用,因其建设、使用、维护成本远低于传统方案而受到用户的欢迎,相关技术与应用一直在快速发展,其中安全技术是被关注的焦点问题之一.国内外多家调查机构调查显示,云计算的安全问题已经成为影响用户采用云计算的首要因素[1].
云计算的安全问题大体可分为2类:第1类是传统的安全问题,因用户、设备、系统等部署在云环境中而需要新的防护手段;第2类是云计算技术引入的新安全问题.本文不涉及第2类问题,重点讨论如何在云环境中解决第1类问题.传统的安全问题之所以在云环境中有不同的表现,一方面是虚拟化等技术导致增加了安全设备识别云计算环境中的用户、设备、系统等信息的难度,另一方面是通常伴随着云计算的数据太集中,带来了新的安全风险.
目前,云计算的热潮已经席卷全球,我国也迎来了云计算的发展高峰.为了避免概念化的空谈,商务云更加关注于应用的落地性.以传统行业为基础,通过商务云平台以及合作经营模式为各类企业实现可持续增长的B2BB2C行业门户,让云计算在我国得到切实的应用,为我国经济的健康发展保驾护航.
本文提出一种在云计算环境中实施云安全防护的方案,在原有的云计算环境(本文称其为业务云)之外,用云技术建设安全云,在业务云中部署安全代理,通过SDN[2](software defined network)技术连接业务云、安全云和安全代理,并通过安全代理把业务云动态划分为逻辑隔离的多个业务区域(本文称其为业务子云),从而把安全从业务云中剥离出来,从业务云的具体实现技术和部署方案中脱离出来,针对相对稳定的业务逻辑实施防护.同时,不同业务的数据在业务子云之间隔离,提升了安全性,而各业务子云仍可通过安全的途径共享整个业务云的资源,享受云计算的优势.
1 本文方案概论
如图1所示,本文方案包含如下组成部分:业务云、业务子云、安全代理、安全云和管理中心.
图1 基于SDN技术的多区域安全云计算架构
业务子云是业务云的一部分,用于提供一种或多种相关的业务.业务子云之间通过安全代理实现逻辑隔离.
安全代理是实现逻辑隔离的关键设备,包含SDN交换机核心功能和基础安全功能.通过静态或动态配置,安全代理能够对数据报文进行检测,能够决定数据报文的走向,从而实现:1)业务子云间的逻辑隔离;2)基础的安全防护;3)把流量导入到安全云中进行处理.
安全云实现全面的安全防护功能,为业务子云和安全代理提供安全服务.此外,通过安全云中的大数据分析引擎,提供增强的数据分析服务,实现更高的安全性.安全云也是基于云计算技术搭建,但不要求与业务云采用相同的技术架构.
管理中心是安全代理和安全云的控制器.管理中心理解业务云的业务逻辑和管理员的安全意图,根据业务云的实时状态,动态调整安全代理和安全云的策略,分配相关资源,控制后者实现安全功能.
采用业务子云+安全云的多区域安全云计算架构,主要具有以下优势:
1) 易部署.安全云与业务云架构互相独立,可在不影响业务的前提下快速部署.
2) 易维护.安全代理接近初始零配置,可在秒级时间完成设备更换、功能更新、规模扩张等维护工作.
3) 更安全.
① 业务子云之间逻辑隔离,降低业务受到的威胁;
② 安全云能够智能感知业务云的变化,在第一时间实施合适的安全策略,避免因策略不及时而导致的攻击;
③ 安全云更新技术后,整个业务云可立即获得新的防护能力,避免因实施不及时而导致的攻击;
④ 安全云通过大数据分析引擎,能够更精准地识别潜在的威胁.
4) 更灵活.把安全也作为一种服务,可以根据时间、流量、威胁状态等多种条件提供不同的安全防护服务,而不必增加大量的冗余设备.
5) 更稳定.安全云中不存在单点故障,任何设备出现问题后均可切换到其他设备继续提供服务.
2 具体实施
2.1 业务子云与安全代理
本文方案不调整业务云的结构,通过增加安全代理实现业务子云逻辑隔离.考虑业务云中的全部物理连接,按业务逻辑分为若干个组,对每个组的连接(Si,Ti),把Si和Ti接入到同一个安全代理的2个网络口,如图2所示:
图2 安全代理接入
安全代理的简化处理流程描述如下:
1) 安全代理G第1次收到来自Si的报文P时,通过接口C把报文转到管理中心;
2) 管理中心处理报文,如合法则通知G转发给P中的原始接收方;
3) 管理中心把连接关系(Si,Ti)及相关策略推送给G;
4)G再次收到来自Si的报文时,通过Ti转发.
每个业务子云可接入一个或多个安全代理,各安全代理的C口通过网络连接到管理中心.
2.2 安全代理的实现
完整的安全代理基于OpenFlow[3]等SDN相关技术及安全技术实现,包括3个核心模块:基于流表的流转发模块、安全控制模块、安全通信模块.
流表由一系列的〈特征,行动,目标〉表项构成,流转发模块根据这些表项来处理报文.表1给出了特征、行动、目标的部分信息.特征除包含标准OpenFlow协议规定的1~4层信息外,还扩充了应用层和安全信息,如应用类别、用户信息等,从而可提供更多的安全特性.流表中的每一项可以包含特征中任意多项特征的组合.
表1 流表
收到的数据报文一旦匹配流表中的某一项,则按照流表表项指定的行动、目标进行处理.典型的行动包括丢弃、转发、安全处理.
不能匹配流表的数据报文被转发给管理中心处理.在大部分部署中,安全代理的初始配置只包含自身的IP地址、管理中心的IP地址,其余的配置包括流表都是空的,在运行过程中由管理中心动态下发.
除流表外,安全代理还维护一张由管理中心下发的安全策略表.安全策略表初始也是空的,由管理中心动态管理.安全策略表包括访问控制、流控、加密等策略,安全控制模块根据这些策略对数据报文进一步处理.通常,安全控制模块只包含基础的安全功能,把更复杂的功能交给安全云处理,但大型云计算环境中也可以选择在安全代理中实现部分复杂功能.
安全通信模块负责与管理中心间进行安全通信,包括发送状态信息、接收指令、安全转发报文等.
2.3 安全云的实现
安全云通过云计算技术[4]构建,为业务云和安全代理提供安全服务,包括策略服务、检测服务、审计服务等.
2.3.1 策略服务
管理中心以服务的方式向安全代理提供策略,这样安全代理不用预先设置策略,极大地提升了灵活性.当安全代理G把流表和安全策略表都无法处理的数据报文P转发给管理中心时,管理中心做2件事:其一,通过安全云完成对P的检测,把检测结果返回给G;其二,提取与P相关的策略,推送给G,更新G的流表和安全策略表.
管理中心需要跟踪已推送的策略,在策略发生变化时及时通知各安全代理,同时安全代理中的策略超时后需要重新向管理中心请求.
2.3.2 检测服务
安全云提供以下4类检测服务:
第1类是复杂检测服务.安全代理负责基础安全防护,安全云则负责复杂的安全处理.典型的功能包括IPS,AV等.管理中心在安全代理中下发流表表项〈特征,行动,目标〉,行动指定为“转发”,目标指定为安全云中的IPS,AV等安全设备,这样,符合“特征”的报文就会转发给安全云进行检测.与在安全代理中实现相同功能相比,检测服务的优势是按需服务,更灵活.
第2类是可缓存检测服务,比如URL地址分类、垃圾邮件列表、流行病毒库等.每个安全代理只保留一小份经常访问的URL地址的缓存,比如1000~10000个,这样检测速度快,且在多数情况下能够命中.而安全云则保留上亿的资料,当安全代理未成功检测时,由安全云实现完整检测.
第3类是资源消耗型检测服务,主要利用安全云的计算资源,比如沙箱等技术的应用.安全代理遇到的未知可疑流量可交给安全云进行沙箱分析[5]、代码审查等耗费大量计算资源的检测,而这些功能在安全代理上实现是不太现实的.
第4类是综合检测服务.除资源优化以外,安全云还能实现分散的安全节点不能实现或很难实现的安全检测功能,比如APT攻击检测防御[6].安全代理仅凭一个会话的报文很难对APT作出正确的判断,而安全云中集结了大量的数据,结合不同时间、不同地点收到的信息,有能力进行复杂的综合分析,从而作出更精准的判断.安全云把分析结果以服务的方式提供给安全代理,让安全代理也具有综合检测的能力.
2.3.3 审计服务
除数据报文外,安全代理也向安全云发送审计信息.安全云利用自身的计算资源对审计信息进行整理、分析,向业务子云、安全代理、用户等提供审计服务.
2.4 管理中心
管理中心实现4项核心功能:1)配置中心,向系统管理员提供配置接口,导入业务云的业务逻辑、安全代理和安全云的结构、管理员的安全意图等信息;2)控制中心,根据实时运行状态,对安全代理及安全云的策略进行动态配置;3)资源中心,动态调整安全代理及安全云的资源分配,实现资源的有效利用;4)信息中心,向管理员、用户或第三方设备提供业务云、安全云的状态信息.
管理中心作为方案的中枢,需要提供高可用性支持,避免单点故障.
3 常见问题及典型场景分析
3.1 流量的问题
按照安全代理的工作模式,极端情况下全部流量都导入到管理中心安全云中,对业务云与安全云之间的交换机路由器构成流量压力.
为此,管理中心需要采取一些策略.首先,需要减少导入到管理中心安全云中的流量.一方面,由于管理中心理解整个业务云的业务逻辑,安全中心通过向安全代理推送相关联的策略集,而不是单一的流表,能把必须导入的流量降到1%甚至0.0001%以下.另一方面,安全代理和安全云分别处理数据报文的转发、安全任务,需要导入到安全云中的可以不是完整的数据报文,而是报文中的关键信息,从而减少流量压力.其次,数据报文传输过程中可能会经过多个安全代理,管理中心需要提前通知后续的安全代理,不必把数据报文再次转给管理中心,而是通过管理中心提供的令牌请求策略即可.
另外,管理中心及安全云应避免单一入口.通过指定不同的入口点,导入到管理中心安全云的流量可经过不同的路径到达,分散交换机路由器的流量压力.
3.2 加密的问题
管理中心与安全代理之间传输的控制信息如受到劫持或监听,整个方案的安全性将不复存在,因此控制信息的传输需全程加密,由管理中心和安全代理的安全通信模块实现.
管理中心与安全代理之间转发的数据报文因跨出了业务子云的范围,敏感信息也需要加密.加密既可以通过前述安全通信模块来传输,也可通过部署独立的VPN设备来实现.
不同业务子云之间传输的信息对加密是有要求的,应通过部署独立的VPN设备来实现.
3.3 虚拟桌面案例分析
云环境下,用户通过互联网连接到云中的虚拟桌面,再通过虚拟桌面访问云中的服务器.以这个过程为例,说明云防护的过程如图3所示:
图3 虚拟桌面防护过程
① 用户U1以远程桌面的方式登录服务器S1上的虚拟机V1;
②V1发出的数据报文P(U1访问V4)被安全代理G1获得;
③G1通过网络把P转发给管理中心;
④ 管理中心解析数据P,确认安全后,根据U1,V4,G1信息推送策略给G1;
⑤ 管理中心同时向G1发送一个令牌;
⑥G1收到令牌后,向P的原始目标发送令牌,经网络被安全代理G3获得;
⑦G1发送P,经网络被G3获得,G3已获得令牌,按令牌指示把P发给虚拟机V4;
⑧G3通过令牌向管理中心请求策略服务;
⑨ 管理中心确认令牌,根据U1,V4,G3信息推送策略给G3;
⑩V1后续发出的数据报文P2,G1,G3均已知道P2的处理方案,直接转发报文给V4;
4 总 结
在业务云之外,独立建设安全云,并通过SDN技术连接业务云与安全云,动态划分业务云为业务子云,这种方案不依赖于业务云的实现方式,不改变业务云的软硬件结构,具有易部署、易维护、更安全、更灵活、更稳定等特点.
[1]冯登国, 张敏, 张妍, 等. 云计算安全研究[J]. 软件学报, 2011, 22(1): 71-83
[2]Open Networking Foundation. Software-defined networking (SDN) definition[EBOL]. 2014[2015-07-18].https:www.opennetworking.orgsdn-resourcessdn-definition
[3]Open Networking Foundation. OpenFlow switch specication sersion 1.4.0[EBOL]. (2014-10-14)[2015-07-18]. https:www.opennetworking.orgimagesstoriesdownloadssdn-resourcesonf-specificationsopenflowopenflow-spec-v1.4.0.pdf
[4]吴朱华. 云计算核心技术剖析[M]. 北京: 人民邮电出版社, 2011
[5]Shioya T, OyamaY, Iwasaki H. A sandbox with dynamic policy based on execution contexts of applications[G]LNCS 4846: Proc of the 12th Annual Asian Computing Science Conf(ASIAN’07). Berlin: Springer, 2007: 297-311
[6]陈剑锋, 王强, 伍淼. 网络APT攻击及防范策略[J]. 信息安全与通信保密, 2012 (7): 16-18
王 刚
硕士,高级工程师,主要研究方向为访问控制理论与技术.
wanggang@legendsec.com
Multi-Zone Secure Cloud Computing Fabrics Based on SDN Technology
Wang Gang
(LegendsecInformationTechnology(Beijing)Co.,Ltd.,Beijing100085)
This paper presents an implementation of cloud security solutions in the cloud computing environment. Program in addition to the original business cloud, cloud security cloud technology to build, deploy in the cloud security service agents, through SDN technology to connect business cloud security cloud and security agents, and by security agents of the business cloud Live into logical isolation multiple business areas. The program does not rely on business cloud implementations. It does not change the hardware and software structure in addition to almost zero initial configuration of security agents. It is easy to deploy, maintain, and more safe.
cloud computing; cloud security; security agent; secure cloud; SDN; security as a service
2015-07-13
TP393.02