USG6650虚墙策略路由造成回包路径不一致问题

发布时间:  2016-05-09 浏览次数:  105 下载次数:  0
问题描述

USG6650V100R001C30SPC100)、AVEV100R001C00SPC100)、WAFV100R001C00SPC200

防火墙启用了虚墙并在根墙和虚墙上都做了PBR,想要达到的效果就是需要访问HTTPHTTPS的业务,都必须从WAF经过,这样可以有效的防止网页被篡改,但是经过配置发现从根墙到虚墙的PBR成功,而反方向的却并没有成功。

首先我们分析拓扑如下:USG根墙与虚墙直接有两条三层互联,一条互联链路串联一台waf、另一条互联链路直接串联一台aveavewaf均为透明串联部署。根墙与虚墙之间采用策略路由方式进行选路。路径控制为:(1)非http流量:互联网---根墙—ave—虚墙---服务器,反向流量路径相同;(2http流量:互联网---根墙---waf---虚墙---服务器,服务器不允许主动访问外网 。

告警信息
处理过程

1、首先从客户内网侧打开网页,从而形成TCP三次握手的报文;

2、登录防火墙,进入监控界面,查看TCP报文(可使用过滤功能对特定网段进行过滤,方便查找),发现TCP三次握手报文不完整,经过比对发现来回路径不一致;如下图所示:故障发生时,在根墙墙上针对互联waf这个接口查看该流量的会话表信息显示为收到了tcp syn报文和ack报文,判断该报文的交互过程分析出syn报文和ack报文均由客户端发起,该接口未收到syn+ack报文,因waf串在这个端口下透明部署的,可以得出waf上未收到完整的tcp交互报文,导致站点故障

3、分析tcpsyn报文路径为互联网---根墙---waf---虚墙服务器这条路径没有问题,服务器正确回包路径为服务器虚墙---waf---根墙互联网,但是服务器回包并未走这条路径,所以可以判断故障最大可能为虚墙的策略路由配置错误;

4、进入虚墙查看配置,发现策略路由与根墙的配置一致(都是匹配httphttps目的端口);

通过策略路由设计原则判断,客户端访问服务器的http端口是目的80端口,而服务器向客户端回包的端口为源端口为80端口,所以需要将虚墙上策略路由的服务集配置为匹配源端口80443端口。

根因

虚墙上配置的PBR与根墙一致(主要是源区域、源地址池和源目的端口号),导致匹配虚墙的PBR规则时,匹配不上,就不走PBR而走其他路由。

解决方案

将虚墙的PBR配置中源区域、源地址池和源端口号与目的区域、目的地址池和目的端口号交换(原来的配置为:源区域是untrust该为trust,源地址池为外网地址改为客户内网地址,源端口号为任意改为808080

配置完成后在防火墙上抓包验证配置:

针对waf这条链路上抓包的信息显示TCP三次握手过程完整,客户端可以正常打开服务器web页面,问题解决。

建议与总结

在配置USG6000的基于服务、应用的策略路由时一定要确定好用户业务交互的流程用作判断策略路由匹配时在什么位置需要配置源端口,什么位置需要匹配目的端口,特别在waf部署场景下一定要保证业务交互数据包来回路径一致。

END