如何确保SDN从一开始就是安全的?

现如今的企业可能正在掀起一股部署实施软件定义网络(SDN)的趋势,但是,企业必须确保其从一开始就是安全的。

SDN仍处于其早期采用阶段,当然其发展成长的势头不可阻挡。根据Gartner公司在2014年六月发布的SDN调研报告显示,只有4%的企业机构正处在部署该技术的过程中,但也有其他的研究表明,许多企业均热衷于采用该技术。

而根据Infonetics Research发表的《关于2014年SDN策略:北美企业调查报告》发现,45%的企业将会在2015年在其数据中心生产环境实现SDN的部署,这一数据到2016年还将上升到87%。

尽管其新生的状态,但SDN正在迅速地受到越来越多企业的青睐。鉴于这一趋势的迅猛发展,在本文中,我们将为广大读者介绍企业如何以最为安全的方式部署SDN?

选择最佳的技能组合

Riverbed科技公司高级产品营销经理Brent Lees表示说,部署实施SDN技术尚在起步阶段,因而存在相当的技术安全风险。企业所面临的最大挑战之一如何确保安装必要的技术,使得漏洞不会被恶意攻击利用。

“学习一种完全不同的安全架构本身就是一项十分艰巨的挑战。”他说。“此外,相同的开放接口和已知的SDN协议,简化了网络编程,也为攻击者提供了机会。”

向量攻击

其是控制面板从转发面板的分离,可以证明企业使用SDN架构的安全问题。架构分为三个层次:应用层,控制层和基础设施层,后者包括应用程序和服务配置、以及SDN基础设施请求SDN。所有这三层均可以被向量攻击(attackvector),而该问题通过技术所带来的额外的复杂性程度的增加而进一步加剧。

“SDN完全彻底的改变了安全模式,” Exponential-e公司的技术专家史蒂芬·哈里森表示说。 “更糟的是,由于许多SDN技术依赖于新的覆盖和封装技术,使得我们现有的许多安全工具不能真正检查和了解SDN流量。

“就像虚拟化使得服务器的安全性变得既更为安全也更为不安全一样:更安全是因为抽象层,更不安全是因为您不再需要物理访问,我们现在已然看到这种模式在SDN上重演了。”

如果SDN基础设施的部署无视安全,企业就难免会受到攻击。让我们来看看每一层如何会被攻击以及如何最好地采取保护措施把。

数据层(南向)

一些南向API和协议被控制器用来网络上沟通,如OpenFlow(OF),OpenvSwitch数据库管理协议(OVSDB),思科onePK,应用中心基础设施(ACI),等等。

上述每种协议都有自己的方式确保通信,但这些都是新的,可能没有充分考虑过安全性。

使用API来创建更加用户友好的管理界面的能力,增加了网络基础设施的攻击面,因为安全不再局限于网络设备供应商,MWR InfoSecurity的高级安全研究员和顾问David Chismon说。

“你的网络的安全性可能会由于不安全的执行管理应用程序而受挫。”他说。

这可以让攻击者很容易地添加自己的流到flow table,并欺骗原本在网络上不允许的流量。

保护数据层

SDN系统通常使用通用的基于x86的系统和TLS以加强控制面板的安全,但长期而言,会使数据面板易于受到攻击。

“控制协议流量应从主要数据流分离,或者通过网络安全措施或一个带外网络。” Chismon说。“企业选择控制器的时候应注重安全选项的可用性因素(如SSL)。”

使用TLS(需要SSL)来验证控制器和终端将有助于防止窃听、伪造南向连接通信。

控制层

SDN控制器也是黑客们感兴趣的攻击目标。“强大的中央集中式的SDN模型,即SDN控制器,也代表一个单点故障和高价值的攻击目标。”Wedge Networks(稳捷网络)首席执行官兼云以太网论坛安全倡议联合主席张鸿文表示说。

“如果他们可以妥协的话,他们就可以开始直接影响到网络上的流量。”

Juniper网络营销服务提供商的负责人David Noguer Bau表示说,网络组件现已从控制器向命令开放,这可能是应对网络罪犯的方式。

“潜在的攻击者可以尝试控制网络,假装是一个SDN控制器或刚刚突破到控制器本身。”他说。“还有一些新类型的DDoS攻击,试图通过找到自动化的进程占用大量的CPU周期,利用SDN基础设施潜在的缩放限制。”

保护控制层

为强化面向公众的Linux服务器安全的最佳方案,可以适用于这种情况,Chismon说。但是,企业可能还是需要监督控制器的可疑活动。

对于SDN控制网络的访问应被控制,以防止发生未经授权的活动。管理员被建议建立基于角色的访问控制(RBAC)政策,以及审计跟踪,以查看未经授权的针对控制器的更改。

高可用性控制器架构可以在一定程度上通过使用冗余控制器,以弥补其他控制器的损失减轻DDoS攻击。

Fortinet公司SDN安全专家Ronen Shpirer表示:“在网络的集中决策点,首要关键点是要确保架构内的SDN控制器的安全。强大的访问控制是必需的,沿着信任区域分割。DDoS防护,防病毒和其他威胁的预防、以及缓解技术都是必须的。”

应用程序层(北向)

北向的协议和API也是攻击目标,其中有许多来自黑客。这些API使用Java,JSON和Python等等,并且攻击者可以通过利用任何漏洞获得对SDN的基础设施的控制权。因此,北向的API安全是必须的,否则,SDN管理政策可以被攻击者创建,以便采取控制。

在这样的API上只使用默认密码将使得黑客能够轻易猜到密码,然后创建数据包转发到控制器的管理界面,以确定该SDN网络的结构,甚至建立他们自己的网络。

“最常见的挑战是确保有一个地方,以免受黑客攻击验证应用程序的访问控制平面和防止这种身份验证的应用程序的机制,”Riverbed的Lees说。

保护应用层

使用TLS或SSH以确保北向通信的安全被认为是最佳做法。另一种用来帮助实现这一目的方式是确保北向应用程序的代码安全。这也意味着认证和加密方法应该被部署在所有应用程序和服务请求SDN服务和数据,以及服务于这些请求的所有控制器之间。

Extreme Networks公司解决方案架构和创新的副总裁Markus Nispel说:“最终用户应该利用相关的SDN功能,以引入新的安全功能,集成到无处不在的网络。他们应该在保护控制器;以及控制器和应用程序之间的通信的北向API侧的的安全配置给予更多的关注。”

SDN是否可以提高安全性?

一些分析师认为,SDN非但不会造成安全问题,反而有助于提升整个企业的安全。

“这些解决方案的安全性在实质上是有重大改善的,因为有了这些覆盖方案,使得定义一个虚拟的网络架构,以准确反映应用程序的逻辑结构,让所有的应用程序快均反映到一个虚拟网络成为可能。” 451研究所的研究总监彼得·克里斯蒂表示。

有了这些虚拟的网络,各部分之间的合适与不合适的通信可以清楚的定义,而私人网络与其他网络通信的规则也能够被精确的定义和明确的规则。“而这些在传统的网络架构都是不可能实现的。”克里斯蒂说。

预计未来的可能威胁

想要精确的预测黑客将如何以SDN为目标进行攻击是很难的。毕竟,SDN基础设施的部署仍然很新,其控制器和协议也是如此。我们只能猜测攻击者会如何攻击。利用相关的安全测试,我们只有把自己放在网络犯罪的环境下,才可以看到其中的漏洞存在于哪些位置。

随着企业开始掌握相关的部署技术,从一开始就充分考虑到SDN的安全是非常重要的。如果在SDN部署完成事后才这样做,北向和南向的流量容易造成各处所提供的服务的问 题。因此把事情从一开始就处理好就会帮助企业避免后续发展中的许多问题。