一、防火墙简介
防火墙 (Firewall) 是网络互联的设备,用于控制网络之间的通信,外部网络用户的访问必须先经过安全策略过滤,目前市面上的NGFW(下一代防火墙)具备安全策略配置、NAT、IPS、WAF、SSL VPN、IPSec VPN等功能,但同时开启多个功能会造成性能下降。一般大型网络IPS、WAF等均为独立部署,防火墙仅做安全隔离。
防火墙从包过滤防火墙发展起经历了状态检测、统一威胁管理、NGFW等到AI防火墙,有以下特点:
访问控制越来越精细
防护能力越来越强
性能越来越高
防火墙发展历程图
二、安全区域
安全区域(Security zone):它是一个或多个接口的集合,是防火墙区别于路由器的主要特性。防火墙通过安全区域来划分网络、标识报文流动的“路线”,当报文在不同的安全区域之间流动时,才会触发安全检查。
安全区域分为预定义安全区域和自定义安全区域,所有的安全区域按照安全级别的不同从1到100划分优先级数字越大表示优先级越高。
华为防火墙确认已创建四个区域,untrust、dmz、trust和local区域。
安全区域有以下特性:
默认的安全区域不能删除,也不允许修改安全优先级。
每个Zone都必须设置一个安全优先级(Priority),值越大,则Zone的安全优先级越高。
用户可根据自己的需求创建自定义的Zone。
区域名称 | 默认安全优先级 | 说明 |
非受信区域(untrust) | 低安全级别区域,优先级为5。 | 通常用于定义internet等不安全的网络, |
非军事化区域(dmz) | 中等安全级别区域,优先级为50 | 通常用于定义内网服务器所在区域。 |
受信区域(trust) | 较高安全级别区域,优先级为85。 | 通常用于定义内网终端用户所在区域。 |
本地区域(local) | Local区域定义的是设备本身,例如设备的接口。Local区域是最高安全级别区域,优先级为100。 | 设备本身,包括设备的各接口本身 |
重点:华为防火墙默认提供安全区域(预定义区域):
报文从低级别的安全区域向高级别安全区域流动时为入方向(Inbound)
报文从高级别的安全区域向低级别安全区域流动时为出方向(Outbound)
自定义安全区域可以自定义名称和安全级别但不能与默认安全区域名称及优先级重复。
三、安全策略
安全策略是防火墙的核心特性,作用是对通过设备的数据流进行检测,只有符合安全策略的合法流量才能通过设备转发。同一个安全区域下的数据流动被认为不存在安全风险,无需通过安全策略控制。不同区域下的网络缺省情况是隔离的,需要通过安全策略放行。
安全策略的组成有匹配条件、动作和安全配置文件(可选)。安全配置文件实现内容安全。
安全策略动作如果为“允许”则可配置安全配置文件,如果为“禁止”则可配置反馈报文。
安全策略匹配过程
当配置多条安全策略规则时,安全策略的匹配按照策略列表的顺序执行,即从策略列表顶端开始逐条向下匹配。如果流量匹配了某个安全策略,将不再进行下一个策略的匹配。
安全策略的配置顺序很重要,需要先配置条件精确的策略,再配置宽泛的策略。
四、会话机制
会话是通信双方的连接在防火墙上的具体表现,代表两者的连接状态,一条会话就表示通信双方的一个链接。防火墙上多条会话的集合就叫做会话表(Session Table)。
在防火墙上通过 display firewall session table verbose命令可以显示会话表详细信息。
<FW> display firewall session table verbose
Current Total Sessions :1
icmp VPN:public .> public lD: a58f3fe91023015aa15344e75b
Zone:local-->trust TTL:00:00:20 Left: 00:00:09*
Interface: GigabitEthernet0/0/0 NextHop: 10.0.0.2 MAC: 4437-e697-78fe
<packets:3 bytes:252 >packets:3 bytes:252
10.0.0.1:2049 [1.1.1.1:21071-->20.0.0.1:80
会话表中各个字段含义:
current total sessions:当前会话表数统计;0
telnet:协议名称,举例中为telnet;0
VPN:public-->public: VPN实例名称,表示方式为:源方向-->目的方向;口10.0.0.1:2049-->20.0.0.1:80:会话表信息。0display firewall session table verbose命令输出信息描述:Current Total Sessions:当前会话表数统计;0
lcmp:协议名称,举例中为icmp;0
VPN:public-->public: VPN实例名称,表示方式为:源方向-->目的方向;
ID:当前会话ID;0
Zone: local--> trust:会话的安全区域,表示方式为:源安全区域-->目的安全0区域;
TTL:该会话表项总的生存时间:0
Left:该会话表项剩余生存时间:0
Interface:正向报文的出接口;0
NextHop:正向报文的下一跳IP地址。
五、会话表
会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。
防火墙采用了基于“状态”的报文控制机制:只对首包或者少量报文进行检测就确定一条连接的状态,大量报文直接根据所属连接的状态进行控制。这种状态检测机制迅速提高了防火墙的检测和转发效率。会话表就是为了记录连接的状态而存在的。设备在转发TCP、UDP和ICMP报文时都需要查询会话表,来判断该报文所属的连接并采取相应的处理措施。
会话表的创建和包处理过程
防火墙状态检测开启情况下,流量的首包会创建会话表项,后续包即可直接匹配会话表项。
六、防火墙的配置
6.1重点命令:
firewall zone XXX //进入安全区域(XXX根据题目填写)
add interface GigabitEthernet XXX //将XXX接口加入XXX区域
Security-policy //进入安全策略配置
rule name XXX //安全策略名称(一般不考)
source-zone XXX //安全策略源区域(根据题目写出源区域)
destination-zone XXX //安全策略目的区域(根据题目写目的区域)
service protocol XXX //放行哪些协议
action permit //配置动作(一般考试会考permit允许,默认策略是拒绝)
大家可能会有疑惑之前介绍的Inbound和Outbound在哪里配置,其实目前华为防火墙版本配置已经不使用这两个命令了,直接配置源安全区域和目的安全区域防火墙就能识别区域之间的流向了。
使用Inbound和Outbound命令配置策略的命令:
policy interzone trust untrust inbound //untrust是源,trust是目的(低优先级向高优先级)
6.2安全策略配置
FW1的G0/0/1接口在trust区域
FW1的G0/0/2接口的untrust区域
PC1的网关IP为FW的G0/0/1接口IP,PC2的网关IP为G0/0/2接口IP。
配置思路:
1.配置基本的 IP 地址和所属安全区域。
2.配置域间安全策略。
3.PC1 与 PC2 的网关需要配置为防火墙对应同网段的接口 IP 地址。
配置步骤:
步骤 1 完成 FW1 上下行业务接口的配置。配置各接口IP 地址并加入相应安全区域。
[FW1] interface G0/0/1
[FW1-GigabitEthernet0/0/1] ip address 10.1.0.1 255.255.255.0
[FW1-GigabitEthernet0/0/1] quit
[FW1] interface G0/0/2
[FW1-GigabitEthernet0/0/2]ip address 10.2.0.1 255.255.255.0
[FW1-GigabitEthernet0/0/2] quit
[FW1] firewall zone trust
[FW1-zone-trust] add interface G0/0/1
[FW1-zone-trust] quit
[FW1] firewall zone untrust
[FW1-zone-untrust] add interface G0/0/2
[FW1-zone-untrust] quit
步骤 2 配置 trust 区域和 untrust 区域的域间转发策略。
[FW1] security-policy //进入安全策略配置
[FW1-policy-security] rule name policy_sec //配置策略名称
[FW1-policy-security-rule-policy_sec] source-zone trust //源区域trust
[FW1-policy-security-rule-policy sec] destination-zone untrust //目的区域untrust
[FW1-policy-security-rule-policy sec] action permit //允许
[FW1-policy-security-rule-policy_sec] quit
此实验没有放行具体协议和IP,如需要放行具体协议在安全策略配置视图下:输入Service引用服务或者Service Protocol引用协议
七、软考真题
2024年5月网络工程师:
考试拓扑图
问题1:为实现NGFW-2与NGFW-1、CORE-2正常建立OSPF邻居关系,实现路由全收敛,网络工程师对NGFW-2进行相关配置,请补充完善下列由trust到local的配置。
[NGFW-2]firewall zone trust
[NGFW-2-zone-trust]add interface GigabitEthernet0/0/1
[NGFW-2-zone-trust]add interface GigabitEthernet0/0/2
[NGFW-2]security-policy
[NGFW-2-policy-security]rule name policy1
[NGFW-2-policy-security-rule-policy1]source-zone trust
[NGFW-2-policy-security-rule-policy1]destination-zone(1)
[NGFW-2-policy-security-rule-policy1]source-address(2)
[NGFW-2-policy-security-rule-policy1]service protocol(3)
[NGFW-2-policy-security-rule-policy1]action(4)
【参考答案】(1)Local (2)10.0.0.0 29 (3)89 (4)Permit
【解析】(1)根据题目写出目的安全区域名称(2)有两个地址需要包含10.0.0.2/30 10.0.0.6/30,汇总完成后10.0.0.0 29(3)由于放行的OSPF流量需要写协议号,OSPF协议号是89(4)动作为放行
网络类型 | Hello | DD | LSR | LSU | LSAck | 需要安全策略 |
Broadcast | 组播 | 单播 | 单播 | 组播 | 组播 | 是 |
P2P | 组播 | 组播 | 组播 | 组播 | 组播 | 否 |
NBMA | 单播 | 单播 | 单播 | 单播 | 单播 | 是 |
P2MP | 组播 | 单播 | 单播 | 单播 | 单播 | 是 |
不同OSPF网络类型对于安全策略放行的需求
问题2:网络工程师收到故障报告,某终端用户可成功获取IP地址,正常访问校内业务,却无法访问Internet.在该终端上路由跟踪测试,可正常至NGFW-2,于是在终端上进行ping 114.114.114.114测试,结果显示“请求超时”,同时在NGFW-2查看到如下会话:
请分析该故障的原因并提出解决措施。
【解析】内网用户域为trust,外网为untrust域这个应该必须知道的,在防火墙会话表中可以看到trust到untrust的安全策略已经命中,源IP是10.21.0.2一个私网IP,结合拓扑图中防火墙在出口,私网IP在访问外网时需要做NAT,在会话表中没有看到NAT转换信息。所以故障原因应该是防火墙没有配置NAT转换,解决方案就是配置NAT转换策略。