一、防火墙默认的区域
防火墙是基于安全区域进行工作的安全设备。 一个安全区域是若干接口所连网络的集合,这些网络中的用户具有相同的安全属性。
通常防火墙认为在同一安全区域内部发生的数据流动是不存在安全风险的,不需要实施任何安全策略。只有当不同安全区域之间发生数据流动时,才会 触发设备的安全检查,并实施相应的安全策略。不同安全区域通过安全级别 设定,安全级别用1~100的数字表示,数字越大表示安全级别越高。系统缺 省已经创建了四个安全区域。用户可以根据需求创建新的安全区域并定义其 安全等级。安全区域创建完成后,还需要将相应接口加入安全区域。接口只 有在加入安全区域之后,从该接口接收的或发送出去的报文才会被认为属于该安全区域;否则接口默认不属于任何安全区域,将不能通过该接口与其他安全区域通信。防火墙中有一些默认的安全区域无须创建,也不能删除。用户不能改变Local区域本身的任何配置,如向其中添加接口。
区域名称 | 安全级别 | 说明 |
非 受 信 区 域 (Untrust) | 低安全级别的安 全区域,安全级 别为5 | 通常用于定义Internet等不安全的网络 |
非军事化区域 (DMZ) | 中等安全级别的 安全区域,安全 级别为50 | 通常用于定义内网服务器所在区域。所以将其 部署一个安全级别比Trust低但比Untrust高的 安全区域中 |
受 信 区 域 (Trust) | 较高安全级别的 安全区域,安全 级别为85 | 通常用于定义内网终端用户所在区域 |
本 地 区 域 (Local) | 最高安全级别的 安全区域,安全 级别为100 | Local区域定义设备本身,包括设备的各接口。 凡是由设备生成并发出的报文都认为是从 Local区域发出的,凡是需要设备响应并处理 的报文都认为是由Local区域接受的。 用户不能改变Local区域本身的任何配置,如 向其中添加接口 |
二、安全域间与方向
防火墙的安全防范能力取决于防火墙中设置的安全策略。防火墙中任意两个安全区域之间构成一个安全域间 (Interzone),防火墙的大部分安全策略都是在安全域间配置的。在同一个安全域间内转发的流量, 安全域间设置的安全策略是不起作用的。安全域间的数据流动具有方向性,包括入方向 (Inbound) 和出方向 (Outbound)。
1)入方向:数据由低优先级的安全区域向高优先级的安全区域传输。
2)出方向:数据由高优先级的安全区域向低优先级的安全区域传输。
通常情况下,安全域间的两个方向上都有信息传输。在判断方向时,以发起该条流量的第一个报文为准。例如,在Trust区域的一台主机发起向Untrust区域的某服务器的连接请求。由于Untrust区域的安全级别比Trust 区域低,所以防火墙认为这个报文属于Outbound 方向,并根据Outbound 方向上的安全策略决定是放行还是丢弃。如果这个连接能够成功建立,防火墙就会在会话表中增加一条会话记录。
会话表中记录了连接的五个基本属性:源/目的IP地址、源/目的端口号、 协议。之后匹配此会话信息的所有报文,如主机后续发给服务器的报文 和服务器返回给主机的报文,都根据会话表来进行处理,而不重新检查 安全策略。若防火墙只开放了Trust和Untrust的Outbound 方向,而关闭了Inbound 方向的安全策略,Trust 区域内的主机可以主动向Untrust区域内的主机发起连接,即使Untrust返回的报文也可以正常通过。而 Untrust区域内的主机不能主动向Trust区域内的主机发起连接,只能被 动接受Trust区域内的用户发起的连接。另外要特别注意,只有当数据在安全域间流动时,才会触发设备进行安全策略的检查。
三、配置防火墙的基本步骤
(1)防火墙中创建区域。
system-view //进入系统视图
firewall zone [name]zone-name //创建安全区域,并进入安全区域视图
set priority security-priority //为新创建的安全区域配置优先级,优先级一旦设定,不能更改
add interface interface-type interface-number //将接口加入安全区域
(2)进入安全域间视图
只有当不同安全区域之间发生数据流动时,才会触发安全检查。所以如 果想对跨安全区域的流量进行控制,需要进入安全域间并应用各种安全策略。其中方向的定义从高安全级别去往低安全级别区域的是outbound 方向,如从trust 区域去往untrust 区域的就是outbound; 反 之则是inbound 方向。
system-view // 进入系统视图
firewall interzone zone-namel zone-name2 //进入安全域间视图
在域间视图下,使用detect 协议名,对指定协议启用NATALG功能。也 可以使用aspf packet-filter ACLnumber inbound/outbound设置域间 ACL。 由于版本关系,部分版本不需要使用aspf, 直接使用packet-filter ACLnumber inbound/outbound即可设置域间ACL策略。
四、配置案例
某企业网络的拓扑如图所示,网络中部署了NGFW 作为安全网关。 使内网Trust 区域的用户可以访问外网Untrust 区域。在DMZ区域 部署了Web 服务器和FTP 服务器,这两台服务器能通过10.1.1.100地址对Untrust 区域用户提供服务。假设Untrust 区域 与防火墙对接的IP地址为10.1.1.2。如下图所示:
<NGFW>system-view
[NGFW]interface GigabitEthernet 1/0/3
[NGFW-GigabitEthernet1/0/3]ip address 10.1.3.124 //按照拓扑图配置好各个接口IP地址
[NGFW-GigabitEthernet1/0/3]quit
[NGFW]interface GigabitEthernet 1/0/1
[NGFW-GigabitEthernet1/0/1]ip address 10.1.1.124
[NGFW-GigabitEthernet1/0/1]quit
[NGFW]interface GigabitEthernet 1/0/2
[NGFW-GigabitEthernet1/0/2]ip address 10.1.2.124
[NGFW-GigabitEthernet1/0/2]quit
[NGFW]firewall zone trust //向配置好的区域中加入相应的接口
[NGFW-zone-trust]add interface GigabitEthernet 1/0/3
[NGFW-zone-trust]quit
[NGFW]firewall zone untrust
[NGFW-zone-untrust]add interface GigabitEthernet 1/0/1
[NGFW-zone-untrust]quit
[NGFW]firewall zone dmz
[NGFW-zone-dmz]add interface GigabitEthernet 1/0/2
[NGFW-zone-dmz]quit
[NGFW]security-policy
//根据拓扑和配置要求,创建Trust与Untrust域间安全策略,允许Trust区域的用户可访问Untrust
[NGFW-policy-security]rule name policy1
[NGFW-policy-security-rule-policy1]source zone trust
[NGFW-policy-security-rule-policy1]destination zone untrust
[NGFW-policy-security-rule-policy1]source-address 10.1.3.0 mask 24
[NGFW-policy-security-rule-policy1]destination-address 10.1.1.0 mask 24
[NGFW-policy-security-rule-policy1]action permit
[NGFW-policy-security-rule-policy1]quit
[NGFW-policy-security]quit
[NGFW]firewall interzone dmz untrust
[NGFW-dmz-untrust]detect ftp
//配置域间NATALG功能,使服务器可以正常对外提供FTP 服务,部分应用协议通过防火墙需要用NAT ALG功能,否则无法正常工作,如FTP
[NGFW-dmz-untrust]quit
[NGFW]nat server policyweb protocol tcp global 10.1.1.10080 inside 10.1.1.280 no-reverse //配置内部地址映射到外网地址
[NGFW]nat server policyftp protocol tcp global 10.1.1.10021 inside 10.1.1.321 no-reverse //配置内部地址映射到外网地址
[NGFW]ip route-static 0.0.0.00.0.0.010.1.1.2 //最后,在NGFW上配置缺省路由,使内网流量可以正常转发至ISP的路由器