锐捷防火墙(WEB)——故障排查

目录

Ⅰ  安全策略说明

一、安全策略原理

二、配置安全策略要点

Ⅱ  数据包处理流程

一、防火墙对数据包处理流程图

二、防火墙对数据包处理过程的各步骤

Ⅲ  数据流分析 debug flow

一、工具说明

二、命令介绍

三、过滤参数

四、分析示例


Ⅰ  安全策略说明

一、安全策略原理

1、为了对数据流进行统一控制,方便用户配置和管理,NGFW设备引入了安全策略的概念。通过配置安全策略,防火墙能够对经过设备的数据流进行有效的控制和管理。      

2、当防火墙收到数据报文时,把该报文的方向、源地址、目的地址、协议、端口等信息和用户配置的策略匹配,决定是否建立这条数据流,并且把这条流和匹配的策略关联起来,

从而确定如何处理该流的后续报文,实现允许、丢弃、加密和解密、认证、排定优先次序、调度、过滤以及监控数据流,决定哪些用户和数据能进出,以及它们进出的时间和地点。

3、在安全策略中还可以根据匹配结果,对符合规则的报文实行过滤动作(允许通过或丢弃),简单地实现包过滤功能。

4、在没有配置任何安全策略的情况下,系统默认有一条全any禁止的策略,对于经过设备的所有数据包,其缺省策略为禁止。

5、安全策略按从上到下顺序匹配的原则,只对通过设备的数据包进行处理对于到设备本身的数据包和设备本身发出的数据包不进行限制。

二、配置安全策略要点

安全策略的基本要素是匹配条件和动作。匹配条件包括数据流的方向、源地址、目的地址、服务和策略生效的时间范围。

其中,数据流的方向通过指定入接口/安全域和出接口/安全域来确定,源地址、目的地址、服务和时间范围都可以直接引用已定义的对象。

1、源接口/区:数据流的流入方向,可以指定某个接口,也可以是已定义的某个安全域,any表示所有口

2、源地址:数据流的源地址,可以引用已定义的某个地址对象或地址对象组,any表示源地址为任意。

3、目的接口/区:数据流的流出方向,可以指定某个接口,也可以是已定义的某个安全域,any表示所有接口。

4、目的地址:数据流的目的地址,可以引用已定义的地址对象或地址对象组,或者引用虚拟映射ip。

5、时间表:策略生效的时间,可以引用已配置的时间对象,always表示所有时间。

6、服务:数据流的服务属性,包括协议、源端口和目的端口,可以引用系统预定义服务、已定义的服务对象或服务对象组,any表示服务为任意。

7、动作:对符合匹配条件的数据流执行的动作,ACCEPT为允许,DENY为拒绝,IPSEC为ipsec加密,SSL-VPN为sslvpn加密。 

8、记录允许流量:选中此复选框可以在防火墙策略中启用流量日志功能。

9、NAT:是否启用源NAT(SNAT)

10、启用基于用户的认证策略:是否开启用户上网认证策略

11、UTM:是否开启UTM相关应用防护功能

12、流量控制:选中此复选框可以在防火墙策略中启用流量控制功能,对策略中指定的流进行服务质量保证。


Ⅱ  数据包处理流程

一、防火墙对数据包处理流程图

二、防火墙对数据包处理过程的各步骤

1、Interface(网卡接口)

网卡接口驱动负责接数收据包,并转交给下一过程。

2、DoS Sensor(DoS防御,默认关闭)

负责过滤SYN flood、UDP flood、ICMP flood等DoS攻击,并可针对源、目的IP的并发连接数进行限制。

3、IP integrity header checking(IP头完整性校验)

检查数据包头完整性。

4、IPSec(IPSec VPN解密,默认关闭)

如果是防火墙本身的IPSec VPN隧道中的数据包,将对其进行解密。

5、DNAT(目标地址NAT)

检查数据包中的目标IP地址,如果在 VIP(目标地址NAT)表中,则将其替换为映射后IP地址(真实IP地址)和端口。

6、Routing(路由)

本步骤根据数据包的目标IP地址确定该数据包的流出接口。

7、Stateful Inspection Engine(状态检测引擎)

状态检测引擎包含几个组件:

a、Policy lookup(策略查找)

在会话建立阶段,判断是否允许数据通过并建立会话状态,并根据UTM功能的开关决定数据包是否需要进入流检测引擎(Flow-based inspection engine)和代理检测引擎(Proxy-based inspection engine)。

b、Session track(会话跟踪)

维护会话表,跟踪会话状态、NAT和其它相关功能。会话建立之后的后续数据包不再进行策略匹配,直接根据会话状态转发。

c、User authentication(用户认证,默认关闭)

对用户身份进行认证,根据用户名和用户所在组选择防火墙策略。

d、Management traffic(管理流量)

与防火墙自身相关的流量处理,如Web、SSH管理,Syslog、SNMP通信等。

e、SSL VPN流量(默认关闭)

将SSL VPN流量解密,送至SSL VPN虚拟接口(通常为ssl.root),然后查找策略。

f、Session helpers(即ALG)

对FTP、SIP、Oracle等特殊应用进行处理,如动态开启策略、NAT,自动修改payload等,保证其正常通信。

8、Flow-based inspection engine(流检测引擎,默认关闭)

如果在防火墙策略中启用了防病毒、IPS、应用控制等流检测UTM功能,则会话后续数据包交由流检测引擎处理。

9 、Proxy-based inspection engine(代理检测引擎,默认关闭)

如果在防火墙策略中启用了Web过滤、防病毒、反垃圾邮件、DLP等应用代理检测UTM功能,则会话后续数据包交由代理检测引擎处理。

10、IPSec(IPSec VPN加密,默认关闭)

如果会话匹配了IPSec VPN策略,此步骤将数据包加密封装

11、Source NAT(源地址NAT)

如果策略中启用了NAT,则将数据包的源IP地址和源端口替换为目标接口地址或IP池中的IP地址(通常为公网IP地址)。

12  、Routing(路由)

最后一个路由步骤,确定数据包的流出接口,由路由引擎转发数据包。

13  Egress(流出)

由流出接口网卡将数据包发出防火墙。


Ⅲ  数据流分析 debug flow

一、工具说明

在防火墙部署中,经常会遇到防火墙接收到了数据包,但并未进行转发。可以通过diagnose debug flow 命令来对数据包的处理过程进行跟踪,可以清晰查看数据包再各个功能模块内

的处理过程,判断出数据包如何被转发或者丢弃。

二、命令介绍

diagnose debug enable                                                 开启debug功能

diagnose debug flow show console enable     开始flow的输出

diagnose debug flow filter add 119.253.62.131     定制过滤器,支持多种过滤;可以添加多个组合的过滤器

diagnose debug flow filter                                             查看过滤器的配置

diagnose debug flow trace start 6              定义索要跟踪数据包的数量

三、过滤参数

RG-WALL# diagnose  deb flow filter

addr      IP address.                        // ip地址

clear     Clear filter.                         // 清除过滤器

daddr     Destination IP address.     // 目的地址

dport     Destination port.               //目的端口

negate    Inverse filter.                    //反向过滤

port      port                                  // 接口, 如port1

proto     Protocol number.              //  协议,  如6,tcp协议, 17 udp, 1 icmp

saddr     Source IP address.            //源地址

sport     Source port.                       // 源端口

vd        Index of virtual domain.         //vdom

四、分析示例

RG-WALL# id=36871 trace_id=1 msg="vd-root received a packet(proto=6, 192.168.

1.110:51661->119.253.62.131:80) from internal."id=36871 trace_id=1 msg="allocate a new session-00016920"    //internal口收到数据,建立新会话

id=36871 trace_id=1 msg="find a route: gw-192.168.118.1 via wan1"             //查找到路由表

id=36871 trace_id=1 msg="find SNAT: IP-192.168.118.28, port-43333"                     //检测存在NAT配置

id=36871 trace_id=1 msg="Allowed by Policy-1: SNAT"                       //匹配策略,ID1

id=36871 trace_id=1 msg="SNAT 192.168.1.110->192.168.118.28:43333"         //做NAT

id=36871 trace_id=3 msg="vd-root received a packet(proto=6, 119.253.62.131:80->1

92.168.118.28:43333) from wan1."                                                          // Wan1口收到返回数据包

id=36871 trace_id=3 msg="Find an existing session, id-00016920, reply direction"               //数据包匹配会话id-0001692

id=36871 trace_id=3 msg="DNAT 192.168.118.28:43333->192.168.1.110:51661"                  //做反向的DNAT

id=36871 trace_id=3 msg="find a route: gw-192.168.1.110 via internal"                                //查找路由,发送到internal口

id=36871 trace_id=5 msg="vd-root received a packet(proto=6, 192.168.1.110:51661-

>119.253.62.131:80) from internal."                                      //internal口收到后续数据包

id=36871 trace_id=5 msg="Find an existing session, id-00016920, original direction"              //匹配会话id-0001692  

id=36871 trace_id=5 msg="enter fast path"                                      //直接转发

id=36871 trace_id=5 msg="SNAT 192.168.1.110->192.168.118.28:43333"                //NAT

例:策略拒绝访问

RG-WALL#id=36871 trace_id=23 msg="vd-root received a packet(proto=6, 192.168

.1.110:51768->119.253.62.131:80) from internal."

id=36871 trace_id=23 msg="allocate a new session-00017537"

id=36871 trace_id=23 msg="find a route: gw-192.168.118.1 via wan1"

id=36871 trace_id=23 msg="Denied by forward policy check"      //直接被策略拒绝,检查策略配置问题

常见debug flow结果

没有该项策略,或策略不匹配,数据包被丢弃,msg="iprope_in_check() check failed, drop"

策略动作拒绝,或命中隐含策略, 数据包被拒绝,msg="Denied by forward policy check"

反向路径检查失败,丢弃数据包,msg="reverse path check fail, drop"

会话经由 session-helper 处理,msg="run helper-ftp(dir=original)"

猜你喜欢

转载自blog.csdn.net/weixin_57099902/article/details/133386529