防火墙介绍

防火墙概述:

防火墙分类

  • 按照访问控制方式分为:
    • 包过滤防火墙
    • 代理防火墙
    • 状态检测防火墙

 

防火墙分类 - 包过滤防火墙

华为防火墙学习笔记01_防火墙介绍_第1张图片

  • 包过滤是指在网络层对每一个数据包进行检查,根据配置的安全策略转发或丢弃数据包。包过滤防火墙的基本原理是:通过配置访问控制列表(ACL, Access Control List)实施数据包的过滤。主要基于数据包中的源/目的IP地址、源/目的端口号、IP 标识和报文传递的方向等信息。

 

防火墙分类 - 代理防火墙

华为防火墙学习笔记01_防火墙介绍_第2张图片

  • 代理服务作用于网络的应用层,其实质是把内部网络和外部网络用户之间直接进行的业务由代理接管。
  • 代理防火墙能够完全控制网络信息的交换,控制会话过程,具有较高的安全性。其缺点主要表现在:
    • 软件实现限制了处理速度,易于遭受拒绝服务***;
    • 需要针对每一种协议开发应用层代理,开发周期长,而且升级很困难。

 

防火墙分类 - 状态检测防火墙

华为防火墙学习笔记01_防火墙介绍_第3张图片

  • 状态检测是包过滤技术的扩展。基于连接状态的包过滤在进行数据包的检查时,不仅将每个数据包看成是独立单元,还要考虑前后报文关联性。
  • 基本原理简述如下:
    • 状态检测防火墙使用会话表来追踪TCP会话和UDP伪会话,由访问控制列表决定建立哪些会话,数据包只有与会话相关联时才会被转发
    • 状态检测防火墙在网络层截获数据包,从应用层提取出安全策略所需要的状态信息,保存到会话表中,通过分析会话表和数据包有关的后续连接请求做出决定。
  • 状态检测防火墙具有以下优点
    • 后续数据包处理性能优异:状态检测防火墙对数据包进行ACL 检查的同时,可以将数据流连接状态记录下来,该数据流中的后续包则无需再进行ACL检查只需根据会话表对新收到的报文进行连接记录检查即可。检查通过后,会话表将被刷新会话表里的记录可以随意排列
    • 安全性较高:连接状态清单是动态管理的。会话完成后防火墙上所创建的临时返回报文入口随即关闭

 

防火墙组网方式

华为防火墙学习笔记01_防火墙介绍_第4张图片

  • 方式一:防火墙只进行报文转发,不能进行路由寻址,与防火墙相连两个业务网络必须在同一个网段中。此时防火墙上下行接口均工作在二层,接口无IP地址。
    • 防火墙此组网方式可以避免改变拓扑结构造成的麻烦,只需在网络中像放置网桥一样串入防火墙即可,无需修改任何已有的配置。IP报文同样会经过相关的过滤检查,内部网络用户依旧受到防火墙的保护。
  • 方式二:防火墙位于内部网络和外部网络之间时,与内部网络、外部网络相连的上下行业务接口均工作在三层,需要分别配置成不同网段的IP地址,防火墙负责在内部网络、外部网络中进行路由寻址,相当于路由器。
    • 支持更多的安全特性需要修改原网络拓扑。

 

防火墙转发原理

 

防火墙安全策略

  • 定义
    • 安全策略:按一定规则转发流量内容安全一体化检测

 

防火墙安全策略的原理

华为防火墙学习笔记01_防火墙介绍_第5张图片

  • 防火墙安全策略的核心作用是:根据规则对流量进行筛选,由动作来确定下一步操作
  • NGFW会对收到的流量进行检测,检测出流量的属性,包括: 源安全区域、目的安全区域、源地址/地区、目的地址/地区、用户、服务(源端口、目的端口、协议类型)、应用和时间段

     

防火墙域间转发

华为防火墙学习笔记01_防火墙介绍_第6张图片

  • 状态检测机制以流量为单位来对报文进行检测和转发,对第一个报文进行包过滤检测,检测通过创建会话表,根据会话表转发后续报文。
  • 防火墙一般是检查IP报文中的五个元素,又称为"五元组",即源目IP地址,源目端口号,协议通过五元组,就可以判断是否是同一条数据流下一代防火墙除了检测五元组,还会检测报文的用户、应用和时间段等。

 

查询和创建会话

华为防火墙学习笔记01_防火墙介绍_第7张图片

  • 通常情况下,对一条连接的首包进行检测,检测通过后建立会话,后续报文不需重新检测。这就是状态检测防火墙的"状态检测机制"。

 

状态检测机制

华为防火墙学习笔记01_防火墙介绍_第8张图片

  • 状态检测机制开启状态下(默认开启),只有首包通过才能建立会话表项,后续包直接匹配会话表项进行转发。
  • 状态检测机制关闭状态下,即使首包没有经过设备, 后续包只要通过安全策略就可以生成会话表项。
    • 对于TCP报文
      • 开启状态检测机制时,首包(SYN报文)建立会话表项。对除SYN报文外的其他报文,如果没有对应会话表项则予以丢弃,也不会建立会话表项。
      • 关闭状态检测机制时,只要通过各项安全机制的检查,都可以建立会话表项。
    • 对于UDP报文
      • 只要通过各项安全机制的检查,都可以为其建立会话表项。
    • 对于ICMP报文
      • 开启时,应答包不能创建会话,丢弃
      • 关闭时,应答包可以创建会话。

 

会话表项

华为防火墙学习笔记01_防火墙介绍_第9张图片

  • 每一个通过防火墙的数据流都会在防火墙上建立一个会话表项,以五元组为Key值,通过建立动态的会话表提供域间转发。
  • 下一代防火墙会话表包括 七个元素
    • 源IP地址
    • 源端口
    • 目的IP地址
    • 目的端口
    • 协议号
    • 用户
    • 应用

 

查看会话表信息

华为防火墙学习笔记01_防火墙介绍_第10张图片

  • display firewall session table命令输出信息描述。
    • current total sessions: 当前会话表数统计
    • telnet/http: 协议名称
    • ***:public-->public: ***实例名称,表示方式为:源方向-->目的方向
    • 192.168.3.1:2855-->192.168.3.2:23: 会话表信息
  • display firewall session table verbose命令输出信息描述。
    • current total sessions: 当前会话表数统计
    • http: 协议名称
    • ***:public-->public: ***实例名称,表示方式为:源方向-->目的方向
    • ID: 当前会话ID
    • zone:trust-->local:表示方式为:源安全区域-->目的安全区域
    • TTL:该会话表项总的生存时间
    • Left:该会话表项剩余生存时间
    • Output-interface: 出接口
    • NextHop:下一跳IP地址
    • MAC:下一跳MAC地址
    • <--packets:3073 bytes:3251431:该会话入方向的报文数(包括分片)和字节数统计
    • -->packets:2881 bytes:705651:该会话出方向的分片报文数(包括分片)和字节数统计
    • PolicyName:报文匹配的策略名称

防火墙安全策略及应用

 

安全策略的匹配原则

华为防火墙学习笔记01_防火墙介绍_第11张图片

 

安全策略匹配流程

华为防火墙学习笔记01_防火墙介绍_第12张图片

  • 流量通过NGFW时,安全策略的处理流程如下:
    • NGFW将流量的属性与安全策略的条件进行匹配。如果所有条件都匹配,则此流量成功匹配安全策略。如果其中有一个条件不匹配,则继续匹配下一条安全策略。以此类推,如果所有安全策略都不匹配,则NGFW会执行缺省安全策略的动作默认为"禁止")。
    • 如果流量成功匹配一条安全策略,NGFW将会执行此安全策略的动作。
    • 如果安全策略的动作为"允许"且引用了安全配置文件,则NGFW会对流量进行内容安全的一体化检测。
  • 一体化检测是指根据安全配置文件的条件对流量的内容进行一次检测,根据检测的结果执行安全配置文件的动作。

 

配置安全区域 (WEB)

  • 系统缺省已经创建了四个安全区域。如果用户还需要划分更多的安全等级,可以自行创建新的安全区域并定义其安全级别。

华为防火墙学习笔记01_防火墙介绍_第13张图片

  • 新建安全区域步骤:
    • 选择"网络 > 安全区域"。
    • 单击"新建"。
    • 配置安全区域的参数。

 

配置安全策略 (WEB)

  • 安全策略主要包含的配置内容:
    • 策略匹配条件:源安全域,目的安全域,源地址,目的地址,用户,服务,应用,时间段。
    • 策略动作:允许,禁止
    • 内容安全Profile(可选):反病毒,***防御,URL过滤,文件过滤,内容过滤,应用行为控制,邮件过滤。

华为防火墙学习笔记01_防火墙介绍_第14张图片

  • 将流量的属性与安全策略的条件进行匹配。如果所有条件都匹配,则此流量成功匹配安全策略。流量匹配安全策略后,设备将会执行安全策略的动作。
  • 如果动作为"允许",则对流量进行内容安全检测。如果内容安全检测也通过,则允许流量通过;如果内容安全检测没有通过,则禁止流量通过。

 

 

配置地址和地址组 (WEB)

  • 地址是IPv4/IPv6地址或MAC地址的集合,地址组是地址的集合。
  • 只需定义一次,就可以被各种策略(例如安全策略、NAT策略)多次引用。

华为防火墙学习笔记01_防火墙介绍_第15张图片

  • 通过Web界面配置地址和地址组的步骤:
    • 选择"对象 > 地址 > 地址(或地址组)"。
    • 单击"新建",配置地址(或地址组)的各项参数。
    • 单击"确定",可以在页面上看到新建的地址。

 

配置地区和地区组 (WEB)

  • 地区是以地区为单位的IP地址对象,每个地区是当前地区的公网IP地址集合。
  • 地区组中可以包含多个地区、嵌套的地区组,配置灵活。

华为防火墙学习笔记01_防火墙介绍_第16张图片

  • 通过Web界面配置地址和地址组的步骤:
    • 选择"对象 > 地区 > 地区(或地区组)"。
    • 单击"新建",配置自定义地区(或地区组)参数。
    • 单击"确定"。

 

配置服务和服务组 (WEB)

  • 服务是通过协议类型和端口号来确定的应用协议类型,服务组是服务和服务组的集合。
  • 预定义服务:指系统缺省已经存在、可以直接选择的服务类型。
  • 自定义服务:通过指定协议类型(例如TCP、UDP或ICMP)和端口号等信息来定义的一些应用协议类型。

华为防火墙学习笔记01_防火墙介绍_第17张图片

  • 预定义服务通常都是知名协议,例如HTTP、FTP、Telnet等。预定义服务不能被删除
  • 通过Web界面配置服务的步骤(配置服务组与此类似):
    • 选择"对象 >服务 > 服务"。
    • 单击"新建",配置自定义服务各项参数。
    • 单击"确定"。

 

配置应用和应用组 (WEB)

  • 应用:计算机程序。应用组是指多个应用的集合。

华为防火墙学习笔记01_防火墙介绍_第18张图片

 

配置时间段 (WEB)

  • 时间段定义了时间范围,被策略引用后,对流量进行匹配和控制。

华为防火墙学习笔记01_防火墙介绍_第19张图片

  • 通过Web界面配置时间段的步骤:
    • 选择"对象 > 时间段"。
    • 单击"新建"。
    • 在"名称"中输入时间段列表的名称。
    • 创建时间段成员。
    • 单击"确定"。

 

配置安全策略 (WEB)

  • 安全策略可以引用对象

华为防火墙学习笔记01_防火墙介绍_第20张图片

 

  • 通过Web界面配置安全策略的步骤:
    • 选择"策略 > 安全策略 > 安全策略"。
    • 单击"新建"。
    • 配置安全策略规则的名称和描述。
    • 配置安全策略规则的匹配条件。
    • 配置安全策略规则的动作。
    • 配置安全策略引用内容安全的配置文件。
    • 单击"确定"。

 

配置安全策略流程

华为防火墙学习笔记01_防火墙介绍_第21张图片

  • 安全策略配置思路:
    • 管理员应首先明确需要划分几个安全区域,接口分别加入哪些安全区域。(1.划分安全区域
    • 管理员选择根据"源地址"或"用户"来区分企业员工。(2. 区分员工
    • 先确定每个用户组的权限,然后再确定特殊用户的权限。包括用户所处的源安全区域和地址,用户需要访问的目的安全区域和地址,用户能够使用哪些服务和应用,用户的网络访问权限在哪些时间段生效等。(3. 确定权限
    • 确定对哪些通过防火墙的流量进行内容安全检测,进行哪些内容安全检测。(4. 内容检测
    • 将以上步骤规划出的安全策略的参数一一列出,并将所有安全策略按照先精确再宽泛的顺序排序。(5. 按照先精确,再宽泛顺序排序

 

ASPF技术

 

多通道协议技术

  • 单通道协议:通信过程中只需占用一个端口的协议。如:WWW只需占用80端口。
  • 多通道协议:通信过程中需占用两个或两个以上端口的协议。如FTP被动模式下需占用21号端口以及一个随机端口。

 

ASPF概述

  • ASPF ( Application Specific Packet Filter)检查应用层协议的信息并监控状态。

华为防火墙学习笔记01_防火墙介绍_第22张图片

  • ASPF支持一个控制端口和多个数据端口的协议。
  • 打开数据端口通道,会话结束关闭通道 。
  • 默认支持FTP协议。

 

ASPF对多通道协议的支持

华为防火墙学习笔记01_防火墙介绍_第23张图片

  • 在多通道协议中,如FTP,控制通道和数据通道是分开的。
    • 数据通道是在控制报文中动态协商出来的,需要临时开启一个通道,Servermap就是为了满足这种应用而设计的一种数据结构。
  • FTP包含一个已知端口控制通道和一个动态协商的数据通道,ASPF检测IP层之上的应用层报文信息,动态地创建和删除临时的servermap表项,以允许相关的报文通过。
  • servermap表项在动态检测过程中产生的如果报文是用于打开一个新的控制或数据连接,ASPF将动态的产生servermap表项,对于回来的报文只有是属于一个已经存在的有效的连接,才会被允许通过防火墙。在处理回来的报文时,状态表也需要更新。当一个连接被关闭或超时后,该连接对应的状态表将被删除。
  • Server-map是一种映射关系,当数据连接匹配了动态Server-map表项时,不需要再查找包过滤策略。
  • Server-map通常只是检查首个报文,通道建立后的报文还是根据会话表来转发

 

Server Map的产生

华为防火墙学习笔记01_防火墙介绍_第24张图片

  • 目前,FW上生成Server-map表项共有如下几种情况:
    • 配置ASPF后,转发FTP、RTSP等多通道协议时生成的Server-map表项。
    • 配置NAT服务器映射时生成的静态Server-map。
    • 配置NAT No-PAT时生成的动态Server-map。
    • 配置服务器负载均衡时生成的静态Server-map。
    • 配置静态NAT64时生成的静态Server-map。
  • 在配置ASPF功能后,设备检测到控制通道的协商,根据关键报文载荷中的地址信息动态创建server-map表项,用于数据通道发起连接时进行查找。
  • 在配置NAT Server成功后,设备会自动生成Server-map表项,用于存放Globle地址与Inside地址的映射关系。每个生效的NAT Server都会生成正反方向两个静态的Server-map。
  • 配置NAT No-PAT后,设备会为有实际流量的数据流建立Server-map表,用于存放私网IP地址与公网IP地址的映射关系。

 

端口识别对多通道协议的支持

华为防火墙学习笔记01_防火墙介绍_第25张图片

  • 端口识别,也称端口映射,是防火墙用来识别非标准端口的应用层协议报文。
  • 端口识别基于ACL进行,只有匹配某条ACL的报文,才会实施端口映射。端口映射使用基本ACL(编号2000~2999)。端口映射在使用ACL过滤报文时,使用报文的目的IP地址去匹配基本ACL中配置的源IP地址。

 

分片缓存

  • 分片缓存功能用来缓存先于首片分片报文到达的后续分片报文,避免分片报文被防火墙丢弃。

华为防火墙学习笔记01_防火墙介绍_第26张图片

  • 配置分片缓存老化时间
    • Firewall session aging-time fragment interval (1-40000)
  • 开启/关闭分片报文直接转发功能
    • Firewall fragment-forward enable/disable

 

长连接

  • 为什么需要长连接?
    • 防火墙会话表老化机制
    • 会话老化机制给特殊业务带来的问题

华为防火墙学习笔记01_防火墙介绍_第27张图片

  • 通过引用ACL定义数据流规则,为匹配ACL规则的特定报文的会话设置超长老化时间,确保会话正常进行。缺省情况下,长连接的老化时间为168小时(7*24小时)。
  • 防火墙仅支持对TCP协议报文配置域间长连接功能。
  • 状态检测机制关闭时,非首包也可以建立会话表,所以此时不需使用长连接功能也可保持业务的正常运行。
  • 配置长连接老化时间
    • Firewall long-link aging-time time
  • 开启长连接功能
    • Firewall interzone zone-name1 zone-name2
    • lonk-link acl-number { inbound | outbound }

 

防火墙应用技术

 

创建防火墙区域和加入防火墙区域

 

创建一个新的安全区域:如果不设置优先级,默认为0,不能进行流量转发。

[USG6000V1]firewall zone name new_zone

[USG6000V1-zone-new_zone]set priority 10

 

将接口加入到一个安全区域:一个接口只能加入一个安全区域,如需要加入其它安

全区域,使用undo命令取消

[USG6000V1]firewall zone trust

[USG6000V1-zone-trust]add interface GigabitEthernet 1/0/0

 

查看安全区域:

[USG6000V1]display zone

 

将防火墙的同一端口划分到不同的安全区域

华为防火墙学习笔记01_防火墙介绍_第28张图片

思路:

  • 方法一:
    • 将PC1划分为vlan 10,PC2划分为vlan 20,将防火墙g1/0/1设置为二层接口。实现三层vlan交换。
  • 方法二:
    • 使用单臂路由的原理,在防火墙g1/0/1上创建子接口实现。

方法一:

FW1:

[FW1]vlan batch 10 20

[FW1]int g1/0/1

[FW1-GigabitEthernet1/0/1]portswitch

[FW1-GigabitEthernet1/0/1]port link-type trunk

[FW1-GigabitEthernet1/0/1]port trunk allow-pass vlan 10 20

 

[FW1]int vlanif 10

[FW1-Vlanif10]ip add 10.1.1.254 24

[FW1]int vlanif20

[FW1-Vlanif20]ip add 10.1.2.254 24

 

[FW1]firewall zone trust

[FW1-zone-trust]add interface Vlanif 10

[FW1]firewall zone dmz

[FW1-zone-dmz]add int vlanif 20

 

security-policy

rule name trust_dmz

source-zone trust

destination-zone untrust

action permit

 

SW1:

[sw1]vlan batch 10 20

[sw1]int g0/0/2

[sw1-GigabitEthernet0/0/2]port link-type access

[sw1-GigabitEthernet0/0/2]port default vlan 10

 

interface GigabitEthernet0/0/3

port link-type access

port default vlan 20

 

[sw1]int g0/0/1

[sw1-GigabitEthernet0/0/1]port link-type trunk

[sw1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20

 

方法二:

SW1配置不变

FW1配置如下:

interface GigabitEthernet1/0/1.10

vlan-type dot1q 10

//使用此接口能够识别vlan标签(dot1q)

ip address 10.1.1.254 255.255.255.0

 

interface GigabitEthernet1/0/1.20

vlan-type dot1q 20

ip address 10.1.2.254 255.255.255.0

 

firewall zone trust

set priority 85

add interface GigabitEthernet0/0/0

add interface GigabitEthernet1/0/1.10

 

firewall zone dmz

set priority 50

add interface GigabitEthernet1/0/1.20

 

security-policy

rule name trust_dmz

source-zone trust

destination-zone dmz

action permit

 

 

感谢腾讯课堂的Jacky老师