H省移动公司DNS防火墙故障处理

  一、 项目概况

  H省移动公司DNS平台原来采用两台DNS服务器,采用主备方式工作。2010年对DNS平台进行升级。本次扩容新增2台sun T2000服务器,2台radware AD 2016负载均衡器。扩容后原有DNS地址211.142.210.98、211.142.210.99、211.142.210.100、211.142.210.101配置在AD 2016负载均衡器上,两台负载均衡器为热备。用户DNS请求由负载均衡器分配至多台服务器上,实现负载均衡。新增1台IBM 3650作为DNS管理主机。网络平台新购若干设备,改造后的网络平台拓扑如下:

  

图片3.png


  本项目中新增两台Secpath F1800防火墙,对外与华为9306相连,对内与思科2960相连。两台F1800防火墙启用VRRP协议,DNS服务器区的网关设置在F1800上。平时流量主要从F1800-1转发,F1800对外与华为9306之间启用OSPF协议,通过调整OSPF协议的COST值实现路由选择;F1800对内通过调整VRRP协议的优先级实现主备选择。在F1800防火墙上对从外网进入DNS服务器区的流量进行了安全控制。

  二、 DNS解析缓慢故障现象

  在正式割接时,发现新系统一旦上线,监测到在DNS服务器集群内发生大量的广播包,影响系统运行,DNS解析速度缓慢。经过多方排查,用户发现只需要关掉一台Secpath F1800防火墙的下联接口就能消除故障。于是认为是防火墙的性能问题或者是软件BUG,要求我司解决此问题。

  三、 故障解决过程

  故障的排查过程如下:

  1、故障出现时,在思科2960交换机上镜像F1800-2的内网接口,然后进行抓包分析,得到的信息如下:

  

图片4.png
图片5.png

发现内网数据中99%以上都是211.142.210.100为源地址发出的DNS响应报文,而目的地址基本有两个211.142.210.96和211.142.210.111,是211.142.210.100这个DNS服务器所在网段的网络地址和广播地址。此时怀疑是211.142.210.100这台服务器中了病毒,发送大量的攻击报文。但经检查,排除了这个原因。既然不是内网的问题,则可能是外网的攻击导致。


  2、关闭F1800-2与内网的接口,DNS解析情况正常时,在思科2960交换机上镜像F1800-1的内网接口,然后进行抓包分析,得到的信息如下:

  

图片6.png


  

图片7.png

抓包报文源IP为211.142.210.111和211.142.210.96,目的IP为211.142.210.100,源MAC地址为防火墙接口地址,目的MAC为负载均衡设备的虚拟IP。这表明从外网有攻击,外网有PC用源地址为211.142.210.111和211.142.210.96向211.142.210.100发送DNS请求,防火墙设备按照路由表进行转发。


  一个关于攻击更详细的信息如下:

  防火墙收到源IP为211.142.210.111,目标地址为211.142.210.100的DNS请求,按照路由表向负载均衡设备的虚拟连接地址进行转发:

  

图片8.png

负载均衡设备产生一个DNS响应,目的地址是211.142.210.111,目的MAC地址为广播地址:FF:FF:FF:FF:FF:FF,TTL值为254:


  

图片9.png

由于负载均衡设备和防火墙在同一个VLAN内,位于一个广播域,防火墙收到这个报文,查找路由器表,由于有通往211.142.210.111的下一跳,又向负载均衡设备的连接转发,TTL值为253:


  

图片10.png

负载均衡设备收到防火墙的报文后,继续产生一个广播报文,TTL值变为252。


  

图片11.png

防火墙又会收到这个广播报文,产生回应。如此这般,报文在防火墙与负载均衡设备上来回转发,直至TTL变为0。


  四、 故障分析

  经过现场工程师们的充分讨论沟通,确定问题的成因是负载均衡设备对于源地址伪造报文没有直接丢弃,而是错误的以广播DNS响应报文形式在局域网中扩散。同时该报文将TTL值错误的设置为254(正常广播/组播报文的TTL都是1,以此保证不会被无限扩散),而负载均衡设备与防火墙连的互连网段、内部服务器网段均连接在思科2960交换机上,共用一个VLAN、共处一个广播域,负载均衡设备产生响应后,发送的广播包被防火墙收到,防火墙继续会按照路由表向负载均衡设备的连接虚拟地址进行转发。产生大量无用的流量。

  尤其是当F1800-2接入网络后,也会收到负载均衡设备产生DNS响应的广播包。负载均衡设备发出的一个广播包,会得到两台F1800防火墙的回应,这两个回应到达负载均衡设备后,负载均衡设备又发出的广播包在VLAN内扩散到达两台F1800防火墙时生成四个广播包,这四个广播包又被防火墙回应给达负载均衡设备,负载均衡设备将会生成八个广播包。如此这般将会形成2127的流量,呈指数增长,从而导致设备过载,正常DNS响应慢。

  依据此情况,在防火墙的外网接口增加ACL规则,过滤源地址为内网广播地址的攻击报文,问题得以解决。

  但此方法虽然能解决外部发起伪造报文攻击导致的广播问题,但负载均衡设备错误响应的情况仍然没有得到解决。如果伪造攻击是从内网发起的,依然会导致再次形成广播风暴。

  五、 优化建议

  通过故障现象看本质的分析,工程师们认为目前的系统应用仍然存在安全隐患,并提出如下优化建议:

  1、请负载均衡设备厂商提供License或其他方法,解决其设备接到伪造网段广播源地址的DNS请求时,错误回应TTL=255的广播包问题。这是治本之策。

  2、严格控制内网不明终端接入等不安全行为,并为服务器区提供安全防御检测等服务,防止内网服务器中毒操作导致异常攻击,从而引起系统不可用的连锁反应。也就是尽可能的保证内网安全,不产生异常攻击。

  3、将负载均衡设备与防火墙互联、负载均衡设备与服务器区互联、交换机与服务器互联等逻辑连接,划分在不同的VLAN上,这样即使产生了异常广播,也不会迅速规模增长,不会导致广播风暴引起系统不可用。这种方式对网络变更较大,建议慎重考虑。


2016年01月