020SNAT暴增分析

一、现象

二、分析处理

(1)

netstat -anp | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn
   1064 101.x.xx.xx
    256 47.x.x.x8
    205 10.x.0.x
    197 10.x.7.x
    166 10.x.x.6
    163 47.x.x.x

同一服务主动向同一个地址向外发起大量https请求,主动关闭tcp连接,进入2MSL等待服务端回应,大量处于TIME_WAIT的状态

(2)带宽使用率高问题分析

如果是正常业务访问以及正常应用进程导致的带宽使用率高,需要升级服务器的带宽进行解决。如果是非正常访问,如某些特定IP的恶意访问,或者服务器遭受到了CC攻击。或者异常进程导致的带宽使用率高。可以通过流量监控工具nethogs来实时监测统计各进程的带宽使用情况,并进行问题进程的定位。

  • 使用nethogs工具进行排查
    1. 执行以下命令,安装nethogs工具。

      yum install nethogs -y

      安装成功后可以通过netgos命令查看网络带宽的使用情况。

      nethogs命令常用参数说明如下:
      • -d:设置刷新的时间间隔,默认为 1s。
      • -t:开启跟踪模式。
      • -c:设置更新次数。
      • device:设置要监测的网卡,默认是eth0。
      运行时可以输入以下参数完成相应的操作:
      • q:退出nethogs工具。
      • s:按发送流量大小的顺序排列进程列表。
      • r:按接收流量大小的顺序排列进程列表。
      • m:切换显示计量单位,切换顺序依次为KB/s、KB、B、MB。
    2. 执行以下命令,查看指定的网络端口每个进程的网络带宽使用情况。

      nethogs eth1

      回显参数说明如下:
      • PID:进程 ID。
      • USER:运行该进程的用户。
      • PROGRAM:进程或连接双方的IP地址和端口,前面是服务器的IP和端口,后面是客户端的IP和端口。
      • DEV:流量要去往的网络端口。
      • SENT:进程每秒发送的数据量。
      • RECEIVED:进程每秒接收的数据量。
    3. 终止恶意程序或者屏蔽恶意访问IP。

      如果确认大量占用网络带宽的进程是恶意进程,可以使用kill PID命令终止恶意进程。

      如果是某个IP恶意访问,可以使用iptables服务来对指定IP地址进行处理,如屏蔽IP地址或限速。

  • 使用Web应用防火墙防御CC攻击

    若服务遭受了CC攻击,请在Web应用防火墙控制台开启CC安全防护。Web应用防火墙的使用指导请参见配置CC防护策略

 

posted @ 2023-08-22 15:41  arun_yh  阅读(16)  评论(0编辑  收藏  举报