一、防火墙基本工作原理
防火墙将连接到自身的端口和网络划分到不同区域,通过设置不同区域间的安全策略进行流量的转发与过滤。
![防火墙工作原理概述](https://img-blog.csdnimg.cn/img_convert/6c64963e07c90dc5afb428d7cc04200f.png)
二、安全区域
安全区域(Security Zone),简称为区域(Zone),是防火墙的重要概念。防火墙大部分的安全策略都基于安全区域实施。
一个安全区域是防火墙若干接口所连网络的集合,一个区域内的用户具有相同的安全属性。防火墙接口属于Local区域,优先级100,代表防火墙本身。
![安全区域](https://img-blog.csdnimg.cn/img_convert/37503af2dbb5fc6a8dcb57f73945a9d7.png)
2.1 默认安全区域
华为防火墙确认已创建四个区域,untrust、dmz、trust和local区域。安全区域有以下特性:
-
默认的安全区域不能删除,也不允许修改安全优先级。 -
每个Zone都必须设置一个安全优先级(Priority),值越大,则Zone的安全优先级越高。 -
用户可根据自己的需求创建自定义的Zone。 -
安全区域优先级全局唯一,不能重复。
区域名称 | 默认安全优先级 |
---|---|
非受信区域(untrust) | 低安全级别区域,优先级为5。 |
非军事化区域(dmz) | 中等安全级别区域,优先级为50。 |
受信区域(trust) | 较高安全级别区域,优先级为85。 |
本地区域(local) | Local区域定义的是设备本身,例如设备的接口。Local区域是最高安全级别区域,优先级为100。 |
防火墙默认安全区域均为小写字母,且大小写敏感,包括:
-
非受信区域(untrust):通常用于定义Internet等不安全的网络。 -
非军事化区域(dmz):通常用于定义内网服务器所在区域。因为这种设备虽然部署在内网,但是经常需要被外网访问,存在较大安全隐患,同时一般又不允许其主动访问外网,所以将其部署一个优先级比trust低,但是比untrust高的安全区域中。 -
受信区域(trust):通常用于定义内网终端用户所在区域。 -
本地区域(local): local区域定义的是设备本身,包括设备的各接口本身。凡是由设备构造并主动发出的报文均可认为是从Local区域中发出,凡是需要设备响应并处理(而不仅是检测或直接转发)的报文均可认为是由local区域接收。用户不能改变local区域本身的任何配置,包括向其中添加接口。由于local区域的特殊性, 在很多需要设备本身进行报文收发的应用中,需要开放对端所在安全区域与local区域之间的安全策略。
2.2 区域访问
分为区域内访问和区域间访问。
区域内访问:源和目的地址在Trust区域内。防火墙相同安全区域间流量默认放行。可以通过default packet-filter intrazone enable
这个命令检测相同区域的接口流量互访。简单来说就是防火墙多个接口都属于同一个区域,这些接口下的网络通信默认放行,可以通过命令设置。
区域间访问:跨域了不同的区域,经过防火墙,需要匹配相应的安全策略才允许或者拒绝。
示例:ospf不同区域经过防火墙时停留在exstart状态,无法建立full状态。
由于这些属于Local本身发起的流量默认开启了协议策略。可以通过undo firewall packet-filter basic-protocal enable
关闭基本协议策略即可。
![区域间访问](https://img-blog.csdnimg.cn/img_convert/135455da58043f9d30e4adadbfb08802.png)
三、安全策略
安全策略是控制防火墙对流量转发以及对流量进行内容安全一体化检测的策略。
当防火墙收到流量后,对流量的属性(五元组、用户、时间段等)进行识别,然后与安全策略的条件进行匹配。如果条件匹配,则此流量被执行对应的动作。
![安全策略](https://img-blog.csdnimg.cn/img_convert/bc63167b42598ea062e62e537386a5bc.png)
安全策略的组成:
安全策略的组成有匹配条件、动作和安全配置文件(可选),安全配置文件可以实现内容安全检测。
安全策略动作如果为“允许”则可配置安全配置文件,如果为“禁止”则可配置反馈报文。
![安全策略内容组成](https://img-blog.csdnimg.cn/img_convert/78b5b908c6bfa55616b040f6dc51b27a.png)
如果动作为允许,执行如下操作:
-
如果没有配置内容安全检测,则允许流量通过。 -
如果配置内容安全检测,最终根据内容安全检测的结论来判断是否对流量进行放行。内容安全检测包括反病毒、入侵防御等,它是通过在安全策略中引用安全配置文件实现的。如果其中一个安全配置文件阻断该流量,则防火墙阻断该流量。如果所有的安全配置文件都允许该流量转发,则防火墙允许该流量转发。
如果动作为拒绝,执行如下操作:
-
表示拒绝符合条件的流量通过。
安全策略匹配顺序:
当配置多条安全策略规则时,安全策略的匹配按照策略列表的顺序执行,即从策略列表顶端开始逐条向下匹配。如果流量匹配了某个安全策略,将不再进行下一个策略的匹配。
安全策略的配置顺序很重要,需要先配置条件精确的策略,再配置宽泛的策略。
系统默认存在一条缺省安全策略default。缺省安全策略位于策略列表的最底部,优先级最低,所有匹配条件均为any,动作默认为禁止。如果所有配置的策略都未匹配,则将匹配缺省安全策略default。
![策略匹配顺序](https://img-blog.csdnimg.cn/img_convert/832d7eb67bac4fab8fd54fb0548aa3ec.png)
RULE ID RULE NAME STATE ACTION HITS
-------------------------------------------------------------------------------
0 default enable deny 0
-------------------------------------------------------------------------------
防火墙端口管理策略:
service-manage命令用来允许或拒绝管理员通过HTTP、HTTPS、Ping、SSH、SNMP、NETCONF以及Telnet访问设备。缺省情况下,接口开启了访问控制管理功能。仅有管理接口下 HTTP、HTTPS、Ping权限放开。非管理口所有权限都关闭。此时,即使配置了接口所在安全域允许访问local区域的安全策略,也不能通过该接口访问本地防火墙。
service-manage { http | https | ping | ssh | snmp | netconf | telnet | all } { permit | deny }
这个用于不同区域访问防火墙接口的安全设置。简单讲就是这个端口管理策略是针对防火墙的管理的,而不是区域间数据访问。
四、防火墙策略配置
步骤:
-
配置防火墙安全区域 -
接口加入对应的区域 -
配置安全策略 -
接口管理策略 -
验证
# 创建接口/进入接口视图
[Huawei] interface interface-type interface-number
# 配置接口允许通过的协议
[Huawei-GigabitEthernet0/0/1] service-manage { http | https | ping | ssh | snmp | netconf | telnet | all } { permit | deny }
# 创建安全区域
[Huawei] firewall zone name zone-name [ id id ]
# 设置安全区域优先级
[Huawei-zone-name] set priority security-priority
# 添加接口到安全区域
[Huawei-zone-name] add interface interface-type { interface-number | interface-number.subinterface-number }
# 进入安全策略视图,安全策略规则的创建、复制、移动和重命名都在此视图下完成。
[Huawei] security-policy
# (安全策略视图)创建规则
[Huawei-policy-security] rule name rule-name
# (安全策略规则视图)配置安全策略规则的源安全区域
# 命令中zone-name必须为系统已经存在的安全区域名称。安全策略规则一次最多添加或删除6个安全区域。
[Huawei-policy-security-rule-name] source-zone { zone-name &<1-6> | any }
# (安全策略规则视图)配置安全策略规则的目的安全区域
[Huawei-policy-security-rule-name] destination-zone { zone-name &<1-6> | any }
# (安全策略规则视图)配置安全策略规则的源IP地址
[Huawei-policy-security-rule-name] source-address ipv4-address { ipv4-mask-length | mask mask-address}
# (安全策略规则视图)配置安全策略规则的目的IP地址
[Huawei-policy-security-rule-name] destination-address ipv4-address { ipv4-mask-length | mask mask-address}
# (安全策略规则视图)配置服务
# service命令用来配置服务,例如service protocol命令用来在安全策略中直接引用TCP/UDP/SCTP端口或IP层协议。
[Huawei] service { service-name &<1-6> | any }
# (安全策略规则视图)配置安全策略规则的动作
[Huawei] action { permit | deny }
五、会话表
会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。
防火墙采用了基于“状态”的报文控制机制:只对首包或者少量报文进行检测就确定一条连接的状态,大量报文直接根据所属连接的状态进行控制。这种状态检测机制迅速提高了防火墙的检测和转发效率。会话表就是为了记录连接的状态而存在的。设备在转发TCP、UDP和ICMP报文时都需要查询会话表,来判断该报文所属的连接并采取相应的处理措施。
![会话表项](https://img-blog.csdnimg.cn/img_convert/87ee8e52c1d6dd2a0cdfa1dcd14cd0ba.png)
![会话表匹配](https://img-blog.csdnimg.cn/img_convert/8b927ccf753a871fc327f525b696d72b.png)
防火墙为各种协议设定了会话老化机制。当一条会话在老化时间内没有被任何报文匹配,则会被从会话表中删除。这种机制可以避免防火墙的设备资源被大量无用、陈旧的会话表项消耗。
但是对于某些特殊业务中,一条会话的两个连续报文可能间隔时间很长。例如:
-
用户通过FTP下载大文件,需要间隔很长时间才会在控制通道继续发送控制报文。 -
用户需要查询数据库服务器上的数据,这些查询操作的时间间隔远大于TCP的会话老化时间。
此时如果其会话表项被删除,则该业务会中断。长连接(Long Link)机制可以给部分连接设定超长的老化时间,有效解决这个问题。
总结:今天简单学习下防火墙的基本概念与简单配置。防火墙是基于安全域进行策略控制的,默认有Local、Trust、Untrust、DMZ区域。流量的转发有区域内和区域间,通过安全策略进行控制,安全策略匹配五元组、时间、用户等条件,匹配完成后进行允许或拒绝的动作,以此实现流量过滤。如果需要对防火墙本身进行管理如Web登录、ping等需要设置端口策略。防火墙基于会话表进行报文转发,每一个初始会话会生成表项,后续进行匹配转发。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布