因为企业希望采用软件定义网络(SDN),头脑的问题是安全的关注。企业想知道SDN产品如何保证他们的应用程序,数据和基础设施不会脆弱。随着介绍SDN,需要确保控制平面流量的新策略。本文将审查SDN系统的攻击向量,并分享方法来保护支持SDN的虚拟化网络基础架构。然后,本文将讨论当前正在考虑的方法来保护SDN部署。
1.SDN攻击向量
SDN (Software-Defined Networking)是一种将控制平面和转发平面分开,以支持虚拟化的组网方式。SDN是网络虚拟化的新范例。大多数SDN架构模型有三层:下层是支持SDN的网络设备,中间层是SDN控制器,上层包括请求或配置SDN的应用程序和服务。尽管许多SDN系统相对较新,SDN仍处于早期采用者的领域,但我们可以肯定的是,随着技术的成熟和更广泛的部署,它将成为攻击者的目标。
我们可以预测SDN系统上的几个攻击向量。更常见的SDN安全问题包括对不同SDN架构层的攻击。让我们看看在每个层上可能发生的预期攻击。下图说明了典型的SDN体系结构以及攻击者可能来自何处。
1 - 1。数据平面层的攻击
攻击者可以从网络内部攻击网络元素。理论上,攻击者可以获得对网络的未经授权的物理或虚拟访问权,或者危及已经连接到SDN的主机,然后试图执行攻击来破坏网络元素的稳定。这可能是一种拒绝服务(DoS)攻击,也可能是一种试图攻击网络元素的模糊攻击。
有许多南向api和协议用于控制器与网络元素通信。这些SDN南向通信可以使用OpenFlow (OF)、Open vSwitch数据库管理协议(OVSDB)、路径计算元素通信协议(PCEP)、路由系统接口(I2RS)、BGP-LS、OpenStack Neutron、Open管理基础设施(OMI)、Puppet、Chef、Diameter、Radius、NETCONF、可扩展消息传递和存在协议(XMPP)、定位器/ID分离协议(LISP)、简单网络管理协议(SNMP)、CLI、嵌入式事件管理器(EEM)、Cisco onePK、应用程序中心基础设施(ACI)、Opflex等等。这些协议中的每一个都有自己的方法来保护与网络元件的通信。然而,许多协议都是非常新的,实现者可能没有以最安全的方式设置它们。
攻击者还可以利用这些协议并尝试将新流量实例化入设备的流动表。攻击者希望尝试欺骗新流以允许在网络上禁止特定类型的流量。如果攻击者可以创建一个流量,可以通过防火墙引导流量的流量引导,攻击者将具有决定的优势。如果攻击者可以向他们的方向转向流量,他们可能会尝试利用这种能力嗅到交通并在中间(MITM)攻击中执行一个人。
攻击者想要窃听流,以查看哪些流正在使用,哪些流量被允许通过网络。攻击者会试图窃听网络元件和控制器之间的南向通信。这些信息可能对重播攻击有用,也可能仅仅用于侦察目的。
许多SDN系统部署在数据中心内,数据中心更频繁地使用数据中心互连(DCI)2020欧洲杯预赛协议,例如使用通用路由封装(NVGRE),无状态传输隧道(STT),虚拟可扩展LAN(VXLAN),Cisco覆盖层运输虚拟化(OTV),第2层多路径(L2MP),基于TRILL的协议(Cisco FabricPath,瞻博网络QFabric,Brocade VCS Fabric),最短路径桥接(SPB)等。这些协议可能缺乏认证和任何形式的加密来保护分组内容。由于协议设计的一个方面或供应商或客户实现协议的方式,这些新协议可能具有漏洞。攻击者可能有动力以使其遍历DCI链接或创建DCI连接的DOS攻击的方式来创建欺骗流量。
1-2。控制器层的攻击
很明显,SDN控制器是攻击目标。攻击者会出于几个目的试图攻击SDN控制器。攻击者可能希望通过欺骗向北的API消息或欺骗向南的网络设备的消息来实例化新的流。如果攻击者能够成功地欺骗来自合法控制器的流量,那么攻击者就有能力允许流量随意通过SDN,并可能绕过安全依赖的策略。
攻击者可能试图执行控制器的DoS或使用其他方法导致控制器失败。攻击者可能会尝试对控制器进行某种形式的资源消耗攻击,使其陷入困境,并导致其对Packet_In事件的响应非常慢,并使其发送Packet_Out消息变得很慢。
通常情况下,SDN控制器运行在某种形式的Linux操作系统上。如果SDN控制器运行在通用操作系统上,那么该操作系统的漏洞就会成为该控制器的漏洞。通常情况下,控制器使用默认密码部署到生产环境中,并且没有配置安全设置。SDN工程师让它“勉强”工作,然后不想碰它,因为害怕破坏它,所以系统最终在生产中处于脆弱的配置。
最后,如果攻击者创建了他们自己的控制器,并让网络元素相信来自“流氓”控制器的流,那将是糟糕的。然后,攻击者可以在网络元素的流表中创建条目,而SDN工程师从生产控制器的角度无法看到这些流。在这种情况下,攻击者将完全控制网络。
1 - 3。SDN层攻击
攻击北向协议的安全也可能是一个载体。SDN控制器使用的北向api有很多。北向api可以使用Python、Java、C、REST、XML、JSON等。如果攻击者可以利用脆弱的北向API,那么攻击者就可以通过控制器控制SDN网络。如果控制器对北向API缺乏任何形式的安全性,那么攻击者可能能够创建自己的SDN策略,从而获得对SDN环境的控制。
通常,REST API使用的默认密码很容易确定。如果SDN部署没有改变这个默认密码,攻击者可以创建指向控制器管理接口的数据包,那么攻击者可以查询SDN环境的配置,并放入自己的配置。
2.硬化SDN系统
随着SDN的引入,需要一种新方法来保护控制平面流量。在传统的IP网络中,控制平面安全性以涉及使用MD5的路由协议安全措施的形式,IS-IS或OSPFv2,IPSec AH在OSPFv3的情况下,或本中心MP-BGP / acl /密码。对于传统的IP网络,一些实现者甚至不遵循这些简单的技术。如果他们在部署SDN时同样不考虑安全性,那么他们将使自己的组织暴露在攻击之下。让我们看看如何在加强上述架构图中所示的三个层的基础上保护SDN系统。
2-1。保护数据平面层
典型的SDN系统利用X86处理器和使用TLS(原SSL),用于控制平面安全。这些长期存在的HTTP会话容易受到各种各样的攻击,这些攻击可能危及数据面的完整性。这将绕过这些解决方案的多租户,并导致基于云的服务受到损害。组织应该更喜欢使用TLS对网络设备代理和控制器之间的通信进行身份验证和加密。使用TLS协议有助于对控制器和网络设备/SDN代理进行身份验证,避免南向通信被窃听和欺骗。
根据所使用的南行协议,可能有选择来保护此通信。如前所述,某些协议可以在TLS会话中使用。其他协议可以使用共享密码和/或无数以防止重放攻击。SNMPv3等协议提供的安全性比SNMPv2c和SSH更好地比Telnet更好。其他专有的南行协议可能有自己的方法来验证网络设备代理和控制器并加密自身之间的数据,从而挫败攻击者的窃听和欺骗。
类似地,根据所使用的数据中心互连(DCI)协议,可能有可2020欧洲杯预赛配置的选项来验证隧道端点和保护隧道通信。同样,密码/共享秘密可能是一个选项。然而,一些DCI协议可能没有任何安全性选项。
组织可能相信私人网络具有某种固有的安全性。随着组织将虚拟网络和SDN扩展到云服务以及远程数据中心,验证物理路径可能不那么容易。2020欧洲杯预赛当组织控制物理访问时,防止未经授权的访问更容易,但随着网络虚拟化,实际物理路径会变得有点暗淡。很难确保你看不到的东西。
2 - 2。固定控制器层
控制器是关键的攻击目标,因此必须对其进行加固。对控制器和网元典型的安全态势进行加固,可归结为对主机操作系统的加固。这里适用于加固面向公众的Linux服务器的所有最佳实践。尽管如此,各组织仍希望密切监视其控制人员的任何可疑活动。
组织还将希望防止未经授权访问SDN控制网络。SDN系统应允许配置安全和经过身份验证的管理员访问控制器。控制器管理员可能需要即使是基于角色的访问控制(RBAC)策略。日志记录和审计跟踪对于检查管理员或攻击者的未经授权更改非常有用。
如果控制器受到DoS攻击,那么使用高可用性(High-Availability, HA)控制器架构是有益的。使用冗余控制器的sdn可能会失去控制器而继续工作。这将提高攻击者试图攻击系统中所有控制器的门槛。此外,这种攻击不会是特别隐蔽的,进一步攻击者的目的是不被发现。
2 - 3。确保SDN层的安全
另一种保护措施是使用带外(OOB)控制流量的网络。在数据中心构建比跨企业WAN更容易和更昂贵的是在数据中心构建OOB网络。2020欧洲杯预赛使用OOB网络的北行和南行通信可以帮助保护控制器管理的协议。
使用TLS或SSH或其他方法来保护北行通信和安全控制器管理将被视为最佳实践。应使用身份验证和加密方法确保从控制器请求服务或数据的应用程序和服务的通信。
请求SDN资源的所有北行应用程序的安全编码实践应该是最好的实践。不仅是安全的编码实践,有利于公开互联网的安全性,但它们也适用于北行SDN连接。
有些SDN系统能够根据控制器策略验证网络设备表中的流。这种类型的检查(类似于FlowChecker)的网络设备中的流量与策略中的策略可以帮助识别是攻击结果的差异。
3.总结
我们只能试图预测攻击者可能会尝试使用SDNS的目标。该部署是新的,协议是新的,控制器软件是新的,并且过去SDN攻击的历史是未知的。基于SDN架构,我们可以预测攻击者可能会攻击的地方。如果我们把自己放在攻击者的鞋子里,我们可能能够发现漏洞利用。然后我们可以在一段时间内硬化这种弱点。
在组织开始SDN部署项目之前,他们应该考虑如何在早期设计阶段保护系统。在最后清理阶段之前不要离开保安室。如果组织一直等到它开始工作,那么加强向北和向南的控制消息可能会导致影响服务的问题。像大多数事情一样,从一开始就建立它将为组织在未来省去许多问题。
斯科特