报文转发是防火墙的基本功能之一,其核心在于状态检测与会话机制。当防火墙接收到报文后,会在特定时间和条件下创建会话,并对与会话表匹配的报文进行特定的转发处理。
报文转发流程:
整个报文转发流程可以大致分为三个阶段:
一、接收报文,对报文进行基本处理
二、查询会话表,对首包和后续包做不同处理
三、对报文进行安全检测,发送报文
阶段一:接收报文,对报文进行基本处理
这个阶段的主要目的是解析出报文的帧头部和IP报文头部,根据头部中的信息进行一些基础的安全检测
处理动作主要有
1,QoS处理:为了使有限的网络资源更有效的为用户服务,对进入设备的业务流量进行限制
2,二层解析:解析报文的MAC地址,获取报文的VLAN信息和入接口信息
3,三层解析:解析报文的IP头和报文的协议类型
4,白名单:将受信的源地址或者目的地址加入白名单后,按照正常的报文转发流程转发来自该源地址或者去往该目的地址的报文
5,DDoS攻击防范:设备根据开启的DDoS攻击防范类型,阻断攻击流量
6,单包攻击防范:设备就可以根据开启的单包攻击防范类型对报文的合法性和安全性进行检测,判断报文是否属于攻击报文,并对报文进行过滤
阶段二:查询会话表,对首包和后续包做不同处理
这个阶段是设备的核心处理环节,主要包括会话建立、会话刷新等过程。设备根据该报文是否存在匹配的会话表项,有以下两种处理方式:
1,不存在匹配的会话表项
此时报文被认为是一条流量的首包,进行状态检测机制检测,判断该报文是否属于正常的可以建立会话的首包,对于正常首包,设备将进行一系列的查询和处理才能建立会话,设备根据该报文的目的地址查询路由表,获取出接口信息,并依此判断目的安全区域。设备获取到流量的源和目的信息后,对流量进行安全策略匹配。如果匹配成功,首先会根据策略动作是“允许”还是“禁止”决定是放行首包建立会话,还是丢弃首包禁止流量。如果动作为“允许”,那么设备会根据安全策略引用的内容安全配置文件对该条流量进行标记,在下一阶段将会进行内容安全的处理。
2,存在匹配的会话表项
此时,这条流量的首包已经通过了一系列路由查询和安全检测,并最终建立了会话。那么匹配了会话表项的后续报文就无需再重复一遍首包处理流程,后续报文首先通过基于流的攻击防范后可以进入后续的转发模块处理
处理动作主要有
1,状态检测机制:对于TCP和ICMP协议报文,只有首包才可以建立会话
2,黑名单:根据报文的源或者目的IP地址等信息对报文进行快速过滤
3,Server-map:用于服务器映射和多通道协议转发的重要表项。如果首包匹配Server-map,设备根据Server-map对报文进行转发或目的地址转换
4,路由表/MAC表:对于二层接口接收的报文,设备根据报文中的目的MAC地址来查询MAC地址转发表,以决定这个报文的出接口;对于三层接口接收的报文,设备根据报文中的目的地址来查询路由表,以决定这个报文的出接口
5,安全策略:根据管理员安全策略配置,对这条流量进行包过滤处理
6,源NAT策略:查找源NAT策略,在会话表中记录地址转换信息
7,连接数限制:可以通过配置带宽策略中连接数限制来控制整台设备的会话数量
阶段三:对报文进行安全检测,发送报文
这个阶段的主要目的是对流量进行持续的安全防护,同时保证报文被正确发送
处理动作主要有
1,带宽策略:通过带宽策略可以分配网络流量的带宽占用,避免网络拥塞
2,内容安全:此时设备将持续不断地检测报文中是否携带安全风险,并进行实时过滤
3,报文地址转换:根据会话表中的地址转换信息修改报文中的源地址或目的地址
4,VPN封装:通过VPN配置可以实现私网跨越公网的安全互联报文封装转发
防火墙的报文转发流程是一个复杂而精细的过程,涉及多个阶段和多个模块。通过状态检测与会话机制,防火墙能够高效地处理并转发网络报文,同时确保网络的安全性和稳定性。