论文部分内容阅读
扁平网络(Flat network)是当前业界的热门话题。由于其可以使设备和端点之间实现更直接的通信,因此无论是速度还是性能都要胜过传统分层网络。同时,扁平网络还适用于高度虚拟化的环境,并为虚拟化技术所特有的功能实现(如虚拟机迁移)提供了便利。
不过,扁平网络概念收到热捧的同时,也带来了一个安全难题:如何兼顾网络的高性能和低风险。要知道,扁平网络去除了三层网络分割界限。而长期以来,我们一直使用这种分割界限来区隔流量并提供深层防御机制。
如今大多数企业网络都被划分成了众多的虚拟局域网(VLAN),每个VLAN代表一个子网。建立VLAN的目的是打破广播域(broadcast domain),对设备进行逻辑分组,并且方便在不同子网之间实施各不相同的访问控制机制。这些内容对网管员是非常有用的。现在已经有很多方法可以确定设备与VLAN的归属关系:既可以按照类型来分隔设备,把所有服务器放到一个或多个VLAN中,也可以按照楼层或者建筑的物理位置来分隔设备。
除了划定不同访问机制外,把设备分隔到不同子网/VLAN中的另一个好处是,这为网络管理员提供了上下文线索,以便了解网络上系统的运行状况。比如,网管员可以将某个VLAN划分为专门为无线连接使用。这种归类有助于排除故障、优化网络及其他常见任务。此外,作为两种最常见的网络过滤控制机制,基本的防火墙和访问控制列表(ACL)通常 基于IP地址等三层网络参数。数据流从某个IP地址或某组地址发来,传送到某个IP地址或某组地址去。安全策略和系统需求规定了过滤规则,而这些规则则负责对数据流进行允许或禁止通过操作。
以上描述的是传统分层网络的优势。不过,由于消除了子网的划定,因此在扁平网络中,我们会把更多设备放在同一个子网上,这就等于网管员失去了一个安全层划分机制。
在本文中,我们要谈到的是,IT部门其实可以采用二层控制机制,对网络流量保持有效的分隔,在物理网络和依赖虚拟网络接口的虚拟化环境中都能做到这点。这些控制机制包括:VLAN访问控制列表、私有虚拟局域网(PVLAN)和二层防火墙。此外,通过使用端口配置文件和可运用于虚拟机的安全区也可以达到风险控制的目的。
VACL很有用
改用更扁平的网络架构也许能够提高企业网络的速度,但是由于其涉及一种全然不同的设计策略,因此在很多方面同以往相比都是颠覆性的。比如,VLAN不会消失,也不会从多层体系结构中完全移除,但更多设备都会在同一个子网中运行,VLAN的使用将受到限制。比如在三层网络模型中,你可能会把Web服务器和数据库系统放在两个不同的子网中,这两个子网之间的网络流量经由防火墙来传送。而在扁平网络的二层模型中,可能我们需要把所有主机都放在一个子网上。不过,由于实施了控制机制,在扁平网络中,只有被许可的流量才能经过每个系统来传送。
可供使用的第一个控制机制是VLAN访问控制列表(VACL)。VACL同传统的三层/四层ACL没有太大区别,不过在扁平网络中,其还可以用在二层的物理交换/路由设备上。这就意味着,VACL可以过滤同一个VLAN上多个设备之间桥接的流量,而不一定只被用于进出VLAN的路由流量。IT部门可以定义VACL来阻止特定类型的流量(UDP、TCP等)或端口,VACL就能有目的性地阻止进出各个主机的流量。根据网管员的要求不同,VACL可以与特定的接口联系起来,或者更广泛地用于整个VLAN。这意味着,我们可以实施最小权限概念——比如说,允许来自一台Web服务器的流量通过特定的端口与必要的数据库系统进行联系,同时阻止流量进入到同一个子网上其他毫无关联的服务器。
不过,正确实施VACL需要深入了解主机的数据流动和网络通信要求。如果VACL定义得不合适,设备之间反而可能会出现多余的通信流量。另一方面,如果VACL设置得过于严格,设备可能无法与被许可系统进行通信。
流量控制保安全
在扁平网络中,物理交换机/路由器层的私有虚拟局域网(PVLAN)会将系统规划为三种类型中的一种,每一种都有各自的流量控制属性:混杂端口(promiscuous port)、社区端口(community port)和隔离端口(isolated port)。
使用混杂端口的PVLAN通常用于某个子网的网关,其可以自由地访问PVLAN上的其他接口。使用社区端口的PVLAN允许与各个端点和PVLAN上的混杂端口进行通信,对于某一个网段上需要互相通信的一组服务器(比如一组Web服务器和一台数据库服务器)来说,社区端口是很好的选择。使用隔离端口的PVLAN实施的控制最严格,只允许设备与PVLAN上的混杂端口进行联系。
PVLAN对二层流量通常提供了笼统的分隔,而不是精细的控制。其可被用于支持深层防御,并且打破子网广播域。另外,如果需要更特定的访问配置文件,PVLAN还可以与VACL配合使用。
二层防火墙提供了与VACL相似的功能,不过其在结构上更为清晰。高级防火墙产品(比如Palo Alto Networks的防火墙)支持这种功能:在同一个VLAN上的两个或多个接口之间进行实际交换,并检查通过这条路径传送的流量。这种方案的优点是,其充分利用了企业级防火墙的功能,并且提供了一条清晰的路径,把控制机制集成到一致的防火墙策略中。不过,就像每个完美的产品一样,其惟一的缺点就是价格昂贵。由于端口密度方面有要求,加上每个物理接口成本高,其实施起来费用高昂。
真正的二层防火墙相当少见,其可以作为在同一子网上不同物理交换机之间的过滤层,对企业很有意义。
需要注意的是,添加任何二层控制机制都会为整个网络引入另一种异构环境,这很有可能对整个网络造成破坏。在这种情况下,内网主机访问不了的原因会很多,防火墙、主机适配器、应用程序进程和网络都有可能出现问题。
我们说过扁平网络可能会让网络速度更快,但没有说其可以简化你的工作。
不过,扁平网络概念收到热捧的同时,也带来了一个安全难题:如何兼顾网络的高性能和低风险。要知道,扁平网络去除了三层网络分割界限。而长期以来,我们一直使用这种分割界限来区隔流量并提供深层防御机制。
如今大多数企业网络都被划分成了众多的虚拟局域网(VLAN),每个VLAN代表一个子网。建立VLAN的目的是打破广播域(broadcast domain),对设备进行逻辑分组,并且方便在不同子网之间实施各不相同的访问控制机制。这些内容对网管员是非常有用的。现在已经有很多方法可以确定设备与VLAN的归属关系:既可以按照类型来分隔设备,把所有服务器放到一个或多个VLAN中,也可以按照楼层或者建筑的物理位置来分隔设备。
除了划定不同访问机制外,把设备分隔到不同子网/VLAN中的另一个好处是,这为网络管理员提供了上下文线索,以便了解网络上系统的运行状况。比如,网管员可以将某个VLAN划分为专门为无线连接使用。这种归类有助于排除故障、优化网络及其他常见任务。此外,作为两种最常见的网络过滤控制机制,基本的防火墙和访问控制列表(ACL)通常 基于IP地址等三层网络参数。数据流从某个IP地址或某组地址发来,传送到某个IP地址或某组地址去。安全策略和系统需求规定了过滤规则,而这些规则则负责对数据流进行允许或禁止通过操作。
以上描述的是传统分层网络的优势。不过,由于消除了子网的划定,因此在扁平网络中,我们会把更多设备放在同一个子网上,这就等于网管员失去了一个安全层划分机制。
在本文中,我们要谈到的是,IT部门其实可以采用二层控制机制,对网络流量保持有效的分隔,在物理网络和依赖虚拟网络接口的虚拟化环境中都能做到这点。这些控制机制包括:VLAN访问控制列表、私有虚拟局域网(PVLAN)和二层防火墙。此外,通过使用端口配置文件和可运用于虚拟机的安全区也可以达到风险控制的目的。
VACL很有用
改用更扁平的网络架构也许能够提高企业网络的速度,但是由于其涉及一种全然不同的设计策略,因此在很多方面同以往相比都是颠覆性的。比如,VLAN不会消失,也不会从多层体系结构中完全移除,但更多设备都会在同一个子网中运行,VLAN的使用将受到限制。比如在三层网络模型中,你可能会把Web服务器和数据库系统放在两个不同的子网中,这两个子网之间的网络流量经由防火墙来传送。而在扁平网络的二层模型中,可能我们需要把所有主机都放在一个子网上。不过,由于实施了控制机制,在扁平网络中,只有被许可的流量才能经过每个系统来传送。
可供使用的第一个控制机制是VLAN访问控制列表(VACL)。VACL同传统的三层/四层ACL没有太大区别,不过在扁平网络中,其还可以用在二层的物理交换/路由设备上。这就意味着,VACL可以过滤同一个VLAN上多个设备之间桥接的流量,而不一定只被用于进出VLAN的路由流量。IT部门可以定义VACL来阻止特定类型的流量(UDP、TCP等)或端口,VACL就能有目的性地阻止进出各个主机的流量。根据网管员的要求不同,VACL可以与特定的接口联系起来,或者更广泛地用于整个VLAN。这意味着,我们可以实施最小权限概念——比如说,允许来自一台Web服务器的流量通过特定的端口与必要的数据库系统进行联系,同时阻止流量进入到同一个子网上其他毫无关联的服务器。
不过,正确实施VACL需要深入了解主机的数据流动和网络通信要求。如果VACL定义得不合适,设备之间反而可能会出现多余的通信流量。另一方面,如果VACL设置得过于严格,设备可能无法与被许可系统进行通信。
流量控制保安全
在扁平网络中,物理交换机/路由器层的私有虚拟局域网(PVLAN)会将系统规划为三种类型中的一种,每一种都有各自的流量控制属性:混杂端口(promiscuous port)、社区端口(community port)和隔离端口(isolated port)。
使用混杂端口的PVLAN通常用于某个子网的网关,其可以自由地访问PVLAN上的其他接口。使用社区端口的PVLAN允许与各个端点和PVLAN上的混杂端口进行通信,对于某一个网段上需要互相通信的一组服务器(比如一组Web服务器和一台数据库服务器)来说,社区端口是很好的选择。使用隔离端口的PVLAN实施的控制最严格,只允许设备与PVLAN上的混杂端口进行联系。
PVLAN对二层流量通常提供了笼统的分隔,而不是精细的控制。其可被用于支持深层防御,并且打破子网广播域。另外,如果需要更特定的访问配置文件,PVLAN还可以与VACL配合使用。
二层防火墙提供了与VACL相似的功能,不过其在结构上更为清晰。高级防火墙产品(比如Palo Alto Networks的防火墙)支持这种功能:在同一个VLAN上的两个或多个接口之间进行实际交换,并检查通过这条路径传送的流量。这种方案的优点是,其充分利用了企业级防火墙的功能,并且提供了一条清晰的路径,把控制机制集成到一致的防火墙策略中。不过,就像每个完美的产品一样,其惟一的缺点就是价格昂贵。由于端口密度方面有要求,加上每个物理接口成本高,其实施起来费用高昂。
真正的二层防火墙相当少见,其可以作为在同一子网上不同物理交换机之间的过滤层,对企业很有意义。
需要注意的是,添加任何二层控制机制都会为整个网络引入另一种异构环境,这很有可能对整个网络造成破坏。在这种情况下,内网主机访问不了的原因会很多,防火墙、主机适配器、应用程序进程和网络都有可能出现问题。
我们说过扁平网络可能会让网络速度更快,但没有说其可以简化你的工作。