使用 DNS 原則進行 DNS 查詢上的篩選套用

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

在本主題中,您可了解如何在 Windows Server® 2016 中設定 DNS 原則,以根據您提供的準則來建立查詢篩選。

DNS 原則中的查詢篩選可讓您根據傳送 DNS 查詢的 DNS 查詢和 DNS 用戶端,設定 DNS 伺服器要採取的自訂回應方式。

例如,您可以利用查詢篩選封鎖清單設定 DNS 原則,封鎖來自已知惡意網域的 DNS 查詢,防止 DNS 回應來自這些網域的查詢。 因為 DNS 伺服器不會傳送任何回應,惡意網域成員的 DNS 查詢便會逾時。

另一個範例是建立查詢篩選允許清單,只允許特定的用戶端解析特定名稱。

查詢篩選準則

您可以使用下列準則的任意邏輯組合 (AND/OR/NOT) 來建立查詢篩選。

名稱 描述
用戶端子網路 預先定義的用戶端子網路名稱。 用來驗證查詢傳送來源的子網路。
傳輸通訊協定 查詢中使用的傳輸通訊協定。 可能的值為 UDP 和 TCP。
網際網路通訊協定 查詢中使用的網路通訊協定。 可能的值為 IPv4 和 IPv6。
伺服器介面 IP 位址 接收 DNS 要求之 DNS 伺服器的網路介面 IP 位址。
FQDN 查詢中記錄的完整網域名稱,可能會使用萬用字元。
查詢類型 正在查詢的記錄類型 (A、SRV、TXT 等)。
一天中的時間 收到查詢的一天中時間。

下列範例說明如何針對 DNS 原則建立篩選,以封鎖或允許 DNS 名稱解析查詢。

注意

本主題中的範例命令為 Windows PowerShell 命令 Add-DnsServerQueryResolutionPolicy。 如需詳細資訊,請參閱 Add-DnsServerQueryResolutionPolicy

封鎖來自網域的查詢

在某些情況下,您可能會想封鎖已識別為惡意網域的 DNS 名稱解析,或不符合組織使用方針的網域, 此時便可使用 DNS 原則封鎖網域查詢。

此範例中設定的原則為伺服器層級原則,並非針對任何特定區域建立,可套用於 DNS 伺服器上設定的所有區域。 當 DNS 伺服器收到查詢,便會優先針對伺服器層級原則進行評估與匹配。

下列範例命令設定了伺服器層級原則,以封鎖網域中包含 尾碼 contosomalicious.com 的任何查詢。

Add-DnsServerQueryResolutionPolicy -Name "BlockListPolicy" -Action IGNORE -FQDN "EQ,*.contosomalicious.com" -PassThru

注意

Action 參數設定為 IGNORE 值,DNS 伺服器將會捨棄沒有任何回應的查詢, 使惡意網域中的 DNS 用戶端逾時。

封鎖來自子網路的查詢

在此範例中,如果發現子網路受惡意程式碼感染,並試圖使用 DNS 伺服器連接惡意網站,則可封鎖來自子網路的查詢。

` Add-DnsServerClientSubnet -Name "MaliciousSubnet06" -IPv4Subnet 172.0.33.0/24 -PassThru

Add-DnsServerQueryResolutionPolicy -Name "BlockListPolicyMalicious06" -Action IGNORE -ClientSubnet "EQ,MaliciousSubnet06" -PassThru `

下列範例說明如何搭配 FQDN 準則使用子網路準則,以封鎖來自受感染子網路的特定惡意網域查詢。

Add-DnsServerQueryResolutionPolicy -Name "BlockListPolicyMalicious06" -Action IGNORE -ClientSubnet "EQ,MaliciousSubnet06" –FQDN “EQ,*.contosomalicious.com” -PassThru

封鎖查詢類型

您可能須封鎖伺服器上特定查詢類型的名稱解析。 例如,封鎖用於惡意放大攻擊的「ANY」查詢。

Add-DnsServerQueryResolutionPolicy -Name "BlockListPolicyQType" -Action IGNORE -QType "EQ,ANY" -PassThru

僅允許來自網域的查詢

您不僅可使用 DNS 原則封鎖查詢,也能自動核准來自特定網域或子網路的查詢。 一旦設定了允許清單,DNS 伺服器便只會處理來自允許網域的查詢,同時封鎖來自其他網域的所有查詢。

下列範例命令僅允許來自 contoso.com 和子網域的電腦與裝置向 DNS 伺服器提出查詢。

Add-DnsServerQueryResolutionPolicy -Name "AllowListPolicyDomain" -Action IGNORE -FQDN "NE,*.contoso.com" -PassThru

僅允許來自子網路的查詢

您也可以建立 IP 子網路的允許清單,以忽略任何非來自這類子網路的查詢。

Add-DnsServerClientSubnet -Name "AllowedSubnet06" -IPv4Subnet 172.0.33.0/24 -PassThru Add-DnsServerQueryResolutionPolicy -Name "AllowListPolicySubnet” -Action IGNORE -ClientSubnet "NE, AllowedSubnet06" -PassThru

僅允許特定 QTypes

您可將允許清單套用至 QTYPE。

例如,如果外部客戶想查詢 DNS 伺服器介面 164.8.1.1,則僅允許查詢部分 QTYPE,其他 QTYPE (如 SRV 或 TXT 紀錄) 則供內部伺服器作名稱解析或監控等用途。

Add-DnsServerQueryResolutionPolicy -Name "AllowListQType" -Action IGNORE -QType "NE,A,AAAA,MX,NS,SOA" –ServerInterface “EQ,164.8.1.1” -PassThru

您可以根據流量管理需求建立數千個 DNS 原則,且所有新原則都會動態套用至傳入的查詢,無須將 DNS 伺服器重新啟動。