10種方法簡單處理基于DNS的DDoS攻擊
由于UDP是一種無連接協(xié)議,且可用腳本輕松生成大量UDP數據包而常被用于海量帶寬的DDoS攻擊,也就是UDP泛洪攻擊。
DNS主要采用的是UDP協(xié)議,某些情況下采用TCP協(xié)議, 而UDP/DNS協(xié)議也常被DDoS工具利用。
DNS協(xié)議是一個十分重要的網絡協(xié)議,所以這個協(xié)議的可用性就異常重要。為了讓DNS拒絕服務,惡意攻擊者向允許遞歸的開放DNS解析器發(fā)送大量偽造的查詢請求。目前互聯(lián)網中存在著上百萬開放的DNS解析器,包括很多的家庭網關。
開放的DNS解析器會認為這些偽造的查詢請求是真實有效的,并且會對這些請求進行處理,在處理完成之后,便會向偽造的請求者(即,受害人)返回DNS響應信息。如果查詢請求的數量巨大,DNS服務器很有可能會發(fā)送大量的DNS響應信息。這也就是我們常說的放大攻擊,這種方法利用的是DNS解析器中的錯誤配置。由于DNS服務器配置錯誤,那么DNS解析器很可能會在接收到一個非常小的DNS查詢請求之后,向目標主機返回大量的攻擊流量。在另一種類型的攻擊中,是向DNS服務器發(fā)送未經許可或不符合規(guī)則的查詢請求來進行攻擊。
那么我們就來介紹下如何通過Fortinet所提供的FortiDDoS解決方案中10種簡單而實用的方法來緩解DNS泛洪攻擊所帶來的影響,更好地保護DNS基礎設施。
不允許未經過請求的DNS響應
一個典型的DNS交換信息是由解析器到服務器的請求,以及從服務器到解析器到服務器的響應信息組成。沒有未經過請求的回應,同樣也沒有回應信息也不會被回應信息響應。
FortiDDos部署在DNS解析器之前,DNS解析可以是一個開放的解析器或一臺認證服務器。
這是一種連接在網絡中的設備,其每秒可以處理數百萬次查詢請求,且將查詢信息和相應響應信息記錄在內存表中。
當一個回應已經到達,但如果相應的請求沒有通過,回應就被丟棄。這種機制能夠有效地緩解DDos攻擊影響。
丟棄快速重傳數據包
即便是在數據包丟失的情況下,任何合法的DNS客戶端均不會在較短的時間間隔向同一DNS服務器發(fā)送相同的查詢請求。每個RFC均需遵守查詢重傳數據包的規(guī)則。
因此,如果從相同IP地址發(fā)送至同一目標地址的相同查詢請求發(fā)送頻率過高,那么數據包可丟棄。
如果DNS服務器已經發(fā)送了響應信息,應禁止服務器在較短時間間隔內對相同的查詢請求信息進行響應——啟用TTL
一個合法的DNS客戶端如果已經接收到了響應信息,就不會再次發(fā)送相同的查詢請求。
每一個響應信息都應進行緩存處理直到TTL過期。當DNS遭遇請求泛洪時可以啟動阻斷無關的請求。
丟棄異常來源的DNS請求和響應
通常情況下,攻擊者會利用腳本來對目標進行分布式拒絕服務攻擊(DDoS攻擊),而且這些腳本是有漏洞的,不符合與DNS報頭有關的RFC。在服務器中部署簡單的匿名檢測機制,在某種程度上可以限制泛洪中的數據包數量。
果斷丟棄未經請求或突發(fā)的DNS請求
這類請求信息很可能是由偽造的代理服務器所發(fā)送的,或者由于調試需要客戶端配置錯誤或者是攻擊流量。以上任何一種情況下果斷丟棄數據包。
非泛洪攻擊 (non-flood) 時段,創(chuàng)建一個白名單,添加允許服務器處理的合法請求信息。
白名單可以阻斷非法的查詢請求信息以及非常見數據包。
這種方法可以有效地保護您的服務器不受泛洪攻擊、影子域名 (phantom-domain) 以及影子子域名 (phantom-subdomain) 的威脅。
除此之外,還也可以保證認證服務器只處理合法的域名服務器只對合法的DNS查詢請求進行處理和響應。
啟動DNS客戶端驗證
偽造是DNS攻擊中常用的一種技術。
如果設備可以啟動客戶端驗證信任狀,便可以用于從偽造泛洪數據中篩選出非泛洪數據包。
FortiDDoS就是通過反偽造技術,例如強制TCP傳輸或重傳。
響應緩存避免DNS服務器過載宕機
FortiDDoS內嵌了高性能的DNS緩存工具,使用硬件線路每秒處理百萬DNS請求
遇到泛洪攻擊時,如果響應數據在緩存中,DNS查詢通過上述所有檢測后,緩存便能夠響應,。從而有效地防止服務器因過載而宕機。
使用ACL的權限
許多請求中包含了服務器不具有或不支持的信息,那么可以進行簡單的阻斷設置,例如外部IP地址請求區(qū)域轉換或碎片化數據包,直接丟棄即可。
定位ACL,BCP38,及IP信譽功能的使用
托管DNS服務器的任何企業(yè)都有用戶軌跡的限制。
當攻擊數據包被偽造,偽造請求來自世界各地的源地址。設置一個簡單的過濾器可阻斷不需要的地理位置的IP地址請求或只允許在地理位置白名單內的IP請求。
同樣,偽造是隨機的。有時,某些偽造的數據包可能來自與內部網絡地址。利用BCP38通過硬件過濾也可以清除異常來源地址的請求。
BCP38對于提供DNS解析的服務提供商也相當有用,可以避免用戶向外發(fā)送攻擊或受到內部地址請求的攻擊,過濾用戶并保證其數據傳輸。
余量帶寬
如果日常DNS流量假設是 X Gbps, 確保流量通道不止是日常的量,有一定的帶寬余量可以有利于處理大規(guī)模攻擊。
通過Fortinet FortiDDoS提供的上述10種非常簡單的方法,可以有效地幫助您緩解許多基于DNS的DDoS攻擊,并保證您所提供的服務可以滿足客戶的使用需求。