DDoS攻擊是指通過(guò)僵尸網(wǎng)絡(luò)利用各種服務(wù)請(qǐng)求耗盡被攻擊網(wǎng)絡(luò)的系統(tǒng)資源,造成被攻擊網(wǎng)絡(luò)無(wú)法處理合法用戶的請(qǐng)求。
針對(duì)DNS的DDoS攻擊又可按攻擊發(fā)起者和攻擊特征進(jìn)行分類:
1、按攻擊發(fā)起者分類 僵尸網(wǎng)絡(luò):控制大批僵尸網(wǎng)絡(luò)利用真實(shí)DNS協(xié)議棧發(fā)起大量域名查詢請(qǐng)求 模擬工具:利用工具軟件偽造源IP發(fā)送海量DNS查詢
2、按攻擊特征分類 Flood攻擊:發(fā)送海量DNS查詢報(bào)文導(dǎo)致網(wǎng)絡(luò)帶寬耗盡而無(wú)法傳送正常DNS 查詢請(qǐng)求。資源消耗攻擊:發(fā)送大量非法域名查詢報(bào)文引起DNS服務(wù)器持續(xù)進(jìn)行迭代查詢,從而達(dá)到較少的攻擊流量消耗大量服務(wù)器資源的目的。
應(yīng)對(duì)辦法:
1、屏蔽未經(jīng)請(qǐng)求發(fā)送的DNS響應(yīng)信息
一個(gè)典型的DNS交換信息是由請(qǐng)求信息組成的。DNS解析器會(huì)將用戶的請(qǐng)求信息發(fā)送至DNS服務(wù)器中,在DNS服務(wù)器對(duì)查詢請(qǐng)求進(jìn)行處理之后,服務(wù)器會(huì)將響應(yīng)信息返回給DNS解析器。但值得注意的是,響應(yīng)信息是不會(huì)主動(dòng)發(fā)送的。服務(wù)器在沒有接收到查詢請(qǐng)求之前,就已經(jīng)生成了對(duì)應(yīng)的響應(yīng)信息,回應(yīng)就被丟棄丟棄快速重傳數(shù)據(jù)包。1.即便是在數(shù)據(jù)包丟失的情況下,任何合法的DNS客戶端都不會(huì)在較短的時(shí)間間隔內(nèi)向同一DNS服務(wù)器發(fā)送相同的DNS查詢請(qǐng)求。2.如果從相同IP地址發(fā)送至同一目標(biāo)地址的相同查詢請(qǐng)求發(fā)送頻率過(guò)高,這些請(qǐng)求數(shù)據(jù)包可丟棄。
2、啟用TTL
如果DNS服務(wù)器已經(jīng)將響應(yīng)信息成功發(fā)送了,應(yīng)該禁止服務(wù)器在較短的時(shí)間間隔內(nèi)對(duì)相同的查詢請(qǐng)求信息進(jìn)行響應(yīng)。1.對(duì)于一個(gè)合法的DNS客戶端如果已經(jīng)接收到了響應(yīng)信息,就不會(huì)再次發(fā)送相同的查詢請(qǐng)求。2.每一個(gè)響應(yīng)信息都應(yīng)進(jìn)行緩存處理直到TTL過(guò)期。3.當(dāng)DNS服務(wù)器遭遇大量查詢請(qǐng)求時(shí),可以屏蔽掉不需要的數(shù)據(jù)包。丟棄未知來(lái)源的DNS查詢請(qǐng)求和響應(yīng)數(shù)據(jù)通常情況下,攻擊者會(huì)利用腳本來(lái)對(duì)目標(biāo)進(jìn)行分布式拒絕服務(wù)攻擊(DDoS攻擊),而且這些腳本通常是有漏洞的。因此,在服務(wù)器中部署簡(jiǎn)單的匿名檢測(cè)機(jī)制,在某種程度上可以限制傳入服務(wù)器的數(shù)據(jù)包數(shù)量。丟棄未經(jīng)請(qǐng)求或突發(fā)的DNS請(qǐng)求這類請(qǐng)求信息很可能是由偽造的代理服務(wù)器所發(fā)送的,或是由于客戶端配置錯(cuò)誤或者是攻擊流量。所以無(wú)論是哪一種情況,都應(yīng)該直接丟棄這類數(shù)據(jù)包。非泛洪攻擊 (non-flood) 時(shí)段,創(chuàng)建一個(gè)白名單,添加允許服務(wù)器處理的合法請(qǐng)求信息。白名單可以屏蔽掉非法的查詢請(qǐng)求信息以及此前從未見過(guò)的數(shù)據(jù)包。這種方法能夠有效地保護(hù)服務(wù)器不受泛洪攻擊的威脅,也能保證合法的域名服務(wù)器只對(duì)合法的DNS查詢請(qǐng)求進(jìn)行處理和響應(yīng)。
3、啟動(dòng)DNS客戶端驗(yàn)證
偽造是DNS攻擊中常用的一種技術(shù)。如果設(shè)備可以啟動(dòng)客戶端驗(yàn)證信任狀,便可以用于從偽造泛洪數(shù)據(jù)中篩選出非泛洪數(shù)據(jù)包。對(duì)響應(yīng)信息進(jìn)行緩存處理如果某一查詢請(qǐng)求對(duì)應(yīng)的響應(yīng)信息已經(jīng)存在于服務(wù)器的DNS緩存之中,緩存可以直接對(duì)請(qǐng)求進(jìn)行處理。這樣可以有效地防止服務(wù)器因過(guò)載而發(fā)生宕機(jī)。
很多請(qǐng)求中包含了服務(wù)器不具有或不支持的信息,我們可以進(jìn)行簡(jiǎn)單的阻斷設(shè)置,例如外部IP地址請(qǐng)求區(qū)域轉(zhuǎn)換或碎片化數(shù)據(jù)包,直接將這類請(qǐng)求數(shù)據(jù)包丟棄。利用ACL,BCP38,及IP信譽(yù)功能的使用托管DNS服務(wù)器的任何企業(yè)都有用戶軌跡的限制,當(dāng)攻擊數(shù)據(jù)包被偽造,偽造請(qǐng)求來(lái)自世界各地的源地址。設(shè)置一個(gè)簡(jiǎn)單的過(guò)濾器可阻斷不需要的地理位置的IP地址請(qǐng)求或只允許在地理位置白名單內(nèi)的IP請(qǐng)求。
還有一種情況,某些偽造的數(shù)據(jù)包可能來(lái)自與內(nèi)部網(wǎng)絡(luò)地址,可以利用BCP38通過(guò)硬件過(guò)濾也可以清除異常來(lái)源地址的請(qǐng)求。BCP38對(duì)于提供DNS解析的服務(wù)提供商也相當(dāng)有用,可以避免用戶向外發(fā)送攻擊或受到內(nèi)部地址請(qǐng)求的攻擊,過(guò)濾用戶并保證其數(shù)據(jù)傳輸。
4、提供余量帶寬
如果服務(wù)器日常需要處理的DNS通信量達(dá)到了X Gbps,請(qǐng)確保流量通道不止是日常的量,有一定的帶寬余量可以有利于處理大規(guī)模攻擊。結(jié)語(yǔ),目前針對(duì)DNS的攻擊已成為最嚴(yán)重的網(wǎng)絡(luò)威脅之一。目前越來(lái)越多的大型網(wǎng)站注重DNS保護(hù)這一塊。為保障網(wǎng)站安全,保障網(wǎng)站利益,選擇高防型的DNS為自己的域名進(jìn)行解析已經(jīng)迫在眉睫。






