朱洪武
(西南民族大学信息与教育技术中心,四川 成都 610041)
随着云计算的大规模普及,大量公司和高校已经将传统的数据中心改造为基于虚拟化技术的软件定义数据中心(SDDC).如今的虚拟化,已经不仅是服务器的虚拟化,网络虚拟化、存储虚拟化、桌面虚拟化以及安全虚拟化等虚拟化技术及其衍生产品已经接踵而至,在我们的生产生活中发挥着巨大作用.虚拟化技术已经成为软件定义数据中心的灵魂.使用虚拟化技术,可以更快、更灵活地实现业务的开展和支持;可以随着业务需求的变更,动态地实现资源的调配;此外,还能避免硬件设备的重复投资建设.
以作者所在的高校为例,学校几年前就将传统数据中心全面改造为基于VMware虚拟化技术的软件定义数据中心.虚拟化云计算基础平台实现了服务业务模块化、需求自主化、管理一体化和资源使用计量管理.学校协同办公、电子邮件、财务查询等各大核心业务均由数据中心提供支撑,同时,又不断有新业务在数据中心上线,数据中心的业务负载和复杂度直线上升.数据中心的稳定运行就至关重要,特别是数据中心的业务数据安全,更是重中之重[1].
网络的安全威胁,主要来自于黑客攻击、病毒入侵、恶意用户和用户的误操作.传统的数据中心通常预先规划好网络拓扑结构,划分好VLAN,利用不同的物理网络来区分不同的业务.业务的重要程度不同,对应的安全级别也不同.传统的数据中心一般认为安全威胁来自于网络外部,数据中心内部相对安全.如图1所示,通常只在对外的边界上设置防火墙,抵御外部的攻击.在边界防火墙上设置大量规则,针对每一个独立应用,关闭其不需要的端口,防止被外部攻击.而在数据中心内的网络设备管控上,通常不采取措施.
图1 传统数据中心安全边界Fig.1 Traditional data center security boundary
这是因为,如果要防范数据中心内部不同的业务系统之间的安全威胁,就需要在数据中心内额外配置防火墙,这将是一笔巨大的开销.并且,系统管理人员对防火墙的维护也是相当的繁琐.此外,当业务状况进行调整,不同业务对应的服务器的流量访问发生改变,就需要重新配置网络和防火墙.如果数据中心内部没有按照业务的需求进行东西向流量的隔离,当一个安全性较低的服务器被攻击并感染上木马或者病毒后,就会迅速感染数据中心内部其他服务器,学校的教学和科研将受到影响.
传统网络架构下,东西向流量之间配置防火墙繁琐、费时.在虚拟化网络中,NSX通过软件配置就能实现这个功能,大大节省了人力和财力.传统物理网络通过网段或者VLAN隔离不同网络,也仅仅能做到物理服务器之间隔离,同一台服务器上的虚机之间没法做到隔离.公安部2017年颁布的《信息安全技术网络安全等级保护基本要求第2部分:云计算安全扩展要求》(等保2.0)中明确提到:要求云租户能够实现虚拟机之间的安全隔离、安全策略能跟随虚拟机进行迁移等一些列针对云计算、虚拟化环境的安全要求.不具备网络虚拟化功能的数据中心很难解决上诉问题.[2-10]
基于云计算的网络虚拟化NSX,在云环境中提供了一个安全的虚拟化网络,将各业务、各虚拟机和物理网络隔离开.并且,将传统的网络功能转变为利用软件的方式实现,从而提供了转发效率,减少发夹弯流量,提升端到端的安全防护.NSX在整个数据中心的物理网络设备上,构建一个虚拟化交换机,所有的虚拟机通过虚拟网卡连接在这个虚拟交换机上,而这个虚拟交换机横跨整个集群所有物理服务器.我们把NSX构建的这个虚拟交换机称之为分布式交换机(Distributed Switch).NSX在虚拟网络上可以提供常规的路由器、负载均衡和防火墙功能外,还能提供传统物理网络所不能实现或不容易现实的一些网络安全功能.在安全联动方面,NSX提供了安全标准接口,可供第三方安全产品接入,为无代理杀毒等安全解决方案提供了平台保障.
NSX在已有的VLAN隔离的基础上,提出了“微分段”的概念.如图2所示,采用微分段模式,可以为一台虚拟服务器或多台虚拟服务器定义一个安全组,在安全组之间构建防火墙,设置防火墙安全策略.这样,就能真正做到虚拟服务器与虚拟服务器之间的隔离,精细度更高.还能限制任意两台虚拟服务器之间的访问,只允许授信虚拟服务器之间互访.NSX的微分段是等保2.0的最佳解决方案.
图2 微分段安全组隔离Fig.2 micro-section security group isolation
NSX微分段能够得以实现虚拟机级别的安全防护,正是依赖其构建在分布式交换机的分布式防火墙.分布式防火墙部署在数据中心的虚拟化层ESXi上,和每一台虚拟服务器的虚拟网卡相连,做到了集中管理、分布处理,实现了虚拟网卡级别的最细化的安全管控.
我们利用NSX为虚拟服务器设置安全组,将具有相同业务的虚拟服务器归属到同一个安全组,再针对安全组之间的数据往来要求,配置相应的防火墙安全规则,就能实现虚拟服务器之间的隔离.并且,安全组的规划具有动态性,可以根据虚拟服务器名字或者标签的变化,动态增减组内的虚拟服务器,虚拟服务器之间的安全隔离和安全策略也能跟随虚拟服务器进行迁移,满足云计算和虚拟化环境的安全要求[11].
当前云环境下,在同一台计算主机上,有四台虚拟服务器,其中有两台服务器用于学校在线课程,一台为在线课程登录播放系统,IP地址:10.240.6.150,一台为在线课程数字资源数据库,IP地址:10.240.6.151.另外两台服务器是学校保卫处使用,一台为监控录像的查询系统,IP地址:10.240.6.152,一台为监控录像存储的数据库,IP地址:10.240.6.153.四台虚拟服务器都关联到vCloudvRA-V76分段,处于同一VLAN.由于业务需求,在线课程登录播放服务器和在线课程数字资源服务器需要发布到公网,提供给所有需要进行在线学习的教师和学生使用.而保卫处的监控查询和录像存储服务器不需要发布到公网,只在校园网内提供给有权限的人员使用.处于公网环境下的服务器,相对于校园网环境下的服务器,面临着更多的网络安全威胁,更容易由于系统本身漏洞或者黑客攻击等行为,感染病毒或者木马.如果基于传统的网络安全架构,处于同一网段的这四台虚拟服务器通常没有进行隔离,一旦公网服务器被病毒感染,很容易就会导致同网段的其他虚拟服务器也被病毒感染.
利用NSX的微分段,我们可以较容易地将在线学习平台的服务器和保卫处的监控录像平台的服务器隔离,禁止两个不同业务之间的服务器互相访问,提高虚拟机的安全性,将威胁降到最低.
我们在NSX平台上,找到这两个业务的四台虚拟服务器,四台服务器处在同一个VLAN中.为了便于对它们进行业务的区分,可以将四台服务器分别添加安全标记.如图3所示,属于在线课程业务的两台虚拟机添加的标记为:在线课程,属于校园监控业务的两台服务器添加的标记为:校园监控.为虚拟机添加标记的好处在于,当某一个业务有多台虚拟机,并且虚拟机的名称并不都是容易识别的中文,可以通过添加标记的方式,方便地定位该业务的所有虚拟机.并且,当一个业务由于扩展的需要,进行二期甚至三期项目建设,我们也可以通过标记,将不同时期创建的虚拟机进行更细致地区别.
图3 虚拟服务器标记Fig.3 tags of virtual machines
为虚拟服务器添加标记后,我们就可以对NSX平台纳管的所有虚拟服务器进行安全组的划分.我们创建了“在线课程安全组”和“校园监控安全组”.其中,“在线课程安全组”成组条件为:虚拟机标记=“在线课程”,“校园监控安全组”的成组条件为:虚拟机标记=“校园监控”.如图4所示,这四台虚拟服务器就分别属于两个不同的安全组.
图4 NSX安全组Fig.4 security groups in NSX
NSX为创建安全组提供了多种成组条件,我们还可以根据虚拟服务器的名字和操作系统组成不同的安全组.如果是要根据业务的不同,进行细致隔离,我觉得用标记最方便和直观.
我们利用NSX提供的微分段,是为了隔离在线课程业务和校园监控业务之间的互相通信,所以,我们需要配置一个分布式防火墙策略,禁止“在线课程安全组”和“校园监控安全组”之间互相通信.如图5所示,我们新建一个防火墙策略,策略名称为“在线课程与校园监控”,在此策略下,建立两个规则.规则1:通信源为校园监控安全组,通信目标为在线课程安全组,拒绝源到目标的任意服务的通信.规则2:通信源为在线课程安全组,通信目标为校园监控安全组,拒绝源到目标的任意服务的通信.
图5 安全组防火墙策略Fig.5 firewall policies for security groups
如图6所示,同时启用防火墙两个规则,并发布生效后,两个安全组之间的虚拟服务器相互通信就被立刻禁止,关闭规则后,安全组之间的通信恢复.整个过程中,同一个安全组内的虚拟服务器之间的通信不受影响.
图6 两个安全组之间的通信情况Fig.6 communication between two security groups
如果只生效规则1,则为校园监控安全组到在线课程安全组的单向通信禁止,如果只生效规则2,则为在线课程安全组到校园监控安全组的单向通信禁止.我们可以根据业务的需求和调整,在NSX的管理界面进行动态切换.相对于登录到防火墙后台进行设置,可读性和易用性均有了大幅度的提高[12].
如果后期业务扩大,需要增加新的服务器,我们只需要将新创建的服务器添加对应的标记,该服务器立刻便能加入对应的安全组.基于此安全组的防火墙策略也立即对此虚拟服务器生效.如图7所示,我们添加一台操作系统为CentOS7.6的在线课程备用服务器,IP地址:10.240.6.154,添加“在线课程”标记,此服务器自动加入了“在线课程安全组”,应用了之前启用的防火墙策略,被禁止与“校园监控安全组”之间的相互通信.
图7 新建虚拟机自动加入安全组应用防火墙策略Fig.7 new virtual machine automatically joins security group and applies firewall policy
利用NSX虚拟网络提供的微分段,我们可以非常轻松的对同一个VLAN下的不同虚拟服务器进行隔离.而在传统网络中,是很难实现精细度如此高的隔离,即便能够做到,也需要大量的硬件设备和逻辑上的网段划分.采用物理手段实现的隔离,对于后期服务器的管理和维护都是一个非常沉重的负担,对服务器管理人员也非常不友好.此外,NSX提供的安全标记,还为后期虚拟服务器和第三方安全产品之间提供了一个标准的组件.比如,我们可以基于这样的安全标记,实现虚拟服务器和防病毒软件的无代理杀毒,实现低资源占用的自动化安全防护等.NSX还有很多的安全功能,亟待云计算平台的运维管理人员去发掘.熟悉并合理使用NSX的安全防护功能,能保证数据中心的虚拟服务器高效、稳定地运行,保障教学、科研工作持续稳定地开展.