CentOS上NTP服務的DDOS攻擊解決辦法
引言: 在網路上,Linux伺服器大行其道,但是也備受攻擊。本文將描述在實際中碰到的NTP攻擊問題以及相應的解決辦法。
1. 場景描述
Aliyun上的ECS一臺,過一段時間,頻繁報警,說是流量過大,遭到了DDOS攻擊,服務將被隔離,並停止響應服務一段時間,進行流量清晰。 總之,服務被DDOS搞掛了,不可用。
2. 分析
通過提交工單,獲取了訪問的日誌資訊cap檔案。開啟之後,看到了大量的NTP服務資訊:
19 0.000140 188.162.1.140 115.29.44.161 NTP 482 NTP Version 2, private
經過基於埠和程序的查詢,都是基於123埠的連線請求大量佔用資源, 而123埠是NTP服務的埠,故基本確定是NTP服務被外部反覆請求造成的。
3. 何為NTP?
NTP伺服器【Network Time Protocol(NTP)】是用來使計算機時間同步化的一種協議,它可以使計算機對其伺服器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標準間差小於1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議攻擊。時間按NTP伺服器的等級傳播。按照離外部UTC源的遠近把所有伺服器歸入不同的Stratum(層)中。
參考資訊; http://baike.baidu.com/link?url=y5y33eP0oLaSRg6pPMGDM6i-KPDxHwAQuHh84SAn_JBayZswqUEt2fWSadUrMn3uu7MeVA-ZCib6wCDCrqSA8K
4. 如何來解決:
伺服器現象:
由於您機器上的服務配置不當,導致被黑客利用進行DDOS攻擊,表現為機器對外頻寬佔滿,使用抓包工具,可以看到大量同一源埠的包對外發出。
Linux系統:
加固NTP服務:
1、通過Iptables配置只允許信任的IP,訪問本機的UDP的123埠,修改配置檔案執行echo "disable monitor" >> /etc/ntp.conf,然後重啟NTP服務,service ntpd restart。
2、建議您直接關閉掉NTP服務,執行service ntp stop,並禁止其開機自啟動執行chkconfig ntpd off。
加固Chargen服務:
1、通過Iptables配置中允計信任的IP,訪問本機的UDP的19埠。
2、建議您直接關閉掉chargen服務,編輯配置檔案 "/etc/inetd.conf",使用#號註釋掉chargen服務,重啟inetd。
Windows系統:
加固Simple tcp/ip服務:
1、通過防火牆配置,只允許信任的IP,訪問本機UDP、TCP的19、17埠。
2、我們建議您直接如下圖配置關閉該服務,並禁止自啟動。
WEB應用的加固:
Wordpress的Pingback:
1、您可以通過增加Wordpress外掛來阻止Pinback被利用,加入如下的過濾器:
add_filter( ‘xmlrpc_methods’, function( $methods ) {
unset( $methods[‘pingback.ping’] );
return $methods;
} );
2、我們建議您,直接刪除檔案xmlrpc.php。
5. 參考資料:
- https://help.aliyun.com/knowledge_detail/37527.html