内网主机中病毒导致所有内网用户上网慢问题分析案例

发布时间:  2013-12-26 浏览次数:  649 下载次数:  0
问题描述
客户反馈使用USG2220作为出口网关访问internet,内网上网很慢,几乎无法打开网页。

网络拓扑:

告警信息
防火墙上有大量的CPU 100%的日志信息,如下:

%2013-12-17 16:06:10 USG2200-1 %%01SYSTEM/4/CPU (l): The CPU usage exceeded the threshold (90%). The mgmtplane CPU usage was 30% and dataplane CPU average usage was 100%.
%2013-12-17 16:05:37 USG2200-1 %%01SYSTEM/4/CPU(l): The CPU usage exceeded the threshold (90%). The mgmtplane CPU usage was 30% and dataplane CPU average usage was 100%.
处理过程
(1) 检查防火墙的接口流量,使用命令display interface brief查看接口流量,发现接口流量并不是很大,还没有到达防火墙的性能,所以应该不是流量达到防火墙性能导致的CPU使用率100%。

(2) 于是怀疑网络是否存在攻击,检测防火墙配置发现没有配置攻击防范功能,所以在执行命令display logbuffer查看日志时也没有任何的攻击日志。于是使用命令display firewall statistic system查看防火墙的统计信息,如下:

[USG2200-1]display firewall statistic system
17:27:29  2013/12/17
System statistic information:
         BootCon,            286421904,     Total connection since last reboot
       PeakSpeed,                33815,              Peak session speed(num/s)
    CurSessSpeed,                    4,           Current session speed(num/s)
CurPatSessSpeed,                    4,       Current PAT session speed(num/s)
        TotalCon,                13703,                   Total connection num
      CurHalfCon,                13673,     Total current TCP Half connections

      TcpSession,                13676,             Total current TCP sessions
      UdpSession,                   25,             Total current UDP sessions

通过防火墙的统计信息看,防火墙的峰值新建(PeakSpeed)已经达到了33815多,这个远远超高了USG2200系列防火墙的新建性能,同时,当前防火墙总的连接数(TotalCon)是13703,而TCP半连接数(CurHalfCon)就达到了13673,这说明防火墙上存在大量的异常TCP连接,很有可能是攻击流量。

(3) 为了进一步确认上述分析,于是在防火墙采集会话信息进行分析,会话信息如下:

会话基本信息:
[USG2200-1-diagnose]display  firewall session table
17:55:03  2013/12/17
Current Total Sessions : 22971
  http  [Unknown]  VPN:public --> public 172.30.1.29:25374[x.4.115.179:10499]-->x.63.181.16:80
  http  [Unknown]  VPN:public --> public 172.30.1.29:20379[x.4.115.179:10220]-->x.63.181.16:80
  http  [Unknown]  VPN:public --> public 172.30.1.29:4179[x.4.115.179:10415]-->x.63.181.16:80
  http  [Unknown]  VPN:public --> public 172.30.1.29:26632[x.4.115.179:5969]-->x.63.181.16:80

会话的详细信息:
  [USG2200-1-diagnose]display firewall session table verbose
17:57:28  2013/12/17
Current Total Sessions : 21828
  http  [Unknown]  VPN:public --> public
  Zone: trust--> untrust  TTL: 00:00:05  Left: 00:00:00
  Interface: Eth-Trunk10.303  NextHop: x.4.115.190  MAC: xx-ca-d9-4d-41-00
  <--packets:0 bytes:0   -->packets:1 bytes:1024
  172.30.1.29:27577[x.4.115.179:6825]-->y.60.110.25:80

  http  [Unknown]  VPN:public --> public
  Zone: trust--> untrust  TTL: 00:00:05  Left: 00:00:03
  Interface: Eth-Trunk10.303  NextHop: x.4.115.190  MAC: xx-ca-d9-4d-41-00
  <--packets:0 bytes:0   -->packets:2 bytes:2048
  172.30.1.29:21692[x.4.115.179:9302]-->y.60.110.25:80

  http  [Unknown]  VPN:public --> public
  Zone: trust--> untrust  TTL: 00:00:05  Left: 00:00:00
  Interface: Eth-Trunk10.303  NextHop: x.4.115.190  MAC: xx-ca-d9-4d-41-00
  <--packets:0 bytes:0   -->packets:1 bytes:1024
  172.30.1.29:14380[x.4.115.179:6818]-->y.60.110.25:80
                                       
从以上会话信息可以看到,内网IP地址为172.30.1.29的这台设备在向外网的IP地址为y.60.110.25和x.63.181.70的设备发送大量的http连接请求,而通过详细会话信息可以看出,所有会话都只有单向的报文,外网地址没有任何的回应,会话处于半连接状态。从以上分析基本可以确认内网设备172.30.1.29由于某种原因(中病毒或者木马)在向外网的这两台设备发送大量的http请求报文。同时这些报文防火墙上占有大量的会话资源并消耗防火墙的新建性能,最终影响其他内网用户的正常业务。
根因
根据故障现象和设备上日志信息初步判断内网用户上网慢的问题是由于USG防火墙CPU 使用率100%后无法正常转发报文导致。而导致防火墙CPU使用率100%的可能原因如下:

(1) 经过防火墙的流量太大,超过了防火墙的性能,导致CPU使用率100%;
(2) 防火墙或者内网被攻击了,导致CPU使用率100%;
建议与总结
解决方案:
    综上所述,由于内网设备中病毒,向公网IP地址发送大量的http请求报文,导致防火墙上存在大量的新建会话,使CPU使用率一直在100%左右,最终影响正常业务的转发。可以通过在防火墙开启http-flood 的攻击防范功能来解决,相关命令如下:
[sysname] firewall defend http-flood enable
[sysname] firewall defend http-flood source-detect interface all alert-rate 1000 max-rate-number 2000  (各阈值根据实际情况设置)
最根本的解决方法是解决内网的攻击源的问题,从根本上消除攻击流量。

建议:
    在分析上网慢一类的问题时要注意从多方面进行分析,首先确认防火墙是否有异常的日志和告警,防火墙统计信息是否有异常,流量是否异常等,根据不同的信息在继续进行分析。

END