传统的网络安全防护方法通常是根据网络的拓扑情况,以手动方式在安全域边界串联(例如UTM、IPS)或旁路部署(例如IDS、Audit)安全设备,对进出安全域的流量进行监控。如果将这种与接入模式、部署位置紧密耦合的防护方法沿用到物理与虚拟网络共存的数据中心环境中,会存在诸多不适应性。
从上述问题可以看出,传统的网络安全防护方法不能完全满足未来数据中心网络安全防护需求,由此一种更为适用的防护方法——软件定义安全(Software Defined Security,SDS)应运而生。SDS是从软件定义网络(Software Defined Network,SDN)引申而来,它的核心思想是将虚拟的和物理的网络安全设备与它们的接入模式、部署位置解耦,抽象为安全资源池里的资源,统一通过软件编程的方式进行智能化、自动化的管理和使用,安全资源、网络流量、安全模型间通过开放的接口定义,灵活的实现了安全功能部署和安全能力的提供,从而完成虚拟和物理网络的整体安全防护。
图1 软件定义安全工作模型
就工作机制而言,SDS可以分解为软件定义安全资源、软件定义流量、软件定义高级威胁模型,三个举措环环相扣,形成一个动态、闭环的工作模型,如图1所示。
1.软件定义安全资源:配备安全资源是实现网络安全防护的第一步。在软件定义安全模式下,安全资源的配备是由软件编程的方式来管理的。由管理中心对安全资源进行统一注册、管理,才能够实现后续的灵活使用。在虚拟计算环境下,管理中心还要支持虚拟安全设备模板的分发和设备的创建。
2.软件定义流量:由软件编程的方式来实现网络流量的转发控制,通过将目标网络流量转发到安全设备上,来实现安全设备的逻辑部署和使用。
3.软件定义高级威胁模型:安全运营中心从各种设备上收集安全相关的事件、信息,通过预定义的算法进行自动化的整理和挖掘,实现对未知的威胁甚至是一些高级安全威胁的实时分析和建模,之后自动将建模结果再次应用于安全防护,从而实现一种动态、闭环的安全防护。
就具体实现而言,SDS框架可以划分为4个层次,由底至顶分别为安全资源层、转发层、控制层、管理编排层,如图2所示。
图2 软件定义安全层次框架
以一个数据中心为例,SDS框架的各个层次详细介绍如下:
1.安全资源层:由数据中心内的各种物理形态或虚拟形态的网络安全设备组成,兼容各家厂商的产品。这些安全设备不再采用单独部署、各自为政的工作模式,而是由管理中心统一部署、管理、调度,以实现相应的安全功能。安全资源可以按需取用,支持高扩展性、高弹性,就像一个资源池一样。
2.转发层:即SDN网络中的转发层,是指一类仅支持根据控制器指令进行数据包转发,而不再自主进行地址学习和选路的网络交换设备。将网络安全设备接入转发层,通过将数据包导入或绕过安全设备,即可实现安全设备的部署和撤销。
3.控制层:是指能够从全局的角度进行网络构建、管理,并提供开放API的网络控制器。这里既包括进行逻辑网络构建的控制器(例如SDN网络控制器,通过给已有的下辖的交换机下发转发表来实现网络构建),也包括进行实际网络构建的控制器(例如虚拟计算平台的管理中心,通过创建虚拟交换机并连线来实现网络构建)。
4.管理编排层:由侧重于安全方面的应用组成,包含用户交互界面,将用户配置的或运行中实时产生的安全功能需求转化为具体的安全资源调度策略,并基于控制层提供的API予以实现,做到安全防护的智能化、自动化、服务化。
通过编程的方式调用安全设备资源,SDS实现了一种灵活的网络安全防护,更加适用于情况复杂的数据中心网络。与传统的网络安全防护方法相比,SDS有如下特(优)点:
1.安全功能部署灵活简单:管理员可以随时、随地、采用多种设备对应用层软件(例如管理中心)进行访问,通过简单的界面点击操作来实现安全功能的自动化部署。由于不再需要复杂的手动操作去部署每台安全设备,提高了可扩展性。
2.细粒度区分流量:通过转发层对流经同一网络的流量做细粒度区分,支持不同流量采用不同的安全策略,因此适用于多租户环境。各个租户可以按需进行个性化的安全服务定制,具备高弹性、可计量性。
3.安全防护范围动态调整:集中化的管理方式使得控制层能够快速感知虚拟机的动态迁移事件,该事件被上送到应用层,应用层随之下发策略来改变安全资源的部署,最终现安全防护范围的动态调整。
4.维护网络高可靠性:安全功能的部署和撤销均采用自动化的方式进行。当检测到某个安全设备发生故障后,可以实时的将基于该安全设备的应用撤销;当安全设备故障解除后,又可以实时的将基于该安全设备的应用恢复。这期间维持网络不间断,确保了网络的可靠性。
5.安全功能易于创新:基于软件的安全功能编排、与硬件安全设备的解耦使得安全功能的创新不再依赖硬件安全设备的升级。并且,控制层全局化的视角使得安全功能更容易根据实时运行情况作出调整,更具智能性。
采用现有技术已经能够实现SDS。SDS实现的关键在于如何使用安全资源池里的资源来实现相应的安全功能,这里主要围绕这部分进行介绍。要全面覆盖现有的数据中心网络情况,需要采用以下两类关键技术:
1.基于SDN/Openflow技术:SDN思想将传统网络设备自带控制功能和转发功能分离,其中网络设备仅保留转发功能,构成转发层;引入全局网络控制器提供控制功能,构成控制层;并且应用程序可以调用控制器提供的API来构建网络,构成应用层。OpenFlow协议被认为是SDN架构的控制层和转发层间的第一个标准通信接口[1]。将安全设备接入SDN的转发层,由应用层程序调用控制层API来设置转发层的转发表,基于这种流量转发的可定义性来实现灵活的逻辑部署。目前,SDN/Openflow已经被多款流行的开源虚拟计算平台(例如KVM、XEN)采纳为虚拟网络的实现技术,并且已有多家厂商的硬件交换机产品支持SDN/Openflow,也已有多款开源控制器可供选择(例如floodlight、Opendaylight、Ryu)。因此基于SDN/Openflow实现的SDS,能够适用于开源虚拟计算平台上的虚拟网络以及部分物理网络的安全防护。
2.调用虚拟计算平台提供的API:适用于闭源虚拟计算平台上的虚拟网络防护。这类平台上的虚拟网络设备通常采用传统的自主工作模式,不能如技术1一样通过设置转发表来实现安全设备的部署和撤销。这里可以调用平台提供的API,通过将虚拟安全设备接入或断出虚拟交换机的方法,实现安全设备的灵活使用。目前,主流的闭源虚拟计算平台均有API接口满足上述需求。
基于SDS思想,我们提出了流安全平台产品,该产品架构如图3所示,通过把一台或多台防火墙、IDS/IPS、WAF、审计等安全设备连接到一台或多台SDN交换机上做安全资源的集群处理,根据安全策略的自定义模式将网络流量牵引到指定的安全设备进行安全处理,包括:访问控制、攻击检查、攻击过滤、内容审计等,同时通过安全控制中心对安全设备进行策略集中管理和状态实时监控,当设备出现异常时,能及时进行均衡负载或流量迁移,确保不影响正常的网络通信,可以极大的提高安全设备整体防护能力和可靠性。适用于网络流量大、安全需求多、可靠性要求特别高的场景。
图3 流安全平台架构图
目前,随着虚拟化、SDN网络在数据中心快速的发展、完善、应用,传统网络安全防护方法已经显示出不适应性。为了满足网络安全新需求,工业界和学术界开始在SDS方面展开积极的探索。
据市场研究和咨询公司IDC预测,到2016年,78%的新增机器都是虚拟机[2],这意味着数据中心虚拟化规模将进一步扩大。SDS框架能够支持数据中心物理与虚拟网络并存、多租户、易迁移、高弹性、自动化等特性需求,必将成为未来数据中心网络安全防护的有力支撑。
参考文献
1.Open networking foundation, Software-Defined Networking:The New Norm for Networks, april 13,2012.
2.Gary Chen,Oracle Virtual Networking Delivering Fabric Virtualization and Software Defined Networks,July 2013.
上一篇:全范式检测框架浅析
下一篇:面向Web中间件的业务审计系统