信息安全基础知识笔记09防火墙虚拟化技术基本原理(上)
信息安全基础知识笔记09防火墙虚拟化技术基本原理(上)
在企业网络中对于防火墙的要求随着业务的多样化要求也相应增多,这一部分的需求包括防火墙的可靠性,防火墙的虚拟化应用以及对用户带宽的管理控制。
本笔记主要介绍防火墙虚拟化技术,上半部分主要介绍虚拟化技术主要概念以及基本原理;阐述虚拟系统关键技术,依赖关系,资源分配以及数据转发等知识;
什么是虚拟化
防火墙的虚拟化,就是将一台物理防火墙,从逻辑上划分为多台虚拟防火墙,但是共享CPU、内存等物理资源;不同的虚拟防火墙之间,配置、转发完全隔离,从而实现功能定制、个性化管理以及资源的最大化利用。
扩展阅读:一虚多和多虚一
一虚多:一台物理机上面逻辑划分出多个虚拟机,每个虚拟机有自己的软件和硬件资源。可以提示系统资源利用率、节省硬件成本、能耗、空间等。
l 提升系统资源利用率
l 降低硬件成本
l 节省能耗、空间及管理成本
多虚一:以交换机的虚拟化为例,通过物理连线,将多个交换机堆叠成一个交换机,能提升其可靠性并降低运维成本。
l 简化运维
l 可靠性高
从VFW(虚拟防火墙)到VSYS(虚拟系统)的转变
(1)概念的转变
上一代防火墙的虚拟化是完全依赖于VPN实例实现的。vpn-instance有独立的安全区域、路由表。通过绑定不同的接口,就相当于有了一台独立的防火墙。
下一代防火墙不再是完全依赖于VPN实例,而是改为了VSYS,即Virtual-system。为什么不叫虚拟防火墙了?因为要抛弃防火墙这硬件的概念,用系统这种逻辑概念来定义防火墙的虚拟化。
Tips:作为防火墙的基本要素,能实现路由转发、能实现基于安全区域的策略配置。虚拟系统(vsys)和虚拟防火墙(vfw)均同样可以:有各自的安全区域,有各自的路由表,绑定不同的接口。
(2)可分配的资源种类提升
虚拟化就是为了让管理员觉得自己得到了一台真实的防火墙,那如何才能让管理员感受到这点呢?
在上一代防火墙上,其勉强做到有自己独立的管理员账号和独立的配置界面。但很多功能并不能在虚拟防火墙独立的配置界面下完成,而是需要在根防火墙下完成。
虚拟防火墙要有自己独立的软件资源,如会话表数、策略数、用户数等等,这样就不用去争抢公共的资源。上一代防火墙仅能分配最大带宽、会话数等少数几个资源项,而到了下一代防火墙,支持分配的资源项则是大大地丰富了。
按照前面介绍的虚拟化的概念,硬件资源的虚拟化也是很重要的部分。目前硬件资源暂时不支持虚拟化。
(3)配置策略方式的转变
相比上一代防火墙,下一代防火墙的策略配置方式有很大的不同。
以安全策略为例,上一代防火墙配置安全策略时,只能是在根防火墙中,通过指定根防火墙的安全区域和虚拟防火墙的安全区域的域间关系来配置安全策略。这样有两个弊端:
l 一是所有的策略配置只能由根系统管理员来完成;
l 二是加入虚拟防火墙后的域间关系复杂,不利于理解和配置。
下一代防火墙在配置内部安全策略时,如果是由根系统管理员来配置虚拟系统,则将VSYS1视为一台独立的防火墙,使用switch命令进入相应的虚拟系统的配置视图,然后使用和配置物理防火墙时完全一样的命令来进行配置。
这样管理员的配置思路会清晰很多,而且也不需要再记忆两套配置命令。
为了降低虚拟防火墙的配置难度,在配置VSYS和根系统root之间的安全策略时,可将虚拟系统与根系统视为两个完全独立的防火墙(可以看作是两台直连的物理防火墙),以配置独立防火墙的思路进行配置。
Tips:创建虚拟系统时系统自动为其创建的一个虚拟接口,作为虚拟系统自身与其他虚拟系统之间通信的接口。
虚拟系统的特点
l 每个虚拟系统由独立的管理员进行管理,使得多个虚拟系统的管理更加清晰简单,所以非常适合大规模的组网环境。
l 每个虚拟系统拥有独立的配置及路由表项,这使得虚拟系统下的局域网即使使用了相同的地址范围,仍然可以正常进行通信。
l 可以为每个虚拟系统分配固定的系统资源,保证不会因为一个虚拟系统的业务繁忙而影响其他虚拟系统。
l 虚拟系统之间的流量相互隔离,更加安全。在需要的时候,虚拟系统之间也可以进行安全互访。
l 虚拟系统实现了硬件资源的有效利用,节约了空间、能耗以及管理成本。
虚拟系统主要概念
(一)仍然存在的VPN实例
前面说的上一代的虚拟防火墙是完全依赖于vpn-instance实现的,而下一代防火墙的虚拟系统不再完全依赖vpn-instance实现。
但不是说下一代的虚拟系统就完全摒弃了vpn-instance。每个虚拟系统创建的时候,都会对应创建一个同名称的vpn-instance,这个vpn-instance就是为了实现各个虚拟系统之间的路由隔离的。也就是说虚拟系统在底层的转发业务上还是依赖于vpn-instance来实现,但到了上层的业务虚拟化时,就不再依赖于vpn-instance了。
扩展阅读:VPN实例
VPN实例最初的含义是实现VPN(Virtual Private Network)报文转发所需的路由、接口等信息的集合,后来在防火墙版本如USGV3R1里,演化成了虚拟防火墙,VPN实例是防火墙虚拟化的基础,一个虚拟防火墙具有一个VPN实例,一个VPN实例就是一个虚拟防火墙。它包含了路由、策略、系统管理和基本工具等子系统的克隆,是一个比较完善的逻辑防火墙。
VPN实例有VRF-ID和RD(Route Distinguisher)两个属性。VPN实例通过RD实现地址空间独立,区分不同VPN使用的相同地址前缀。资源、配置和业务基于这个ID划分实例。 VRF的全称是VPN Route Forwarding,它是一种通过路由区分以正确转发VPN报文的机制。
在下一代防火墙上,缩小了VPN实例的范畴,使其只负责网络接口、路由和转发的虚拟化,虚拟系统代替VPN实例来履行配置、上层业务等虚拟化的职责。
(二)虚拟系统关键技术
l 虚拟化的基础是资源、配置和业务的虚拟化。
l 使用ID区分是实现虚拟化的关键技术。
历史产品例如USG5500 V300R001,虚拟化时使用了VPN实例的ID来区分报文、管理员、配置等等属于哪个虚拟防火墙。NGFW上创建虚拟系统时自动生成的VPN实例的ID固定为某一段值,如下:
(三)虚拟系统依赖关系
(四)虚拟系统系统管理
防火墙存在两种虚拟系统:
l 根系统:缺省存在的一个特殊的虚拟系统,未配置其他虚拟系统时,根系统就等同于防火墙自身。
l 虚拟系统:逻辑上划分出来的虚拟设备。
根据虚拟系统的类型,管理员分为根系统管理员和虚拟系统管理员。
l 根系统管理员:配置根系统的业务创建虚拟系统,并为虚拟系统分配资源和创建虚拟系统管理员,管理虚拟系统。虚拟系统管理员用户名格式统一为“管理员名@@虚拟系统名”。
l 虚拟系统管理员:只能配置自己所管理的虚拟系统。
l 虚拟系统管理员在设置本系统时,将本系统的VSYS ID置入各业务的配置,用以区分不同虚拟系统的配置信息,即配置虚拟化。
l 虚拟系统管理员只能设置和查看本系统的配置;根系统管理员可以切换至虚拟系统来设置和查看虚拟系统的配置。
l 虚拟系统和根系统的配置分区域地保存在一个配置文件里。
(五)虚拟系统资源分配
a. 资源的定义:指业务正常运转所必需的硬件、软件表项等各种形态的计算和存储单元。
b. 关键资源的定义:包括会话、一体化策略、用户、用户组、在线用户和带宽,其他为非关键资源。
Tips:关键资源需记住有:会话数,用户数,策略数,最大带宽。
c. 虚拟系统对资源占用的两种方式:限额使用和共享抢占。
d. 限额使用分配方式:
l 手工分配限额:手工配置数量。如会话、用户、策略等。
l 自动分配限额:虚拟系统创建的时候就固定分配给虚拟系统了。如安全区域在虚拟系统创建时就固定分配8个。
e. 共享抢占资源:所有虚拟系统+根系统一起抢占,共用整机的资源。效果等同于没有做分配。如:地址和地址组、NAT地址池、时间段、各种表项等等。
虚拟系统转发
报文在入接口上被打上标记,此标记即为接口所属虚拟系统ID。通过虚拟系统ID来查找其对应的FIB表、策略或者规则等,来正确处理报文。
跨虚拟系统转发
跨虚拟系统转发主要用于不同虚拟系统管辖的网络间相互通信的场景,流量在物理防火墙内就需要完成转发,虚拟系统间报文的通信像物理防火墙之间通信一样。通过虚拟接口技术可以实现数据包跨虚拟系统的转发。
虚拟系统和根系统通过虚拟接口通信。虚拟系统间访问通过根系统中转,虚拟系统之间交互通过根系统的VIF0接口(相当于路由器)。配置时,将各个虚拟系统当成独立的设备。
创建虚拟系统时系统自动为其创建的一个虚拟接口,作为虚拟系统自身与其他虚拟系统之间通信的接口。与设备上其他的接口不同的是,虚拟接口不配置IP地址也能生效。虚拟接口名的格式为“Virtualif+接口号”,根系统的虚拟接口名为Virtualif 0,其他虚拟系统的Virtualif接口号从1开始,根据系统中接口号占用情况自动分配。
各个虚拟系统的虚拟接口和根系统的虚拟接口之间默认通过一条“虚拟链路”连接。将虚拟接口加入安全区域并按照配置一般设备间互访的思路配置路由和安全策略,就能实现虚拟系统与根系统之间的互访。
由于每个虚拟系统和根系统都是连通的,可以将根系统视为一台连接多个虚拟系统的“路由器”,通过这台“路由器”的中转,可以实现两个虚拟系统之间的互访。