我们计划将我们的生产networking从无VLANconfiguration迁移到标记VLAN(802.1q)configuration。 该图总结了计划的configuration:

一个重要的细节是,这些主机中的大部分实际上是单个裸机上的虚拟机。 实际上,唯一的物理机器是DB01,DB02,防火墙和交换机。 所有其他机器将在单个主机上虚拟化。
一个令人担忧的问题是,这种方法是复杂的( 过于复杂的暗示),并且由于“VLAN跳变很容易”,VLAN仅仅提供安全的错觉。
考虑到由于虚拟化而将多个VLAN用于单个物理交换机端口,这是否是一个有效的问题? 我如何正确设置我的VLAN来防止这种风险?
另外,我听说VMWare ESX有一些名为“虚拟交换机”的东西。 这对于VMWarepipe理程序是独一无二的吗? 如果没有,是否可以使用KVM(我select的计划pipe理程序)? 这是如何发挥作用的?
除了为什么人们告诉我不要使用VLAN来保证安全? 这里有一些更具体和一般的要考虑的部分:
关于安全的一般思考
最安全的系统是每个子网的主机都连接到一个交换机,其中的交换机具有与连接设备相同的端口数量。 在这样的configuration中,你不能将随机机器插入你的安全networking,因为这样做需要拔掉一些东西(理论上你的监控系统会注意到这一点)。
VLAN在安全性方面给你类似的东西,把你的交换机分成更小的虚拟交换机(虚拟局域网:VLAN),这些虚拟交换机在逻辑上相互隔离,并且适当的configuration可以在连接到它们的所有系统上看起来好像它们是物理的孤立。
关于相对安全的VLAN设置的一般想法
我的VLAN交换机的实践是,所有的通信都必须分配给一个VLAN,具有以下基本configuration:
将所有未使用的端口分配给“未使用”的VLAN。
所有连接到特定计算机的端口都应该被本地分配到计算机应该在的VLAN中。这些端口应该在一个且只有一个 VLAN中(禁止某些我们现在将忽略的exception)。
在这些端口上,所有进入的数据包(到交换机)都被标记为本地VLAN,并且(来自交换机的) 外出数据包将(a)仅从分配的vlan发出,并且(b)不被标记,并且与任何常规的以太网包。
唯一应该是“VLAN中继”(在多个VLAN中的端口)的端口是中继端口 – 在交换机之间传输stream量的端口,或者连接到将单独分离VLANstream量的防火墙。
在Trunk端口上,进入交换机的vlan标签将被尊重,vlan标签将不会从离开交换机的数据包中剥离。
上述configuration意味着您唯一可以轻松注入“VLAN跳转”stream量的地方就是在一个中继端口上(禁止交换机VLAN实施中的软件问题),就像在“最安全”的情况下一样,这意味着要拔掉某些东西重要并造成监控报警。 同样,如果您拔下一台主机连接到它所在的监控系统中的VLAN,应该注意到主机的神秘消失并提醒您。
在这两种情况下,我们都在讨论涉及对服务器进行物理访问的攻击 – 虽然可能不是完全不可能中断VLAN隔离,但是在如上所述的环境中设置环境至less是非常困难的。
关于VMWare和VLAN安全性的具体思考
VMWare虚拟交换机可以分配给一个VLAN – 当这些虚拟交换机连接到VMWare主机上的物理接口时,任何发出的stream量都将具有相应的VLAN标签。
您的VMWare机器的物理接口需要连接到VLAN中继端口(携带需要访问的VLAN)。
在这种情况下,注意VMWare将pipe理网卡与虚拟机网卡分离的最佳实践是非常重要的:您的pipe理网卡应连接到相应VLAN中的本机端口,并且您的虚拟机网卡应连接到具有虚拟机所需的VLAN(理想情况下不应携带VMWarepipe理VLAN)。
在实践中实施这种分离,与我所提到的项目以及我相信别人会提出的项目相一致,将产生一个相当安全的环境。
当且仅当非法设备被允许在没有vlan标签的中继上转发数据包时,VLan跳变是容易的。
在以下情况下这是最常见的。 您的“正常”stream量未被标记; 你有一个“安全”的VLAN标签。 由于“普通”networking上的机器可以传输未经过标记检查的数据包(最常见的情况是接入交换机),因此数据包可能具有虚假vlan标记,从而跳到vlan上。
防止这种情况的简单方法是:所有stream量都由接入交换机标记(防火墙/路由器可能是一个例外,具体取决于您的networkingconfiguration情况)。 如果“正常”stream量被接入交换机标记,那么stream氓客户伪造的任何标签将被接入交换机丢弃(因为该端口不能访问该标签)。
简而言之,如果您使用vlan标记,则必须在中继线中标记所有内容以确保其安全。
从虚拟环境中进行相当数量的渗透testing,我会添加这两个项目来观察:
按照真实的环境规划虚拟环境 – 因为您在现实世界中引入的任何结构或体系结构脆弱性都可以很好地转化为虚拟世界。
正确地获得您的虚拟configuration – 我pipe理到虚拟机或LPAR的所有成功渗透的99%都是通过configuration错误或重用凭据。
而在技术上不太重要的地方,也要考虑职责的分离 。 networking团队,服务器团队等可能已经处理了一个团队。 你的审计师可能会觉得这很重要!