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工具進行排查
- 執行以下命令,安裝nethogs工具。
安裝成功后可以通過netgos命令查看網絡帶寬的使用情況。
nethogs命令常用參數說明如下:- -d:設置刷新的時間間隔,默認為 1s。
- -t:開啟跟蹤模式。
- -c:設置更新次數。
- device:設置要監測的網卡,默認是eth0。
運行時可以輸入以下參數完成相應的操作:- q:退出nethogs工具。
- s:按發送流量大小的順序排列進程列表。
- r:按接收流量大小的順序排列進程列表。
- m:切換顯示計量單位,切換順序依次為KB/s、KB、B、MB。
- 執行以下命令,查看指定的網絡端口每個進程的網絡帶寬使用情況。
回顯參數說明如下:- PID:進程 ID。
- USER:運行該進程的用戶。
- PROGRAM:進程或連接雙方的IP地址和端口,前面是服務器的IP和端口,后面是客戶端的IP和端口。
- DEV:流量要去往的網絡端口。
- SENT:進程每秒發送的數據量。
- RECEIVED:進程每秒接收的數據量。
- 終止惡意程序或者屏蔽惡意訪問IP。
如果確認大量占用網絡帶寬的進程是惡意進程,可以使用kill PID命令終止惡意進程。
如果是某個IP惡意訪問,可以使用iptables服務來對指定IP地址進行處理,如屏蔽IP地址或限速。
- 執行以下命令,安裝nethogs工具。
- 使用Web應用防火墻防御CC攻擊
若服務遭受了CC攻擊,請在Web應用防火墻控制臺開啟CC安全防護。Web應用防火墻的使用指導請參見配置CC防護策略。


浙公網安備 33010602011771號