在設計 DNS 時並未考慮安全性,因此目前建立了許多類型的攻擊來利用 DNS 系統中的漏洞。
閱讀本文後,您將能夠:
複製文章連結
DNS 安全性是保護 DNS 基礎結構免受網路攻擊的做法,以便保持其快速且可靠地執行。有效的 DNS 安全性策略包含了許多重疊的防禦措施,包括建立備援 DNS 伺服器、套用 DNSSEC 等安全通訊協定,以及要求嚴格的 DNS 日誌記錄。
與許多網際網路通訊協定一樣,在設計 DNS 系統時並未考慮安全性,並且該系統存在一些設計限制。這些限制與技術的進步相結合,使 DNS 伺服器容易遭受各種攻擊,包括欺詐、放大、DoS(阻斷服務)或私人個人資訊攔截。而且,由於 DNS 是大多數網際網路請求不可或缺的一部分,因此它可能成為攻擊的主要目標。
此外,DNS 攻擊經常與其他網路攻擊一起部署,以轉移安全團對真正目標的注意力。組織需要能夠快速緩解 DNS 攻擊,這樣他們就不會因為太忙而無法處理透過其他媒介同時發起的攻擊。
攻擊者發現了眾多針對和利用 DNS 伺服器的方法。以下是一些最常見的 DNS 攻擊:
DNS 詐騙/快取記憶體中毒:這種攻擊會將偽造的 DNS 資料引入 DNS 解析程式的快取記憶體中,造成解析程式傳回不正確的網域 IP 位址。流量可能會被轉移到惡意電腦或攻擊者想要的其他任何位置,而不是前往正確網站;通常,這將是用於惡意目的的原始網站副本,例如分發惡意程式碼或收集登入資訊。
DNS 通道建立:此攻擊使用其他通訊協定,透過 DNS 查詢和回應建立通道。攻擊者可以使用 SSH、TCP 或 HTTP 以將惡意程式碼或竊取的資訊傳遞至 DNS 查詢中,並且不會被大部分的防火牆偵測到。
DNS 劫持:在 DNS 劫持中,攻擊者將查詢重新導向至不同的網域名稱伺服器。這可透過惡意程式碼或未經授權的 DNS 伺服器修改來實現。儘管其結果與 DNS 詐騙的結果相似,但這是一種截然不同的攻擊,因為其目標是名稱伺服器上網站的 DNS 記錄,而不是解析程式的快取記憶體。
NXDOMAIN 攻擊:這是一種 DNS 洪水攻擊,攻擊者會要求不存在的記錄,藉由這樣的請求讓 DNS 伺服器應接不暇,企圖造成合法流量的阻斷服務。這可使用複雜的攻擊工具來實現,這些工具可為每個請求自動生成唯一子網域。NXDOMAIN 攻擊還可將遞迴解析程式作為目標,目標是用垃圾請求填充解析程式的快取記憶體。
幻影網域攻擊;幻影網域攻擊的結果與 DNS 解析程式的 NXDOMAIN 攻擊相似。攻擊者設定一串「幻影」網域伺服器,這會以非常緩慢的速度回應請求,或完全不回應請求。然後解析程式會因為對這些網域洪水般的請求而遭受攻擊,解析程式被困在等待回應的過程中,導致效能緩慢和阻斷服務。
隨機網域攻擊:在此情況下,攻擊者對某個合法網站的數個不存在的隨機子網域傳送 DNS 查詢。其目標是為該網域的權威名稱伺服器建立拒絕服務,從而使其無法從名稱伺服器尋找網站。其副作用是,為攻擊者提供服務的 ISP 也可能會受到影響,因為其遞迴解析程式的快取記憶體將被載入錯誤請求。
網域鎖定攻擊:攻擊者策畫此形式的攻擊時,會設定特殊網域和解析程式,用來建立與其他合法解析程式的 TCP 連線。當目標解析程式傳送請求時,這些網域會傳回緩慢的隨機封包串流,從而佔用解析程式的資源。
殭屍網路式 CPE 攻擊:這些攻擊使用 CPE 裝置(使用者終端裝置,這是服務提供者提供的供客戶使用的硬體,例如數據機、路由器、機上盒等)進行。攻擊者入侵 CPE,而裝置就成為殭屍網路的一部分,用來針對某個網站或網域執行隨機子網域攻擊。
DNS 安全擴展 (DNSSEC) 是為緩解此問題而建立的安全性通訊協定。DNSSEC 透過對資料進行數位簽章來防止攻擊,以協助確保其有效性。為確保進行安全尋找,此簽名必須在 DNS 尋找過程的每個等級進行。
此簽署過程類似於人們用筆簽署法律檔案;此人簽署別人無法建立的唯一簽名,並且法院專家能夠檢視該簽名並驗證檔案是否由該人簽署。這些數位簽名可確保資料未被竄改。
DNSSEC 在所有 DNS 層實施階層式數位簽署政策。例如,在「google.com」查閱中,根 DNS 伺服器將為 .COM 名稱伺服器簽署一個金鑰,然後 .COM 名稱伺服器將為 google.com 的權威名稱伺服器簽署一個金鑰。
儘管更高的安全性始終是偏好選項,但 DNSSEC 旨在向後相容,以確保傳統 DNS 尋找仍可正確解析,雖然這沒有提高安全性。作為整體網際網路安全性原則的一部分,DNSSEC 應與其他安全性措施配合使用,例如 SSL/TLS。
DNSSEC 建立一路傳輸到根區域的父子信任鏈。在任何 DNS 層上,此信任鏈都不能遭受入侵,否則請求將受到中間人攻擊。
要關閉信任鏈,需要對根區域本身進行驗證(證明沒有篡改或欺詐),這實際上是透過人工干預來完成的。有趣的是,在所謂的根區域簽名儀式上,來自世界各地的某些人聚集在一起,以公開且經審核的方式簽署根 DNSKEY RRset。
除 DNSSEC 外,DNS 區域的營運商還可採取進一步措施來保護他們的伺服器。超量佈建基礎結構是克服 DDoS 攻擊的一種簡單策略。簡而言之,如果您的名稱伺服器可以處理的流量超過預期的數倍,則基於流量的攻擊更難壓垮您的伺服器。組織可以透過增加其 DNS 伺服器的總流量容量、建立多個備援 DNS 伺服器,以及使用負載平衡將 DNS 請求路由到運行狀況良好的伺服器,來實現這一點。
另一種策略仍然是 DNS 防火牆。
DNS 防火牆是一種可為 DNS 伺服器提供眾多安全性和效能服務的工具。DNS 防火牆位於使用者的遞迴解析程式與他們正嘗試存取的網站或服務的權威名稱伺服器之間。防火牆可提供限速服務,以關閉嘗試淹沒伺服器的攻擊者。如果伺服器確實由於攻擊或其他任何原因而停機,則 DNS 防火牆可透過提供來自快取記憶體的 DNS 回應來使營運商的網站或服務保持正常執行。
除了其安全性功能外,DNS 防火牆還可為 DNS 營運商提供高效能解決方案,例如更快的 DNS 尋找和更低的頻寬成本。瞭解有關 Cloudflare DNS firewall 的更多資訊。
此外還可設定 DNS 解析程式,用來為其最終使用者(瀏覽網際網路的人)提供安全性解決方案。某些 DNS 解析程式提供內容過濾等功能,這些功能可阻止已知分發惡意程式碼和垃圾郵件的網站,並且還提供殭屍網路保護,這可封鎖與已知殭屍網路的通訊。這些安全的 DNS 解析程式中有許多是免費的,使用者可透過變更其當地路由器中的單個設定來切換到其中一個遞迴 DNS 服務。Cloudflare DNS 注重安全性。
另一個重要的 DNS 安全問題是使用者隱私。DNS 查詢不會加密。即使使用者使用像 1.1.1.1 這樣不追蹤其活動的 DNS 解析程式,DNS 查詢也會以純文字形式在網際網路上傳輸。這意味著攔截查詢的任何人都可以看到使用者正在存取哪些網站。
這種隱私上的欠缺會影響安全性,在某些情況下也會影響人權;如果 DNS 查詢不是私密的,則政府可以更輕鬆地審查網際網路,而攻擊者也可以追蹤使用者的網上行為。
DNS over TLS 和 DNS over HTTPS 是加密 DNS 查詢的兩個標準,用於防止外部各方讀取查詢。
Cloudflare 的 DNS 服務內建了多種安全功能,包括 DNSSEC、DDoS 緩解、多重 DNS 功能和負載平衡。