信息安全應該懂的NTP服務放大攻擊以及檢測預防手段,值得收藏
今天主要介紹一下NTP服務放大攻擊以及常用的檢測預防手段。
一、什么是NTP服務放大攻擊?
NTP放大攻擊是一種基于反射的體積分布式拒絕服務(DDoS)攻擊,其中攻擊者利用網(wǎng)絡時間協(xié)議(NTP)服務器功能,以便用一定數(shù)量的UDP流量壓倒目標網(wǎng)絡或服務器,使常規(guī)流量無法訪問目標及其周圍的基礎設施。
標準NTP 服務提供了一個 monlist查詢功能,也被稱為MON_GETLIST,該功能主要用于監(jiān)控 NTP 服務器的服務狀況,當用戶端向NTP服務提交monlist查詢時,NTP 服務器會向查詢端返回與NTP 服務器進行過時間同步的最后 600 個客戶端的 IP,響應包按照每 6 個 IP 進行分割,最多有 100 個響應包。由于NTP服務使用UDP協(xié)議,攻擊者可以偽造源發(fā)地址向NTP服務進行monlist查詢,這將導致NTP服務器向被偽造的目標發(fā)送大量的UDP數(shù)據(jù)包,理論上這種惡意導向的攻擊流量可以放大到偽造查詢流量的100倍。
二、NTP放大攻擊四個步驟
攻擊者使用僵尸網(wǎng)絡將帶有欺騙IP地址的UDP數(shù)據(jù)包發(fā)送到啟用了monlist命令的NTP服務器。每個數(shù)據(jù)包上的欺騙IP地址指向受害者的真實IP地址。每個UDP數(shù)據(jù)包使用其monlist命令向NTP服務器發(fā)出請求,從而產(chǎn)生大量響應。然后,服務器使用結果數(shù)據(jù)響應欺騙地址。目標的IP地址接收響應,周圍的網(wǎng)絡基礎設施因流量泛濫而變得不堪重負,導致拒絕服務。
由于攻擊流量看起來像來自有效服務器的合法流量,因此很難在不阻止真正NTP服務器合法活動的情況下減輕此類攻擊流量。由于UDP數(shù)據(jù)包不需要握手,因此NTP服務器將向目標服務器發(fā)送大量響應,而不驗證請求是否可信。這些事實與內置命令相結合,默認情況下發(fā)送大量響應,使NTP服務器成為DDoS放大攻擊的極好反射源。
三、如何查看是否遭受NTP放大攻擊?
如果網(wǎng)絡上檢測到大流量的UDP 123端口的數(shù)據(jù),就可以確認正在遭受此類攻擊。
攻擊以及檢測預防手段,值得收藏" src="http://p3.pstatp.com/large/pgc-image/8c290313689b4fd6864f807fbfba8281" _fcksavedurl="http://p3.pstatp.com/large/pgc-image/8c290313689b4fd6864f807fbfba8281" width="640" height="359">
四、如何防范NTP放大攻擊?
1. linux系統(tǒng)升級
將系統(tǒng)中的NTP服務升級到 ntpd 4.2.7p26 或之后的版本,因為 ntpd 4.2.7p26 版本后,服務默認是關閉monlist查詢功能的。
2. 關閉現(xiàn)在 NTP 服務的 monlist 功能
在ntp.conf配置文件中增加(或修改)“disable monitor”選項,可以關閉現(xiàn)有NTP服務的monlist功能。修改并保存配置文件之后,重啟ntpd服務。
3. 在網(wǎng)絡出口封禁 UDP 123 端口
在攻擊發(fā)生時,通過網(wǎng)絡設備的ACL丟棄UDP 123端口的數(shù)據(jù)包。
放大反射 Dos 攻擊由 CVE-2013-5211 所致。且這漏洞是與 molist 功能有關。ntpd 4.2.7p26 之前的版本都會去響應 NTP 中的 mode7 monlist 請求。ntpd-4.2.7p26 版本后, monlist 特性已經(jīng)被禁止,取而代之的是 mrulist 特性,使用 mode6 控制報文,并且實現(xiàn)了握手過程來阻止對第三方主機的放大攻擊。