2018/3/26 ,共計310G左右的DDoS攻擊
臨時解決辦法:將web服務轉移到同生產一個內網段的備份服務器a上,a提供web端口80,數據庫通過內網連接還是沿用生產數據庫。
后續解決辦法:通過跳板登錄生產服務器,通過抓包可看出是NTP反射放大攻擊,直接關閉ntp服務,如果需要用到ntp服務,之后再在安全組和防火牆設置屏蔽規則,攔截目的或者源端口為相應服務端口(123)的所有UDP報文,再開放自己信任IP即可。如下設置防火牆屏蔽規則:
-A INPUT -p udp -m udp --sport 123 -j DROP
-A INPUT -p udp -m udp --dport 123 -j DROP
-A OUTPUT -p udp -m udp --sport 123 -j DROP
-A OUTPUT -p udp -m udp --dport 123 -j DROP
抓包分析
NTP反射和放大攻擊
無論是基於 DNS 還是基於 NTP,其最終都是基於 UDP 協議的。在 UDP 協議中正常情況下客戶端發送請求包到服務端,服務端返回響應包到客戶端,但是 UDP 協議是面向無連接的,所以客戶端發送請求包的源 IP 很容易進行偽造,當把源 IP 修改為受害者的 IP,最終服務端返回的響應包就會返回到受害者的 IP。這就形成了一次反射攻擊。
放大攻擊就是一次小的請求包最終會收到一個或者多個多於請求包許多倍的響應包,這樣就達到了四兩撥千斤的效果。
什么是 NTP 的反射和放大攻擊,NTP 包含一個 monlist 功能,也被成為 MON_GETLIST,主要用於監控 NTP 服務器,NTP 服務器響應 monlist 后就會返回與 NTP 服務器進行過時間同步的最后 600 個客戶端的 IP,響應包按照每 6 個 IP 進行分割,最多有 100 個響應包。
抓包結果:
就按此次通信回包比為1:100來算,數據量比就為:482bytes : 100x482bytes,等於100倍,實際倍數還可能更大,可怕啊。
ECS反射型DDoS攻擊解決方法(阿里雲文檔)
問題現象
由於某些服務配置不當,導致服務器被黑客利用進行DDoS攻擊。具體表現為機器對外帶寬占滿;使用抓包工具檢測,可看到大量同一源端口的包對外發出。
解決方案
Linux系統
1. 加固NTP服務
1) 通過Iptables配置只允許信任的IP訪問本機UDP的123端口。
修改配置文件,然后執行以下命令:
echo "disable monitor" >> /etc/ntp.conf
執行以下命令重啟NTP服務:
service ntpd restart
2) 我們建議您直接關閉掉NTP服務,並禁止其開機自啟動。
執行service ntpd stop命令。
執行chkconfig ntpd off命令。
2. 加固Chargen服務
1) 通過Iptables配置只允許信任的IP訪問本機UDP的19端口。
2) 我們建議您直接關閉掉chargen服務。編輯配置文件”/etc/inetd.conf”,用#號注釋掉chargen服務,然后重啟inetd服務。
Windows系統
1. 加固Simple TCP/IP服務
注意: Windows系統默認不安裝Simple TCP/IP服務,如果您無需使用此服務,可跳過此步驟。
1) 通過防火牆配置,只允許信任的IP訪問本機UDP、TCP的19、17端口。
2) 我們建議您直接關閉Simple TCP/IP服務,並禁止自啟動。
2. Web應用的加固
Wordpress的Pingback
1) 您可以通過增加Wordpress插件來防止Pinback被利用,加入如下過濾器:
add_filter( ‘xmlrpc_methods’, function( $methods ) {
unset( $methods[‘pingback.ping’] );
return $methods;
} );
2) 建議您直接刪除xmlrpc.php文件。