防火墙概述

应用场景

image-1

防火墙的发展历程

纵观防火墙的发展历史,防火墙经历了从低级到高级、从功能简单到功能复杂的过程。网络技术的不断发展和新需求的不断提出,推动者防火墙的发展。

防火墙从包过滤防火墙发展起经历了状态检测、统一威胁管理、NGFW等到AI防火墙,有以下特点:

  • 访问控制越来越精细。
  • 防护能力越来越强。
  • 性能越来越高。

image-2

包过滤防火墙

包过滤是指基于五元组对每个数据包进行检测,根据配置的安全策略转发或丢弃数据包。

包过滤防火墙的基本原理是:通过配置访问控制列表(ACL)实施数据包的过滤。

image-3

状态检测防火墙

状态检测是包过滤技术的发展,它考虑报文前后的关联性,检测的是连接状态而非单个报文。

状态检测防火墙就是支持状态检测功能的防火墙。

image-4

AI防火墙

AI防火墙是结合AI技术的新一代防火墙。它通过结合AI算法或AI芯片等多种方式,进一步提高了防火墙的安全防护能力和性能。

华为AI防火墙,内置的恶意文件检测引擎CDE、诱捕Sensor、APT检测引擎和探针,支持与沙箱和华为大数据分析平台CIS联动检测,打造智能防御体系。

image-5

防火墙基本概念

安全区域

安全区域(Security Zone),简称为区域(Zone),是防火墙的重要概念。防火墙大部分的安全策略都基于安全区域实施。

一个安全区域是防火墙若干接口所连网络的集合,一个区域内的用户具有相同的安全属性。

默认情况下,安全区域之间是不能进行互访的。

image-6

默认安全区域

华为防火墙确认已创建四个区域,untrust、dmz、trust和local区域。安全区域有以下特性:

  • 默认的安全区域不能删除,也不允许修改安全优先级。
  • 每个Zone都必须设置一个安全优先级(Priority),值越大则Zone的安全优先级越高。
  • 用户可以根据自己的需求创建自定义的Zone。

注意:防火墙设备的接口不属于其他区域只属于local区域,而连接到该接口的区域才是其他安全区域,例如下图中的GE1/0/1接口,它只属于防火墙的local区域,而跟这个接口相连的trust区域只包括一台交换机和两台PC机。

image-7

区域间(Interzone)示例

流量的源、目的地址决定了互访的区域。本例1中PC访问防火墙的接口的流量实际上从trust zone到达local zone;本例2中PC访问Internet的流量实际上是从trust zone到达untrust zone。

image-8

安全策略

安全策略是控制防火墙对流量转发以及对流量进行内容安全一体化检测的策略。

当防火墙收到流量后,对流量的属性(五元组、用户、时间段等)进行识别,然后与安全策略的条件进行匹配。如果条件匹配,则此流量被执行对应的动作。

image-9

安全策略组成

安全策略的组成由匹配条件、动作和安全配置文件(可选)。安全配置文件实现内容安全。

安全策略动作如果为“允许”则可配置安全配置文件,如果为“禁止”则可以配置反馈报文。

image-10

安全策略匹配过程

当配置多条安全策略规则时,安全策略的匹配按照策略列表的顺序执行,即从策略列表顶端开始逐条向下匹配。如果流量匹配了某条安全策略,将不再进行下一个策略的匹配。

安全策略的配置顺序很重要,需要先配置条件精确的策略,再配置宽泛的策略。

image-11

会话表

会话表是用来记录TCP、UDP、ICMP等协议连接状态的表项,是防火墙转发报文的重要依据。

防火墙采用了基于“状态”的报文控制机制:只对首包或者少量报文进行检测就确定一条连接的状态,大量报文直接根据所属连接的状态进行控制。这种状态检测机制迅速提高了防火墙的检测和转发效率。会话表就是为记录连接的状态而存在的。设备再转发TCP、UDP和ICMP报文时都需要查询会话表来判断报文所属的连接并采取相应的处理措施。

image-12

会话表的创建和包处理过程

防火墙状态检测开启情况下,流量的首包会创建会话表项,后续包即可直接匹配会话表项。

image-13

会话表的老化时间与长连接

防火墙为各种协议设定了会话老化机制。当一条会话在老化时间内没有被任何报文匹配,则会被从会话表中删除。这种机制可以避免防火墙的设备资源被大量无用、陈旧的会话表项消耗。

但是对于某些特殊业务中,一条会话的两个连续报文可能间隔时间很长,例如:

  • 用户通过FTP下载大文件,需要间隔很长时间才会在控制通道继续发送控制报文。
  • 用户需要查询数据库服务器上的数据,这些查询操作的时间间隔远大于TCP的会话老化时间。

此时如果其会话表项被删除,则该业务会中断。长连接(Long Link)机制可以给部分连接设定超长的老化时间,有效解决这个问题。

Server-map

多通道协议在防火墙上的问题

如果在防火墙上配置严格的单向安全策略,那么防火墙将只允许业务单方向发起访问。这会导致一些特殊的协议无法工作,例如FTP。

FTP主动模式传输文件时,首先需要客户端主动向服务器端发起控制连接,然后需要服务器端向客户端发起数据连接。如果设备上配置的安全策略仅允许客户端报文单方向通过,则FTP文件传输不能成功。

同FTP,通信过程中需占用两个或两个以上端口的协议被称为多通道协议。多通道协议都需要考虑此类问题。

image-14

ASPF与Server-map

为了解决多通道协议的问题,防火墙需要识别协议在应用层协商的地址和端口。这需要开启ASPF(Application Specific Packet Filter,针对应用层的包过滤)功能。

ASPF也称作基于状态的报文过滤,ASPF功能可以自动检测某些报文的应用层信息并根据应用层信息放开相应的访问规则,即生成Server-map表。

Server-map表也记录了类似会话表中连接的状态。Server-map表中的信息相对简单,是简化的会话表,在真实流量到达前生成。在流量真实到达防火墙时,防火墙会基于Server-map表生成会话表,然后执行转发。

开启ASPF解决多通道协议问题,是生成Server-map表的一种方式。

示例

防火墙上配置了ASPF功能后,会检测FTP控制连接中协商的数据连接端口信息,然后生成Server-map表项。Server-map表项包含了FTP控制通道中协商的数据通道的信息。防火墙为命中Server-map表的数据创建会话表。

image-15

Server-map表与简化的包转发过程

当防火墙接收到一个报文且没有命中会话表时,防火墙进入首包处理流程,查询是否命中的Server-map表。如果有,则会生成会话表转发报文;如果没有,则执行其他包处理过程。

image-16

防火墙配置

基础配置

接口

创建/进入接口

和交换机、路由器相同,interface命令用来创建接口或进入指定的接口视图。

1
[Huawei]interface interface-type interface-number

配置接口允许通过的协议

service-manage命令用来允许或拒绝管理员通过HTTP、HTTPS、ping、ssh、snmp、netconf以及telnet访问设备。

缺省情况下,接口开启了访问控制管理功能。仅有管理接口下HTTP、HTTPS、Ping权限放开。非管理口所有权限都关闭。此时,即使配置了接口所在安全域允许访问local区域的安全策略,也不能通过该接口访问本地防火墙。

1
[Huawei-GigabitEthernet0/0/1]service-manage {http|https|ping|ssh|snmp|netconf|telnet|all} {permit|deny}

安全区域

创建安全区域

firewall zone name命令用来创建安全视图,并进入安全区域视图。id表示安全区域ID,取值4-99,默认递增。

firewall zone命令用来进入安全区域视图。防火墙默认的四个区域无需创建也不能删除。

1
[Huawei]firewall zone name zone-name [id id-number]

设置安全区域优先级

优先级取值范围为1~100,全局唯一,值越大优先级越高。系统默认的安全区域不能被删除,优先级也无法被重新配置或删除。

1
[Huawei-zone-name]set priority security-priority-value

添加接口到安全区域

安全区域在使用时需要与防火墙的特定接口相关联,即需要将接口加入到安全区域。该接口既可以是物理接口,也可以是逻辑接口。

1
[Huawei-zone-name]add interface interface-type {interface-number|interface-number.subinterface-number}

安全策略

进入安全策略视图

安全策略规则的创建、复制、移动和重命名都在此视图下完成。

1
[Huawei]security-policy

创建规则

rule name命令用来创建安全策略,并进入安全策略规则视图。

1
[Huawei-policy-security]rule name rule-name

配置安全策略规则的源安全区域

命令中zone-name必须为系统已经存在的安全区域名称。安全策略规则一次最多添加或删除6个安全区域。

1
[Huawei-policy-security-rule-name]source-zone {zone-name&<1-6>|any}

配置安全策略规则的目的安全区域

1
[Huawei-policy-security-rule-name]destination-zone {zone-name&<1-6>|any}

配置安全策略规则的源IP地址

命令中的mask-address使用反掩码。

1
[Huawei-policy-security-rule-name]source-address ipv4-address {ipv4-mask-length|mask mask-address}

配置安全策略规则的目的IP地址

命令中的mask-address使用反掩码。

1
[Huawei-policy-security-rule-name]destination-address ipv4-address {ipv4-mask-length|mask mask-address}

配置服务

service命令用来配置服务,例如service protocol命令用来在安全策略中直接引用TCP/UDP/SCTP端口或IP层协议。

1
[Huawei]service {service-name&<1-6>|any}

配置安全策略规则的动作

防火墙默认的动作为deny

1
[Huawei]action {permit|deny}

实验

image-17