虚拟DMZ的云配置需要特定的安全策略。专家Dejan Lukan分析了不同种类的虚拟DMZ及它们与物理DMZ的差别。
DMZ,或非军事区,是一个主机或小型网络,主要用来将网络隔离成多个区域来加强安全性的设置。这个名词来源于军事用语,是指两个国家之间一块禁止军事活动的区域。DMZ主要用来在对外提供安全的HTTP、FTP、SSH、SMTP等服务的同时将他们保护在内网中。
网络隔离技术有很多种,包括:
物理网络隔离:在两个DMZ之间配置一个网络,让其中的通信只能经由一个安全装置实现。在这个安全装置里面,防火墙及IDS/IPS规则会监控信息包来确认是否接收或拒绝它进入内网。这种技术是最安全但也最昂贵的,因为它需要许多物理设备来将网络分隔成多个区块。
逻辑网络隔离:这个技术借由虚拟/逻辑设备,而不是物理的设备来隔离不同网段的通信。
虚拟局域网(VLAN):VLAN工作在第二层,与一个广播区域中拥有相同VLAN标签的接口交互,而一个交换机上的所有接口都默认在同一个广播区域。支持VLAN的交换机可以借由使用VLAN标签的方式将预定义的端口保留在各自的广播区域中,从而建立多重的逻辑分隔网络。
虚拟路由和转发:这个技术工作在第三层,允许多个路由表同时共存在同一个路由器上,用一台设备实现网络的分区。
多协议标签交换(MPLS):MPLS工作在第三层,使用标签而不是保存在路由表里的网络地址来转发数据包。标签是用来辨认数据包将被转发到的某个远程节点。
虚拟交换机:虚拟交换机可以用来将一个网络与另一个网络分隔开来。它类似于物理交换机,都是用来转发数据包,但是用软件来实现,所以不需要额外的硬件。
虚拟DMZ
VMware的《在VMware基础架构中实现DMZ虚拟化》白皮书指出,一个虚拟化的DMZ提供了与物理DMZ同样程度的安全性,从而生成一个同样安全的虚拟DMZ网络。在过去几年中,虚拟化技术的使用有着长足的增长;虚拟机(VM)现在已经可以代替物理服务器。同样的趋势也发生在DMZ领域上,为了让网络保持正确的隔离及安全性,物理DMZ正在不断被虚拟DMZ替代着。
《在VMware基础架构中实现DMZ虚拟化》提供了现今常用的三种典型的虚拟化DMZ配置:
部分紧缩的DMZ加独立物理信任区:每一区都是与别的区在物理上分隔开,而主机是虚拟机。这个DMZ配置与物理DMZ是一模一样的,只不过网络分隔是在物理网络上实现,而不是在虚拟基础架构上。
部分紧缩的DMZ加虚拟分隔信任区:不同区域是由虚拟化分隔的,但是在同一个物理ESX主机上。每个DMZ使用独立的虚拟交换机来确保所有连到虚拟交换机上的主机是与其他区域的主机隔离开的。不同的DMZ之间的通信仍然经由连到ESX主机的物理网络发生。
完全紧缩的DMZ:在这个场景下,整个DMZ都是虚拟化的,包括虚拟机和交换机,这样的结果使得不同DMZ之间的通信无法离开ESX主机。
为了保持安全可信的环境,我们必须解决虚拟DMZ网络可能存在的各种安全漏洞。以下列举一些常见的安全漏洞:
管理程序主机入侵:ESX主机上的每个虚拟机都有独立的虚拟网卡连接到与内网分离的虚拟交换机上。这种类型的配置很安全,不同安全区域之间是无法通信的,所以被入侵的虚拟机不能被用来转接一台内部虚拟机。但易受攻击的ESX主机却可以被利用来获得主机的权限,这让攻击者可以直接访问主机及所有配置的虚拟机。Immunity Inc. 在2008年开发了一个能够从突破虚拟机的牢笼并侵入整个主机的Cloudburst攻击矢量。这种攻击在过去只发生过几次,现在已经修复了,但要防备这种攻击,定期更新虚拟机软件来达到最高安全级别是很重要的。
虚拟网卡的配置:一个放置在错误的虚拟交换机上的网卡可以导致攻击者取得平常存放在不同且独立的DMZ中的敏感资讯。为了预防此种错误配置,在设置虚拟机时要特别小心。这种错误同样可以轻易的发生在物理网络上,当线路被插在错误的物理交换机时,所以这个并不是虚拟DMZ环境所独有的问题。
访问服务控制台/VMkernel:如果一个服务控制台或VMkernel可以从DMZ网络访问的话,攻击者可以用暴力或字典攻击来取得密码,进而取得主机中所有虚拟机的权限。当使用ESX时,管理界面必须要正确的分配在有至少一个专用网卡的专属虚拟交换机来保持独立,当然如果有多个专用网卡可以故障转移就更好。要防止这种攻击,属于DMZ里的虚拟机绝对不能和服务控制台或VMkernel在同一个虚拟交换机上,因为DMZ里被侵入的虚拟机可以被攻击者用来取得主机里所有虚拟机的权限。
网络附加存储(NAS):网络附加存储应该要连接在自己专用的虚拟交换机上,这样它就无法使DMZ里被入侵的虚拟机访问。这更进一步的防止网络被常用在NAS上的ISCSI/NFS协议的攻击。
数据链路层保护:每个虚拟交换机都应该配置成能侦测及抵抗例如MAC欺骗,中间人攻击和混杂模式的第二层攻击,这样能强化整体的网络安全。
虚拟机资源限制:每个虚拟机都必须有一定的分配资源才能适当的保护网络不受拒绝服务(DoS)攻击。一个攻击者如果有了DMZ网络中一台虚拟机的权限,他便可以发出CPU密集操作,占据大部分的主机资源,使得其他的虚拟机都无法得到资源。这种问题可以很轻易的预防,只要进行适当的资源限制,让每个虚拟机都有一定比例的可用资源。每个虚拟交换机也应该有多个独立网卡来对网络通信进行负载平衡,以避免拥堵。
独立虚拟交换机上的DMZ:DMZ可以用2种方式创建,一种是将虚拟机放在独立的虚拟交换机上,另一种是在同一个虚拟交换机上使用多个虚拟局域网。第一种方式是比较好的,因为独立的虚拟交换机使用分别的独立网卡,所以物理上将虚拟内网及虚拟外网的通信分开。如果虚拟外网的一个虚拟机想要与内网虚拟机沟通,通信必须经由物理路由器和独立网卡中的防火墙来决定允许或拒绝。
虚拟DMZ配置检查:虚拟DMZ网络的每个部分都应该适当的定期检查来保持最佳的安全实践。
用户权限配置:每个管理员都应该属于不同的用户组,依照最低权限的原则,这样能将配置错误的影响最小化。
结论
虚拟DMZ安全与物理DMZ安全之间存在一些差异。在配置一个逻辑网络隔离时有许多技术可以选择,而每种都会使用虚拟交换机的实现。每种技术隐含着各自的安全问题,这需要用安全的虚拟分隔的DMZ网络来解决。通过正确的处理针对虚拟DMZ的各种安全担忧,实现一个与物理DMZ同等安全的虚拟DMZ网络是完全有可能的。最终,通过使用物理DMZ或者虚拟DMZ,我们可以完成网络隔离这一项重要的任务。