使用多个DNS供应商以缓解DDoS攻击
隨著不安全物聯(lián)網(wǎng)(IoT)設(shè)備的激增,針對域名系統(tǒng)(DNS)供應(yīng)商的分布式拒絕服務(wù)(DDoS)攻擊在數(shù)量和規(guī)模上正在不斷增加。這些攻擊隨之影響依賴于這些供應(yīng)商進行域名解析的網(wǎng)站。雖然DNS供應(yīng)商采取了各種方法來保護自己免受此類攻擊,但網(wǎng)站保護自身的方法之一是使用多個DNS供應(yīng)商。
2016年發(fā)生了史上最大規(guī)模之一的DDoS攻擊,這一攻擊是針對DNS供應(yīng)商Dyn的。此次攻擊前后有三波,它通過已感染Mirai惡意軟件的物聯(lián)網(wǎng)設(shè)備組成的僵尸網(wǎng)絡(luò)進行攻擊。許多公司都受到此次攻擊的影響,比如Amazon、Paypal、Reddit和Github。該攻擊導(dǎo)致Dyn無法響應(yīng)由其域名服務(wù)器解析的域名的有效DNS查詢,以至于終端用戶無法訪問相關(guān)域名。
據(jù)Dyn技術(shù)副總裁Phil Stanhope所說,此次Dyn攻擊事件還包括一個基于TCP SYN cookie的攻擊,該攻擊利用了Linux內(nèi)核的一個錯誤。SYN cookie是一種用于緩解SYN flood攻擊的方法,SYN flood攻擊通過連續(xù)發(fā)送TCP SYN請求來耗盡目標(biāo)系統(tǒng)的資源。然而,SYN cookie也有自己的問題,在Linux 3.x版本中,一個系統(tǒng)級別的鎖用于生成SYN cookie。由于這個級別的鎖定,無論內(nèi)核實際數(shù)量多少,系統(tǒng)均如單核系統(tǒng)一樣運行,從而降低了其實際處理能力。Linux 4.x版本通過使用針對各個CPU內(nèi)核的局部鎖來解決這個問題。
DNS供應(yīng)商采用了各種方法來防止攻擊,比如清理(scrubbing)。清理是通過第三方來過濾所有流量。第三方以提供保護為服務(wù),清除惡意流量,使合法流量通過并到達(dá)最終目的地。許多廠商提供這樣的服務(wù),比如Akamai、AT&T、Verizon和Arbor Networks。
對某個網(wǎng)站或域名的任何HTTP(或其他協(xié)議)請求,都需進行DNS查詢,以將域名解析為一個或多個IP地址。該請求穿行于域名中各個級別的授權(quán)服務(wù)器的多個解析器。例如,對www.infoq.com的請求,首先是根服務(wù)器,然后再查詢.com的頂級域名(TLD)服務(wù)器,最后查詢infoq.com的授權(quán)服務(wù)器。整個過程中的解析器可能會緩存結(jié)果,以便更快地進行后續(xù)響應(yīng)。緩存可以由DNS響應(yīng)中的生存時間(TTL)值控制。針對infoq.com授權(quán)服務(wù)器的DDoS攻擊可能使得這些授權(quán)服務(wù)器無法響應(yīng)有效查詢,并且最終導(dǎo)致整個網(wǎng)站無法訪問。
一般來說,DNS服務(wù)器冗余可以防止此類中斷。也就是說任何商業(yè)DNS供應(yīng)商都將為一個既定域名提供多個DNS服務(wù)器。dig或drill命令可用于查看域名服務(wù)器記錄(下面以infoq.com為例)。
但是,如果某個供應(yīng)商遭到DDoS攻擊,那么可能其所有的域名服務(wù)器都會受到影響。因此使用多個DNS供應(yīng)商有助于解決這一問題。
要使用多個DNS供應(yīng)商,必須允許編輯各個DNS供應(yīng)商的域名服務(wù)器記錄,以便所有記錄都可以作為響應(yīng)的一部分進行發(fā)送。另外,每個供應(yīng)商都將擁有多個域名服務(wù)器,并且各供應(yīng)商的所有域名服務(wù)器的順序是打亂的。這樣對一個供應(yīng)商的失敗請求會引起對另一個供應(yīng)商的請求,而不是一直在嘗試第一個供應(yīng)商的所有其他域名服務(wù)器,因為這些服務(wù)器可能也是失效的。
確保DNS可靠性的其他方法還有Anycast,在這個方法中,多個域名服務(wù)器具有相同IP地址。進行DNS查詢時,數(shù)據(jù)包被傳送到最近的域名服務(wù)器。在失效的情況下,數(shù)據(jù)包由底層路由協(xié)議自動傳送到最近的有效域名服務(wù)器。
設(shè)置正確的TTL非常重要,這樣即使記錄由服務(wù)于響應(yīng)的中間服務(wù)器進行緩存,也可以實現(xiàn)發(fā)生故障時切換到輔助服務(wù)器。正如Stanhope在Velocity的演講中所說,未來NetOps、DevOps、SecOps和SRE團隊之間需要更多的協(xié)作來緩解這種攻擊。
本文轉(zhuǎn)自d1net(轉(zhuǎn)載)
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的使用多个DNS供应商以缓解DDoS攻击的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 博耳电力中标上海万国数据中心项目
- 下一篇: vi/vim 中批量在行插入或删除指定字