第7章 SDN安全案例
1.DDoS缓解
1.1 Radware DefenseFlow/Defense4All
Radware在开源的SDN控制器平台OpenDaylight(ODL)上集成了一套抗DDoS的模块和应用,称为Defense4ALL。其架构如下图,主要有两部分:控制器中的安全扩展,包括接收到流信息后的统计服务、做清洗的流量重定向服务等;独立的北向安全应用,包括异常检测引擎、流量清洗管理器等。
Defense4ALL的工作原理是,首先ODL控制器从全局的网络设备中获得OpenFlow流信息,统计服务做大致的统计后,通知安全应用的异常检测引擎。当引擎发现当前的流量存在DDoS攻击时,会通过管理器下发流量牵引指令,指令在重定向服务中被计算出若干OpenFlow Flow_Mod流命令,并下发到从源网络设备到DDoS缓解中心的目的网络设备间的路径上的所有网络设备,形成一条重定向路径。当恶意流量在DDoS缓解中心被清洗完后,正常转发到目的地。
当异常检测引擎发现当前的网络流量正常后,会通过管理器撤销重定向指令,此时流量直接被转发到目的地。
它还加入了L4~L7的检测,支持抗APT攻击。当检测到DDoS或APT攻击时,可直接在网络设备上进行阻断,或重定向到专有的安全设备进行进一步的处理。
1.2 Brocade DDoS实时分析和缓解
Brocade公司提出的实时DDoS缓解的SDN分析方案(Real-time SDN Analytics for DDoS Mitigation),架构如下图:
对于L2~L4流量型的DDoS检测,最大的挑战在于流量过大,即便是体现数据包统计信息的xFlow,每秒几万条也是非常正常的,因此控制平面的带宽开销会非常大。特别是OpenFlow协议要求控制器获得交换机上的所有流表,那么传输时间会长达数秒甚至数十秒,导致检测延时、检测应用计算开销过大。所以Brocade公司提出的方案在底层使用了支持sFlow的MLXe路由器,将抽样的sFlow流发送到控制器,可做到整个过程可扩展和线性,极大地减少了检测的时间开销和计算开销。
2 软件定义的访问控制
2.1 Check Point公司的软件定义防护
Check Point公司在RSA 2014大会上宣布推出软件定义防护(Software Defined Protection,SDP)革新性的安全架构。
SDP提供安全的、模块化的、灵活的安全架构,它将可靠的执行层与快速自适应的、智能的控制层结合在一起,为用户网络提供实时的主动防御。此外,该架构中的管理层负责编排,架构图如下图。
整个SDP架构包括互相关联的3层:执行层,包括物理的、虚拟的及基于主机的安全执行点,它们将网络分段并执行安全防护;控制层,分析不同来源的威胁情报并生成防护策略,下发给执行层;管理层,完成基础设施层的编排,从而为整个架构提供更高的灵活性。
- 执行层
执行层首先根据防护策略和特性鉴别相同身份的主体,并将这些主体放置于分片中;然后将分段分组,以允许模块化的保护;最后在分片间使用各种安全防护手段,巩固安全边界。
执行层利用虚拟安全网关为企业网络提供了灵活、动态的模糊边界,将网络分成更细粒度的段,在每一段可执行不同策略的数据防护、入口和出口访问控制、威胁防护、日志等安全能力。
SDP提供了硬件和软件形式的虚拟网关,同时为固定和移动终端提供了基于主机的安全执行点代理,以确保主机层面的安全策略执行,并将移动用户通过安全隧道接入企业云端。在云端,针对企业私有云,SDP提供了Hypervisor层和VM层面的执行点,使用户可以对VM间的流量进行分段;针对公有云用户,允许企业为AWS中的系统执行分段和防火墙策略。
- 控制层
控制层为用户生成安全策略,并提供具体的安全机制,可供灵活编排后下发给合适的执行点,按需动态构建具体的安全防护机制。SDP控制层基于软件刀片,实现不同的虚拟安全服务,如防火墙,IPSec VPN,邮件安全和反垃圾邮件,身份管理,访问控制,数据丢失保护,应用控制,QoS,集成的IPS,基于网络的反病毒,对抗0day攻击的虚拟沙盒,通过阻断C&C信道的反僵尸网络,等等,从而可灵活地匹配用户多样的安全需求,为用户提供有效的安全防护。同时,其固有的模块化结构使用户可以为每个执行点生成特定的安全防护机制,并随时按需扩展用户的安全架构。
控制层还有一个云系统。软件刀片提供的安全防护能力,需要通过及时的威胁情报才能有效防护不断变化的攻击手段。因此,SDP控制层还提供了基于云的大数据智能威胁情报系统——ThreatCloud,应对各种已知和未知的安全威胁。通过这种高度的协议,当一个用户受到新型的恶意软件攻击时,相关的攻击样本可以立即通过ThreatCloud共享,攻击特征很快就可以加入大数据中,供其他用户使用。
- 管理层
管理层的所有执行点由单个统一的安全管理平台进行管理,因此管理平台必须具有很好的扩展能力,可管理上千万的管理对象而仍保持快速的响应时间。另外,为支持执行层的分段,管理平台应在保证职责分离的同时,允许管理人员为不同的段自定义安全策略,每个管理员只能管理其职权下的安全策略。SDP体系通过分层策略机制实现该要求。
SDP管理层还提供了事件可视化应用SmartEvent,它通过大数据分析和实时安全事件关联,使SDP具有情境感知和事件响应能力。精准的事件可视化可以帮助事件处理人员准确地给出必要的响应措施,从而更好地保护网络。事件分析能力则生成可执行的智能情报,它可以Indicator(安全威胁情报交换STIX的术语)的形式通过控制层的ThreatCloud分发,从而帮助实时阻断攻击。
2.2 OpenStack防火墙即服务
防火墙即服务(FWaaS)是OpenStack中的一种访问控制机制,它控制了租户内部不同子网间的访问关系,并对外提供SaaS访问。
FWaaS的实现包括了命名空间、IPTABLES NAT链和IPTABLES的访问控制链等底层技术。
- hillstone
山石网科推出的云数据中心FWaaS安全解决方案为应用OpenStack平台构建的公有云、私有云提供安全防护,为云环境中的独立租户提供专属的安全隔离和策略保护。该方案通过FWaaS服务接口,为云数据中心中的每个租户提供独立的虚拟防火墙,实现了租户间的安全隔离和保护,虚拟机间的东西向流量也得到了有效的管控。所有虚拟防火墙通过统一的界面进行配置和管理,支持虚拟防火墙、安全资源动态分配、安全设备弹性扩展等特点,实现跨平台支持多种虚拟主机。
- DELL-SonicWALL
Dell公司也基于它的SonicWALL统一威胁管理UTM,再加上全球管理系统(Global Management System,GMS)的集中管理和快速部署功能,提供FWaaS安全能力,为用户提供防火墙、反病毒、反垃圾信息、备份和恢复、远程访问等安全服务。它通过月订阅费的计价形式提供给用户的。
如果要实现定制化的FWaaS,一般而言需要修改两个组件:L3Agent和FWaaS驱动。因为一般商用防火墙都带有路由功能,所以L3Agent需要将原有的IPTABLES NAT功能替换掉。另外,还要重新实现FWaaS驱动,以适配商用防火墙的访问控制接口。
下面以vArmor FWaaS为例,更换FWaaS驱动,方法为修改配置文件/etc/Neutron/fwaas_driver.ini
。
[fwaas]
enabled = True
driver = Neutron.services.firewall.drivers.varmour.varmour_fwaas.vArmourFwaasDriver
在实现上,可以是每个虚拟防火墙对应一个router,这样将命名空间和IPTABLES链都放在该虚拟防火墙中实现即可。其整体实现较为简捷,但需要注意L3 Agent和FWaaS驱动应与标准FWaaS API和虚拟防火墙vFW API适配。
2.3 CSA SDP软件定义边界
CSA: Cloud Security Alliance, 云安全联盟
SDP: Software Defined Perimeter, 软件定义边界
CSA是云计算安全方面非常著名的组织,它的《云安全指南》、云计算十二大威胁和各大云相关的工作组开展的工作,在云计算安全方面都非常有影响力。
SDP是一个能够为OSI七层协议栈提供安全防护的网络安全架构,实现资产隐藏,并在允许连接到隐藏资产之前使用单个数据包通过单独的控制和数据平面建立信任连接。使用SDP实现的零信任网络使组织能够更好防御新变种攻击方法,以及改善企业所面临攻击面日益复杂和扩大的安全困境。
当主体访问客体之前,需要通过一个初始化代理访问客体的代理,这两个代理均连接到一个控制器上,只有当控制器允许并下发策略后,两者才可通信,所以任意主客体的访问权限都在全局的控制器中决定。值得注意的是,CSA SDP虽然存在节点和控制器的角色,但使用的是CSA定义的加密TCP协议。
所有用户在访问任何资源之前,都需要经过安全控制平台上的访问控制APP做身份认证,这符合软件定义边界的思想。只是Initiating SDP Host和Accepting SDP Host均为SDN交换机,而SDP Controller是SDN控制器、安全控制平台和访问控制APP所结合的控制器平台。部署在认证服务器上的访问控制APP综合考虑访问用户的角色、历史信誉和其他因素,决定该用户终端的连接是否可建立,或经过何种安全防护设备,并根据上下文环境自适应地在多个网络和安全设备上建立访问控制规则。