摘要
摘要
Microsoft 於 2020 年 5 月 19 日發佈資訊安全諮詢 ADV200009。 本資訊安全諮詢說明以色列研究人員發現的 DNS 放大攻擊。 此攻擊 (稱為 NXNSAttack) 能以任何 DNS 伺服器為攻擊目標,包括 DNS 區域的權威 Microsoft DNS 和 BIND 伺服器。
若為位於企業內部網路上的 DNS 伺服器,Microsoft 將此惡意探索評等為低風險。 不過,位於邊緣網路上的 DNS 伺服器則容易受到 NXNSAttack 攻擊。 位於邊緣網路上的 Windows Server 2016 前版 DNS 伺服器,應升級至支援回應速率限制 (RRL) 功能的 Windows Server 2016 或更新版本。 當目標 DNS 解析程式查詢您的 DNS 伺服器時,RRL 功能可降低放大效果。
徵狀
當發生 DNS 放大攻擊時,您可能會在受影響的伺服器上觀察到下列一或多個徵兆:
-
DNS 的 CPU 使用率提升。
-
DNS 回應時間增加,並可能會停止回應。
-
驗證伺服器會產生超出預期的 NXDOMAIN 回應數。
攻擊概觀
DNS 伺服器總是很容易受到一系列攻擊。 因此,DNS 伺服器通常位於 DMZ 中的負載平衡器和防火牆後面。
為了利用此弱點,攻擊者必須要有多個 DNS 用戶端。 一般來說,這包括殭屍網路、存取數十或數百個能夠放大攻擊的 DNS 解析程式,以及特殊化攻擊者 DNS 伺服器服務。
攻擊的關鍵就是特別建置的攻擊者 DNS 伺服器,其為攻擊者所擁有網域的權威伺服器。 DNS 解析程式必須知道如何連線至攻擊者的網域和 DNS 伺服器,攻擊才會成功。 這種組合可以在遞迴解析程式和受害者的權威 DNS 伺服器之間產生大量通訊。 結果形成 DDoS 攻擊。
企業內部網路上的 MS DNS 弱點
無法透過根目錄提示與頂層網域 DNS 伺服器解析內部私人網域。 當您依照最佳做法進行時,無法從網際網路連線至私人內部網域 (例如 Active Directory 網域) 的權威 DNS 伺服器。
儘管技術上可以從內部網路進行內部網域的 NXNSAttack,但內部網路的惡意使用者需要具有系統管理員層級的存取權,才能將內部 DNS 伺服器設定為指向攻擊者網域中的 DNS 伺服器。 此使用者還必須能在網路上建立惡意區域,並將能夠執行 NXNSAttack 的特殊 DNS 伺服器放置在企業網路上。 具有此存取權層級的使用者通常傾向隱匿蹤跡,而不是發動引人注目的 DNS DDoS 攻擊,彰顯自身的存在。
邊緣網路對向的 MS DNS 弱點
網際網路上的 DNS 解析程式會使用根目錄提示和頂層網域 (TLD) 伺服器,解析未知的 DNS 網域。 攻擊者可以利用此公用 DNS 系統,使用任何網際網路對向的 DNS 解析程式嘗試進行 NXNSAttack 放大攻擊。 發現放大媒介之後,即可在針對主控公用 DNS 網域 (受害網域) 的任何 DNS 伺服器進行阻斷服務 (DDoS) 攻擊時加以運用。
如果允許來自網際網路且未經要求的傳入 DNS 查詢,可當成解析程式或轉寄站的邊緣 DNS 伺服器,即可當作攻擊的放大媒介使用。 公用存取權可讓惡意 DNS 用戶端在進行整體放大攻擊時使用解析程式。
未經要求的傳入 DNS 流量來自正在從根目錄提示和 TLD DNS 基礎結構執行遞迴查閱的解析程式,而公用網域的權威 DNS 伺服器必須允許此流量。 否則,存取網域將會失敗。 因此導致所有公用網域的權威 DNS 伺服器都成為 NXNSAttack 攻擊的潛在受害者。 邊緣網路對向的 Microsoft DNS 伺服器應執行 Windows Server 2016 或更新版本以獲得 RRL 支援。
解決方案
若要解決此問題,請針對適當的伺服器類型使用下列方法。
若為內部網路對向的 MS DNS 伺服器
此惡意探索的風險低。 監視內部 DNS 伺服器是否有異常流量。 發現位於企業內部網路上的內部 NXNSAttackers 時,隨即予以停用。
若為邊緣網路對向的權威 DNS 伺服器
啟用 Windows Server 2016 和較新 Microsoft DNS 版本支援的 RRL 功能。 在 DNS 解析程式上使用 RRL 功能,以將初始攻擊的放大效果降至最低。 在公用網域的權威 DNS 伺服器上使用 RRL 功能,可降低反射回 DNS 解析程式的任何放大效果。 預設為停用 RRL 功能。 如需 RRL 功能的詳細資訊,請參閱下列文章:
|
執行 SetDNSServerResponseRateLimiting PowerShell Cmdlet,以使用預設值啟用 RRL 功能。 如果因為過度節流,所以啟用 RRL 功能會導致合法的 DNS 查詢失敗,最好只逐漸增加每秒回應數與每秒錯誤數參數的值,直到 DNS 伺服器可回應先前失敗的查詢為止。 其他參數也能幫助管理員更完善管理 RRL 設定。 這些設定包括 RRL 例外。
如需詳細資訊,請參閱下列 Microsoft Docs 文章:
常見問題集
問 1: 此處摘要說明的緩和措施是否適用於所有 Windows Server 版本?
答 1: 否。此資訊不適用於 Windows Server 2012 或 2012 R2。 這些舊版的 Windows Server 不支援 RRL 功能,當目標 DNS 解析程式查詢您的 DNS 伺服器時,此功能可降低放大效果。
問 2: 如果客戶有 DNS 伺服器位於執行 Windows Server 2012 或 Windows Server 2012 R2 的邊緣網路時,應該該怎麼辦?
答 2: DNS 伺服器若位於執行 Windows Server 2012 或 Windows Server 2012 R2 的邊緣網路,則應該升級至支援 RRL 功能的 Windows Server 2016 或更新版本。 當目標 DNS 解析程式查詢您的 DNS 伺服器時,RRL 功能可降低放大效果。
問 3: 我如何判斷 RRL 是否會導致合法的 DNS 查詢失敗?
答 3: 如果 RRL 設定為 LogOnly 模式,則 DNS 伺服器執行所有 RRL 計算。 不過,伺服器不會採取預防動作 (例如,丟棄或截斷回應),而是改為記錄潛在動作,就像已啟用 RRL 一樣,然後繼續提供一般回應。