软件定义网络(SDN)旨在将现代网络和数据中心变成可以根据不断变化的业务需求进行快速重新配置的高度敏捷的框架结构。尽管SDN对于公众来讲还比较陌生,但实际上几乎所有的组织都在制定这方面的计划,以适应这个号称可以通过对包括带宽分配在内的每个网络服务实现按需供应,将服务器虚拟化和云计算效率扩展到前所未有高度的最终架构的转变。
不过,许多的组织也认识到,高度移动的工作负载和自动配置的应用程序以及服务,意味着通讯能见度的损失,并且还在损失了性能优化功能的同时,削弱了安全性。然而,在谨慎中进步总是必要的,因为前所未有的效率和规模效应,云计算和向SDN的迁移一定是大势所趋。要实现尽可能的平滑迁移,并确保安全不被弱化,最重要的是要采取一些基本的步骤,其中设备对于网络通讯总体可持续的能见度是重中之重。
那么究竟什么是SDN?
SDN架构实现了将控制层和数据层的分离或分隔。由此产生的是一种可以查看控制框架并且提供单一逻辑抽象网络的高度可编程和可伸缩的架构。
在这种架构中,编排和提供的服务更容易通过一致而自动应用的预期配置进行管理。这种新型的网络架构使底层硬件基础设施的规模、灵活性以及可选择性都达到了前所未有的全新水平。除了显著节省了资产成本和运营成本,SDN架构还在几乎没有任何破坏和开销的情况下刺激了创新,适应了迅速变化的需要。
开放网络基金会推出的SDN架构图
那么又该如何区分云安全和SDN安全呢?
在实际中,人们常常把云安全问题和SDN安全问题相提并论,那是因为云计算框架的关键支撑,即服务器和存储的虚拟化,与SDN使用了一些相同的概念。而事实上对于云来讲,有着与SDN完全不同的安全挑战,在此有必要做一下总结说明。
云安全问题
首先,非常重要的一点是,云经常会以虚拟化计算和存储为核心。在虚拟化设计中,虚拟化工作负载或虚拟机取代物理服务器,只须点点鼠标就可以进行服务器的分配、设置和操作。威睿公司(VMWare)的ESX、思杰公司(Citrix)的XEN和微软公司的Hyper V都是支撑服务器虚拟化的虚拟机监控程序。云计算框架有三种不同的配置形态:私有云、公共云和混合云。
私有云全部是部署在组织内部及可控范围内的服务器和存储虚拟化。这意味着组织或公司对云框架拥有所有权,对其安全负责。这里的安全问题一般是一个虚拟机感染了恶意软件,而当该虚拟机在数据中心中进行移动、变更或重新分配时,造成共享相同主机的其他虚拟机被感染。
传统安全设备无法“看到”恶意软件在虚拟机之间的传播,因为虚拟机之间的通讯主要都是在虚拟网段进行的。在这种情况下,就要使地面网络上的安全设备实现虚拟化通讯的可视化,以及在建立访问控制时实现特定的或有目的的虚拟化。
公共云归提供云访问共享框架租赁服务的企业所有,如亚马逊AWS、微软Azure等。这里的安全问题一般是用户隔离方面的问题。因为众多组织的工作负载和资产都托管给了云服务提供商,任何疏忽造成的用户访问界限不清、用户访问权限交叉都会构成风险。
这里的安全控制主要就是针对两件事:对云服务提供商托管的工作负载进行访问控制,并要求供应商服务平面协议提供通讯能见度和托管资源的安全控制。
混合云或许是最常见的框架。大多数组织和企业有一些工作负载是以虚拟机的形式承载和实现的,同时,还会有一些工作负载会放在公共云上,这就形成了一种公共云和私有云同时存在的“混合云”框架结构。
混合云的安全机制当然也要遵守上述建议,不过也要密切关注市场选择,因为市场瞬息万变。目前混合云的可见性和安全控制框架还需要拼凑一些技术,但这么大的一个市场需求,必定会出现一些统一的和专业的供应商。有趣的是,在新兴领域还有一些采用叠加的技术。混合云的利益相关者需要对市场动向保持警惕,尤其是在向到SDN迁移的时候。
SDN安全问题
前面我们说过,SDN不仅仅是对服务器的虚拟化,而且对网络基础设施和管理的方方面面都进行了虚拟化。SDN所涉及到的安全问题除了网络基础设施,还扩展到了包括控制平面和数据平面在内的很多方面。
举例来说,如果攻击者能够接管控制平面或SDN控制器,从本质上讲,他们将会拥有整个网络及其所有包含在内的基础设施的所有权,可以说是拥有了无限大的权限。感染了数据平面理论上能够以更快的速度进行传播,因为SDN比服务器虚拟化的部署更普遍。控制平面和数据平面之间的通讯困难和混乱也有可能为攻击者使用新方法攻破网络外围创造漏洞。
说到如何构建安全的SDN,早就有了详细的架构指南,部分原因是现有的供应商和开源组织有许多不同的方法来实现SDN。这里的关键是确保所有网络的可见性,包括传统网络、虚拟化网络和软件定义网络。理解这些网络类型之间的通讯流,将确保盲点得到纠正,瓶颈得以最迅速的方式解决。
这种“可见性”跨越所有网络和工作负载类型,以确保可见视图的普遍性和持续性。这就是为什么可见性所提供的不是一个点解决方案,而是一套可以和虚拟化相提并论的架构层。
可见性在SDN中的作用
网络的可见性是在地面网络中的一个基本元素,并且在高度动态的SDN架构中变得更加重要。然而,SDN失去网络可见性并不会阻碍公司的前进步伐。提供可见性构造的公司已经与标准社区和主要的SDN架构供应商走在了一起,以确保应用程序在SDN迁移过程中及迁移完成后的性能和安全得到维护。
加速SDN可见性构造
可见性构造实质上使网络(包括SDN)实现可见,作为一个普遍的层,将通信流的视图结合在物理和虚拟网络段。具体地讲,网络可见性提供通讯流的详细信息和在这些网络至关重要的数据包:
监控SDN网络本身的状态
监控SDN可用的应用程序
确保维护安全
私有云或SDN环境安全交付平台的可见性架构实现
无论选择的SDN架构是建立在OpenFlow,还是建立在类似VMWare的NSX和思科ACI或是某个其他框架的网络虚拟化上,上面的关键需求依然存在。在SDN中,控制和转发层虽然实现了独立管理,但还需要功能的结合。由于网络延迟或供应商网络基础设施差异会引起的这些层之间的同步问题,会造成瓶颈和破坏。
当谈到SDN应用程序和服务,按需供应的好处是不可否认的。但这种动态配置会导致不可预测的通讯模式,使得通过将性能管理工具放置在网络中可预见的地方的传统方法很难解决。
SDN当中的通讯可见性需要常数化,并且要将工具集中,以便得到通所有的通讯流和数据包。类似的逻辑也同样适用于对安全的需求。而安全设备可以放在传统网络的重要网段,在SDN中是站不住脚的。对于所有内部SDN通讯的集中布置和总体访问,给安全和性能管理技术提供了最好的统计嵌入恶意软件和异常模式出现的机会。