SDN在创立之初就受到了全球瞩目并发展迅速,SDN的发展壮大带来网络产业格局重大调整的同时,也势必会波及到网络安全设备行业。网络侧安全产品在本质上是一种特殊用途的网络设备,SDN技术将对跨L2-L7的整个协议栈产生影响,因此在网络基础架构发生变化时,甚至是发生变化之前,网络安全设备的工作机制和解决方案也会发生相应的变化。
回到虚拟化,它给数据中心和企业网络带来了新的问题和挑战。一方面,传统的安全产品和安全解决方案无法解决在虚拟化后出现新的网络安全问题;另一方面,网络虚拟化自身也面临一些安全问题。网络在虚拟化后主要面临的问题有:
物理安全设备存在观测死角
虚拟机与外界存在数据交换,在虚拟化环境中的数据流有两类,即跨物理主机的VM 数据流和同一物理主机内部的VM 数据流。前者一般通过隧道或VLAN 等模式进行传输,现有的IDS/IPS 等安全设备需要在所有的传输路径上进行监控,后者只经过物理主机中的虚拟交换机,无法被实体的安全设备监控到,成为整个安全系统的死角。攻击者可以在内部虚拟网络中发动任何攻击,而不会被安全设备所察觉。
虚拟网络的数据流难以理解
虽然安全设备无法获得物理主机内部的VM 间的数据包,但可以获取跨物理主机间VM 的数据流。尽管如此,传统的安全设备还是不能理解这些数据流,也就无法应用正确的安全策略。例如,两个租户分别在两台物理主机上租用了一台虚拟机,当租户A从VM1向VM3发数据包时,防火墙能接收到物理主机1到物理主机2的数据包,但不知道到底是租户A还是租户B的程序在发送数据包,也不知道是哪两台VM在通信。此外,很多虚拟机之间的数据包是经过GRE隧道传输的,所以传统的网络安全设施可能不能解析这些封装后的数据流。
安全策略难以迁移
虚拟化解决方案的重要优点是弹性和快速,例如当VM从一台物理主机无缝快速地迁移到另一台物理主机时,或当增加或删除VM时,网络虚拟化管理工具可快速调整网络拓扑,在旧物理网络中删除VM 的网络资源(地址、路由策略等),并在新的物理网络中分配VM的网络资源。相应地,安全解决方案也应将原网络设备和安全设备的安全控制(ACL和QoS)跟随迁移,然而现有安全产品缺乏对安全策略迁移的支持,导致安全边界不能适应虚拟网络的变化。
网络流量不可见
在传统网络中,所有数据包经由交换或路由设备,这些设备可以感知并学习当前环境的数据流量,可以针对目前的网络状况动态调整路由策略。但基于OpenFlow的SDN架构中的网络控制器只会收到底层设备发来的部分数据包,并不了解控制域中大部分直接被转发的数据流具体内容。
控制器的单点失效
除了传统网络升级到SDN后网络层的新问题外,SDN本身也会存在漏洞,特别是复杂的SDN的控制器。数据平面和控制平面的分离主要是由控制器实现的,所以控制器就成为网络虚拟化的最重要的设施。
然而控制器需要应对各种动态的网络拓扑,解析各种类型的数据包,接收上层应用的信息,并控制底层网络设备的行为,所以功能实现将会非常复杂,也就可能存在不少漏洞。当攻击者攻破控制器,就可以向所有的网络设施发送指令,很容易瘫痪整个网络;或将某些数据流重定向到恶意VM,造成敏感信息的泄露。
所以,针对传统安全产品对内部网络不可见的缺点,安全厂商需推出支持虚拟化的安全产品,这些安全产品以软件的形式存在,并兼容主流的虚拟化解决方案,可监控内部虚拟网络中的数据流。要想达到真正的软件定义安全,就需要在保护现有和新增设备以及内部虚拟网络的基础上,深刻理解SDN的工作模式,提出松耦合但与之匹配的安全架构,设计网络控制器和安全控制器联动的安全机制,建立基于环境的数据传输决策模型。