防火墙入侵与检测 day06 防火墙虚拟系统

Posted 果子哥丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防火墙入侵与检测 day06 防火墙虚拟系统相关的知识,希望对你有一定的参考价值。

防火墙虚拟系统

描述虚拟系统的应用场景
描述虚拟系统的基本原理
配置防火墙虚拟系统
掌握虚拟系统的故障排除方法

 

虚拟系统简介

虚拟系统概述
虚拟系统(Virtual System)是在一台物理设备上划分出的多台相互独立的逻辑设备。每个虚拟系统相当于一台真实的设备,有自己的接口、地址集、用户/组、路由表项以及策略,并可通过虚拟系统管理员进行配置和管理。

虚拟系统特点:

  • 管理独立
  • 表项独立
  • 资源固定
  • 流量隔离

虚拟系统使得虚拟防火墙具有自己独立的软件资源,如会话表数、策略数、用户数等等,这样就不用去争抢公共的资源。并且具有自己独立的账号和管理界面,很多配置都可以在虚拟系统下配置完成,而不需要在根系统下配置。

 

虚拟系统实现原理


NGFW上存在两种类型的虚拟系统:
根系统(public)

  • 根系统是防火墙上缺省存在的一个特殊的虚拟系统。即使虚拟系统功能未启用,根系统也依然存在。此时,管理员对防火墙进行配置等同于对根系统进行配置。启用虚拟系统功能后,根系统会继承先前防火墙上的配置。
  • 在虚拟系统这个特性中,根系统的作用是管理其他虚拟系统,并为虚拟系统间的通信提供服务。

虚拟系统(VSYS)

  • 虚拟系统是在防火墙上划分出来的、独立运行的逻辑设备。

为了实现每个虚拟系统的业务都能够做到正确转发、独立管理、相互隔离,防火墙主要实现了几个方面的虚拟化:

  • 资源虚拟化:每个虚拟系统都有独享的资源,包括接口、VLAN、策略和会话等。根系统管理员分配给每个虚拟系统,由各个虚拟系统自行管理和使用。
  • 配置虚拟化:每个虚拟系统都拥有独立的虚拟系统管理员和配置界面,每个虚拟系统管理员只能管理自己所属的虚拟系统。
  • 安全功能虚拟化:每个虚拟系统都可以配置独立的安全策略及其他安全功能,只有属于该虚拟系统的报文才会受到这些配置的影响。
  • 路由虚拟化:每个虚拟系统都拥有各自的路由表,相互独立隔离。目前仅支持静态路由的虚拟化。

通过以上几个方面的虚拟化,当创建虚拟系统之后,每个虚拟系统的管理员都像在使用一台独占的设备。

资源分配
合理地分配资源可以对单个虚拟系统的资源进行约束,避免因某个虚拟系统占用过多的资源,导致其他虚拟系统无法获取资源、业务无法正常运行的情况。

NGFW资源分配支持定额分配或手工分配,其他的资源项则是各个虚拟系统一起共享抢占。
定额分配

  • 此类资源直接由系统按照规格自动进行分配。
  • 资源列表:SSL VPN虚拟网关,安全区域。

手工分配

  • 此类资源由用户通过命令行或Web界面中的资源类手动分配。
  • 资源列表:接口,VLAN,公网IP,IPv4会话数,IPv6会话数,IPv4新建会话速率,IPv6新建会话速率,在线用户数,SSL VPN并发用户数,用户数,用户组,安全组数,策略数,带宽。

手工分配资源时可配置保证值和最大值

  • 保证值:虚拟系统可使用某项资源的最小数量。这部分资源一旦分配给虚拟系统,就被该虚拟系统独占。
  • 最大值:虚拟系统可使用某项资源的最大数量。虚拟系统可使用的资源能否达到最大值视其他虚拟系统对该项资源的使用情况而定。

共享抢占资源:地址和地址组,地区和地区组,自定义服务和自定义服务组,自定义应用和自定义应用组,NAT地址池,时间段,带宽通道,静态路由条目,各种表项,如Server-map表、IP-MAC地址绑定表、ARP表、MAC地址表等。

 

虚拟系统分流

用于确定报文与虚拟系统归属关系的过程称为分流。
通过分流能将进入设备的报文送入正确的虚拟系统处理。
防火墙支持基于接口分流和基于VLAN分流两种分流方式。

  • 基于接口的分流方式:接口工作在三层。
  • 基于VLAN的分流方式:接口工作在二层。

FW上未配置虚拟系统时,报文进入防火墙后直接根据根系统的策略和表项(会话表、MAC地址表、路由表等)对其进行处理。
FW上配置了虚拟系统时,每个虚拟系统都相当于一台独立的设备,仅依据虚拟系统内的策略和表项对报文进行处理。因此,报文进入防火墙后,首先要确定报文与虚拟系统的归属关系,以决定其进入哪个虚拟系统进行处理。我们将确定报文与虚拟系统归属关系的过程称为分流。
 

基于接口的虚拟系统分流

将接口与虚拟系统绑定后,从此接口接收到的报文都会被认为属于该虚拟系统,并根据该虚拟系统的配置进行处理。

虚拟系统VSYSA、VSYSB、VSYSC有专属的内网接口GigabitEthernet 1/0/1、GigabitEthernet 1/0/2、GigabitEthernet 1/0/3。GigabitEthernet 1/0/1、GigabitEthernet 1/0/2、GigabitEthernet 1/0/3接收到的报文经过分流,将分别送入VSYSA、VSYSB、VSYSC进行路由查找和策略处理。

基于VLAN的虚拟系统分流

将VLAN与虚拟系统绑定后,该VLAN内的报文都将被送入与其绑定的虚拟系统进行处理。

防火墙的内网接口GigabitEthernet 1/0/1为Trunk接口,并允许VLAN10、VLAN20和VLAN30的报文通过。VLAN10、VLAN20、VLAN30分别绑定虚拟系统VSYSA、VSYSB和VSYSC。对于GigabitEthernet 1/0/1接收到的报文,防火墙会根据报文帧头部的VLAN Tag确定报文所属的VLAN,再根据VLAN与虚拟系统的绑定关系,将报文引入相应的虚拟系统。
报文进入虚拟系统后,根据该虚拟系统的MAC地址表查询到出接口,确定报文出入接口的域间关系,再根据配置的域间策略对报文进行转发或丢弃。
 

虚拟系统互访

虚拟系统互访 – 虚拟接口

虚拟接口是创建虚拟系统时系统自动为其创建的一个逻辑接口,作为虚拟系统自身与其他虚拟系统之间通信的接口。

虚拟系统之间通过虚拟接口实现互访。
虚拟接口的链路层和协议层始终是UP的。虚拟接口可以不配置IP地址,但必须要加入安全区域,否则无法正常工作。
虚拟接口名的格式为“Virtual-if+接口号”,根系统的虚拟接口名为Virtual-if0,其他虚拟系统的Virtual-if接口号从1开始,根据系统中接口号占用情况自动分配。
各个虚拟系统以及根系统的虚拟接口之间默认通过一条“虚拟链路”连接。如果将虚拟系统、根系统都视为独立的设备,将虚拟接口视为设备之间通信的接口,通过将虚拟接口加入安全区域并按照配置一般设备间互访的思路配置路由和策略,就能实现虚拟系统和根系统的互访、虚拟系统之间的互访。

虚拟系统互访 – 虚拟系统访问根系统


虚拟系统vsysa下10.3.0.0/24网段的用户通过根系统的公网接口GE1/0/1访问Internet服务器3.3.3.3。

  • 客户端向服务器发起连接。
  • 首包到达防火墙后,基于接口分流,被送入虚拟系统vsysa。vsysa按照防火墙转发流程对报文进行处理,包括匹配黑名单、查找路由、做NAT、匹配安全策略等等。如果vsysa不允许转发报文,则丢弃报文,流程结束;如果vsysa允许转发报文,则将报文送入根系统中处理。同时,vsysa会为这条连接建立会话。
  • 根系统的虚拟接口Virtual-if0收到报文后,根系统按照防火墙转发流程对报文进行处理,包括匹配黑名单、查找路由、做NAT、匹配安全策略等等。如果根系统不允许转发报文,则丢弃报文,流程结束;如果根系统允许转发报文,则将报文发往服务器。同时,根系统会为这条连接建立如下会话。
  • 报文经过路由转发后,到达目的服务器。
  • 回程报文到达防火墙根系统后匹配会话表转发到虚拟系统A,虚拟系统A上必须要有内网的路由。根系统中不需要针对服务器回应的报文配置回程路由。服务器回应的报文在根系统中匹配会话表后,直接发送到虚拟系统中处理。

虚拟系统互访 – 根系统访问虚拟系统


公网用户通过根系统的公网接口GE1/0/1访问虚拟系统vsysa下的服务器。
该场景是根系统向虚拟系统发起访问。报文先进入根系统处理,然后再进入虚拟系统处理。虚拟系统、根系统下的处理方式和虚拟系统访问根系统时基本相同。
此处也需要注意,虚拟系统中不需要针对服务器回应的报文配置回程路由。服务器回应的报文在虚拟系统中匹配会话表后,直接发送到根系统中处理。

虚拟系统互访 – 虚拟系统间的互访


虚拟系统之间默认是互相隔离的,不同虚拟系统下的主机不能通信。如果两个虚拟系统下主机有通信需求,就需要配置策略和路由,使不同虚拟系统能够互访。
通过配置虚拟系统间互访,虚拟系统vsysa下10.3.0.0/24网段的用户可以访问虚拟系统vsysb下服务器10.3.1.3。

该场景是虚拟系统vsysa向虚拟系统vsysb发起访问。报文先进入虚拟系统vsysa,虚拟系统vsysa按照防火墙转发流程对报文进行处理。然后报文进入虚拟系统vsysb,虚拟系统vsysb再次按照防火墙转发流程对报文进行处理。具体过程如下:

  • 客户端向服务器发起连接。
  • 首包到达防火墙后,基于接口分流,被送入虚拟系统vsysa。vsysa按照防火墙转发流程对报文进行处理,包括匹配黑名单、查找路由、做NAT、匹配安全策略等等。如果vsysa不允许转发报文,则丢弃报文,流程结束;如果vsysa允许转发报文,则将报文送入vsysb中处理。同时,vsysa会为这条连接建立会话。
  • vsysb的虚拟接口Virtual-if2收到报文后,vsysb按照防火墙转发流程对报文进行处理,包括匹配黑名单、查找路由、做NAT、匹配安全策略等等。如果vsysb不允许转发报文,则丢弃报文,流程结束;如果vsysb允许转发报文,则将报文发往服务器。同时,vsysb会为这条连接建立会话。
  • 报文经过路由转发后,到达目的服务器。

因为两个虚拟系统都需要按照防火墙转发流程对报文进行处理,所以两个虚拟系统中要分别完成策略、路由等配置。

 

虚拟系统配置部署


在命令行界面,可执行以下命令在系统视图下使能虚拟系统:
[USG6000]vsys enable

在命令行界面,进入系统视图下新建资源类,并进入资源类视图。
resource-class resource-class-name    //进入资源类视图
在资源类中规划资源项的保证值和最大值(保证值是指虚拟系统可使用某项资源的最小数量,这部分资源一旦分配给虚拟系统,就被该虚拟系统独占;最大值是指虚拟系统可使用某项资源的最大数量,虚拟系统可使用的资源能否达到最大值视其他虚拟系统使用该项资源的情况而定)。
resource-item-limit session reserved-number ipv4-session-reserved-number [ maximum  ipv4-session-maximum-number | equal-to-reserved | unlimited  ]  //指定IPv4会话的最大值和保证值
resource-item-limit session-rate ipv4-session-rate-maximum-number    //指定IPv4新建会话速率的最大值
resource-item-limit policy reserved-number policy-reserved-number    //指定策略的保证值
resource-item-limit online-user  reserved-number online-user-reserved-number | maximum online-user-maximum-number     //指定在线用户的保证值和最大值 仅USG6000和NGFW Module支持
resource-item-limit ssl-vpn-concurrent reserved-number ssl-vpn-concurrent-reserved-number    //指定SSL VPN并发用户的保证值 仅USG6000和NGFW Module支持
resource-item-limit user reserved-number user-reserved-number    //指定用户的保证值
resource-item-limit user-group reserved-number user-group-reserved-number    //指定用户组的保证值
resource-item-limit security-group reserved-number security-group-reserved-number    //指定安全组的保证值
resource-item-limit bandwidth bandwidth  entire | inbound | outbound     //指定最大带宽

选择“系统 > 虚拟系统 > 虚拟系统”。单击“新建”,选择“基础配置”页签,配置各项参数。 
在命令行界面,可执行以下命令创建虚拟系统并为其分配资源:
[USG6000]vsys name vsys-name      //创建虚拟系统,并进入虚拟系统的管理视图
[USG6000-vsys-name]assign resource-class resource-class-name  //为虚拟系统分配资源类


根据实际组网规划,为虚拟系统分配接口或VLAN。
选择“接口分配及公共接口设定”页签,为虚拟系统分配接口。
可分配的接口包括未被其他虚拟系统使用的三层以太网接口、子接口。
在命令行界面,可执行以下命令在虚拟系统视图下配置接口资源:
         [USG6000-vsys-name]assign interface interface-type interface-number   //为虚拟系统分配接口资源
配置带宽管理时,需要在根系统下将接口设置为公共接口,以统计虚拟系统的流量。
接口分配完成后,可在接口右侧点击“启用为公共接口”选项设置接口为公网接口。

选择“VLAN分配”页签,为虚拟系统分配VLAN。
VLAN中包含的二层接口或VLANIF会随VLAN分配给相应的虚拟系统。
在命令行界面,可执行以下命令在虚拟系统视图下分配VLAN资源:
         [USG6000-vsys-name]assign vlan vlan-id   //为虚拟系统分配VLAN资源


选择“公网IP配置”页签,为虚拟系统分配公网IP地址。
虚拟系统被分配的公网IP地址被应用在NAT、NAT Server和接口的公网IP地址。
“独占以下IP地址范围”表示公网IP地址分配给某个虚拟系统后,不能再分配给其它的虚拟系统。
“共享以下IP地址范围”表示公网IP地址分配给虚拟系统后,还可以再次分配给其它虚拟系统。
公网IP地址被分配给虚拟系统后,无论使用的是独占模式还是共享模式,根系统中都不能再使用该公网IP地址。
在命令行界面,可执行以下命令在虚拟系统视图下配置公网IP地址:
         [USG6000-vsys-name]assign global-ip start-address end-address  exclusive | free    //为虚拟系统分配公网IP地址
公网IP地址被分配给虚拟系统后,无论使用的是exclusive模式还是free模式,根系统中都不能再使用该公网IP地址。

配置案例1

★配置案例2

[USG6000V1-GigabitEthernet0/0/0]ip add 192.168.250.1 24
[USG6000V1-GigabitEthernet0/0/0]service-manage enable
[USG6000V1-GigabitEthernet0/0/0]service-manage https permit

R1:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 1.1.1.2 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 13.1.1.254 24

[R1]ip route-static 0.0.0.0 0 1.1.1.1

Web

1.启动虚拟系统功能
2.新建虚拟系统 vsysa vsysb
3.划分接口到对应的虚拟系统
g1/0/1 是 vsysa
g1/0/2 是 vsysb

4.在 public下 配置 虚拟防火墙的接口地址
vsysa

vsysb

5.Virtual-if1和2
在虚拟系统上配置
虚拟系统vsysa :Virtual-if1是非信任区域

虚拟系统vsysb :Virtual-if2是非信任区域

根系统上的配置
Virtual-if0是信任区域,g1/0/0是非信任区域

6.资源类配置
[FW1]vsys enable
[FW1]vsys name vsysa
[FW1-vsys-vsysa]assign resource-class r0
[FW1]vsys name vsysb
[FW1-vsys-vsysb]assign resource-class r0

7.路由
vsysa

vsysb

根系统上 配置到目的虚拟路由器 vsysa vsysb的两条静态路由

8.策略
根墙上

虚拟防火墙vsysa 和 虚拟防火墙vsysb

命令行

1.创建虚拟系统
vsys enable
#
vsys name vsysa 1
 assign interface GigabitEthernet1/0/1
 assign resource-class r0
#
vsys name vsysb 2
 assign interface GigabitEthernet1/0/2
 assign resource-class r0
#

2.配置IP和划分区域
switch vsys vsysa/vsysb
firewall zone trust
add int g1/0/1 或 g1/0/2
firewall zone untrust
add int virtual-if 1 或 virtual-if 2

3.配置路由
根墙
ip route-static 10.1.1.0 255.255.255.0 vpn-instance vsysa
ip route-static 11.1.1.0 255.255.255.0 vpn-instance vsysb
ip route-static 13.1.1.0 255.255.255.0 1.1.1.2

虚墙vsysa和vsysb:
ip route-static 0.0.0.0 0.0.0.0 public

R1:
ip route-static 0.0.0.0 0.0.0.0 1.1.1.1


4.安全策略 
根墙
security-policy
 rule name pc12_pc3_policy
  source-zone trust
  source-zone untrust
  destination-zone trust
  destination-zone untrust
  service icmp
  action permit

虚墙 switch vsys vssa/vssb
security-policy
 rule name pc12_pc3_policy
  source-zone trust
  source-zone untrust
  destination-zone trust
  destination-zone untrust
  service icmp
  action permit

 

排障总结

  • 若创建虚拟系统出现故障,一般是License未激活。
  • 分配接口未成功,一般是接口被加入到了其他虚拟系统或者是二层接口。
  • 当进行虚拟系统间互访时,需要配置从虚拟防火墙入接口到virtualif接口的安全策略,且虚拟接口一定要加域。
  • 虚拟防火墙上需要配置到public的路由。
  • 根墙同样也需要配置路由到对应的vpn-instance中。
  • 接口被加入其他虚拟系统导致分配接口失败,只需将接口从其他虚拟系统移除,重新分配即可。
  • 二层接口不能加入虚拟系统的问题可采用将对应vlan加入虚拟系统的办法实现。

 

额外知识:GRE隧道传输

GRE是明文传输

1.R1配置直连路由
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 110.1.1.2 24
[R1-GigabitEthernet0/0/1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip add 202.1.1.2 24

2.建立安全区域
FW1/FW2:
firewall zone trust
 add interface GigabitEthernet1/0/0
#
firewall zone untrust
 add interface GigabitEthernet1/0/1
#


3.防火墙配置路由,为了保证公网时间可达
运营商肯定能保证公网可达,但我们这里用静态路由
[FW1]ip route-static 202.1.1.0 24 110.1.1.2
[FW2]ip route-static 110.1.1.0 24 202.1.1.2

4.建立隧道
[FW1]int Tunnel 1
[FW1-Tunnel1]ip add 192.168.12.1 24
[FW1-Tunnel1]tunnel-protocol gre
[FW1-Tunnel1]source 110.1.1.1
[FW1-Tunnel1]destination 202.1.1.1

FW2:
interface Tunnel1
 ip address 192.168.12.2 255.255.255.0
 tunnel-protocol gre
 source 202.1.1.1
 destination 110.1.1.1


5.将隧道口划分到 非信任区域
[FW1]firewall zone untrust 
[FW1-zone-untrust]add int Tunnel 1

[FW2]firewall zone untrust 
[FW2-zone-untrust]add int Tunnel 1


6.配置gre策略,放行流量
GRE策略配置,放行GRE协议报文
FW1/FW2
security-policy
 rule name gre_policy
  source-zone local
  source-zone untrust
  destination-zone local
  destination-zone untrust
  service protocol 47
  action permit

放行流量
security-policy
 rule name pc_policy
  source-zone trust
  source-zone untrust
  destination-zone trust
  destination-zone untrust
  service icmp
  action permit

7.防火墙配置GRE路由
[FW1]ip route-static 172.16.1.0 24 Tunnel 1
[FW2]ip route-static 10.1.1.0 24 Tunnel 1

以上是关于防火墙入侵与检测 day06 防火墙虚拟系统的主要内容,如果未能解决你的问题,请参考以下文章

IDS笔记

IDS与IPS功能分析

网络安全与防御

防火墙和系统安全防护和优化

防火墙虚拟系统

[10]系统安全与保密性设计