扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在物理环境中,DMZ网络可以为内部网络和互联网提供缓冲,保证同时连接到两个网络上的服务器的安全。然而,当虚拟环境与DMZ网络架构连接时,仍然会出现新的安全问题,因此,网络管理员必须采用新的设计方法来应对这些挑战。
DMZ网络是如何支持物理环境的
作为内部网络和互联网的缓冲,DMZ网络是由防火墙保护的,它能够根据IP地址和TCP/IP端口号阻挡网络流量。
在物理环境中,服务器与一个独立的网络交换机相连,交换机由一台物理防火墙保护,防火墙再与DMZ交换机、内部网络和外部网络相连。服务器本身能够直接与DMZ连接,并且它与内部和外部网络的连接是受防火墙保护的。如果服务器受到攻击,攻击者只能访问DMZ网络,而无法绕过防火墙访问内部网络。
DMZ中的任何服务都只能与DMZ交换机相连,并且不能够同时物理连接到DMZ网络和内部网络。如果服务器同时连接这两个网络,那么它实际上就变成一个桥梁,当受到攻击时,攻击者就可以利用它绕过防火墙直接到达内部网络。然而,通过分离内部网络,DMZ网络和外部互联网都能够正常工作。
将虚拟机连接到DMZ网络的问题
虚拟化后,用DMZ网络隔离物理服务器的传统方法就无法正常生效了,其原因如下:
虚拟化是将许多虚拟服务器实例整合到一个物理服务器上。结果,一台宿主就包含了许多个不同功能和需求的虚拟机。一般情况下,一个宿主会连接多个物理网络来实现虚拟机的VLAN需求。它通常使用 802.1Q VLAN标记方法,因此在一个物理网卡上支持多个VLAN所需要的网卡就会少一些。基于最大化资源使用率的原因,虚拟化的整合率一般都比较高,因此设置专用宿主来构建DMZ环境会让虚拟化显得不划算。
物理网络扩展到了一个拥有各自虚拟网卡和交换机网络的虚拟宿主上,这个网络的管理是与物理网络是独立的。物理防火墙无法控制虚拟网络,并且流量不会离开无保护的宿主。
每一个宿主本身都拥有一个控制宿主中所有虚拟机的管理控制台——或者虚拟机。如果管理控制台受到攻击,那么宿主中所有虚拟机也会受到攻击,因此它无法连接到DMZ网络。
结果,当把虚拟环境连接到DMZ网络架构时,你需要采用一些适用于虚拟化架构的设计方法。
将虚拟机连接到DMZ网络架构的方法
有几个方法可以将宿主和虚拟机连接到DMZ网络架构上,并且它们都有一个共同点:宿主的管理控制台与内部网络连接。这似乎违反了一个基本原则,即物理服务器不能同时连接公共和私有网络,否则它就变成两种网络的开放桥梁了。虽然在运行传统操作系统的服务器上,这种做法是不允许的,但是在诸如vSphere的裸机(Type 1)虚拟机管理程序上则是可行的。
Type 1虚拟机管理程序是专门用来隔离和划分虚拟机与vSwitch的。如果一个虚拟机受到攻击,那么攻击者就能够获得虚拟机操作系统的全部访问权限。虽然他们能够在操作系统层破坏虚拟机,但是他们无法访问或破坏虚拟机管理程序而访问其他的虚拟机或宿主网络。这是经过验证的设计,VMware从未报告过ESX和ESXi虚拟机管理程序受到过此类攻击。
然而,这个管理控制台必须位于内部网络,不能位于DMZ,因为它能够访问宿主上的每一个虚拟机,这个风险非常大。
使用vSwitch管理DMZ网络的虚拟机
连接DMZ的宿主的其他部分网络架构可以采用几种不同的方式实现。在使用标记时,虚拟交换机(vSwitch)可以支持多个物理网卡和多个VLAN。一个宿主可以拥有多个vSwitch,但是物理网卡必须对应一个专用的vSwitch,而且它不能在多个网卡中共享。通常多个vSwitch会对应一个专属的宿主功能或虚拟机组。此外,vSwitch一般拥有多个物理网卡,以备故障恢复和负载均衡。
当在一个宿主上创建DMZ网络架构时,必须符合一条黄金法则:要专门使用一个vSwitch连接DMZ并且不能把它共享给任何内部VLAN。通过这种方式将DMZ流量与其本身的物理网卡隔离,这样,它就不会共享任何来自私有网络的虚拟机流量。vSwitch实际上是一个软件2层交换机,它位于宿主的RAM中,宿主的物理网卡(上行链路)与分配给虚拟机的虚拟网卡相连。每一个vSwitch之间都是相互隔离的,后台不存在连接vSwitch的链路。如果一个vSwitch的虚拟机需要连接相同宿主中另一个vSwitch的虚拟机,那么它需要经过物理网络,这样传统的物理网络安全机制就能够保护和隔离vSwitch之间的流量。通过给DMZ分配一个专用的vSwitch,你就能够使用传统的物理防火墙来保护DMZ,同时保证它与可能连接内部网络宿主的其他vSwitch是隔离的。
VLAN标记如何支持DMZ网络中多个VLAN
你可以使用vSwitch内的VLAN标记对DMZ网络进行进一步划分,从而在DMZ中实现多个VLAN。然而,有时候你也可能需要对虚拟机进行物理隔离,这样你就能够创建多个其物理网卡与DMZ网络相连接的vSwitch。因此,每一个vSwitch都能得到物理防火墙的保护;同时内部虚拟机流量会被强制通过一个物理防火墙。
所以,你在一个宿主上提供一个或多个专用的vSwitch来连接DMZ网络——你可以将整个宿主专用于只连接DMZ的虚拟机吗?如果你希望实现更优的安全和内部网络虚拟机隔离,那么你可以这样做,但是将vSwitch同时连接到同一个宿主的内部网络和外部网络也是一种常见的做法。正如我们之前介绍的,这是可以的,因为虚拟机管理程序能够隔离来自不同vSwitch的流量。下面是一个典型网络配置图,其中一台宿主连接到一个DMZ网络,它部署了独立的vSwitch来处理DMZ网络虚拟机流量、内部网虚拟机流量和管理控制台流量。
这种设计可以使你提高宿主资源使用率,因为你可能只有少数虚拟机需要连接DMZ。将整个宿主专门用来连接DMZ可能会浪费资源。每一个vSwitch都拥有自已的物理网卡,它们连接独立的物理交换机,而这些交换机通过物理防火墙与其他网络隔离。
连接互联网总是存在一定的风险,但是,如果你做出了明智的决定,那么你可以将一个宿主连接到DMZ网络。安全的DMZ网络架构必须在虚拟和物理层面上,同时包含正确的设计和安全控制。这样,你才能够安全地提高虚拟化带给DMZ环境的优势。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者