在本主題中,您可了解如何在 Windows Server® 2016 中設定 DNS 原則,以根據您提供的準則來建立查詢篩選。
DNS 原則中的查詢篩選可讓您根據傳送 DNS 查詢的 DNS 查詢和 DNS 用戶端,設定 DNS 伺服器要採取的自訂回應方式。
例如,您可以利用查詢篩選封鎖清單設定 DNS 原則,封鎖來自已知惡意網域的 DNS 查詢,防止 DNS 回應來自這些網域的查詢。 因為 DNS 伺服器不會傳送任何回應,惡意網域成員的 DNS 查詢便會逾時。
另一個範例是建立查詢篩選允許清單,只允許特定的用戶端解析特定名稱。
查詢篩選準則
您可以使用下列準則的任意邏輯組合 (AND/OR/NOT) 來建立查詢篩選。
Name | Description |
---|---|
Client Subnet | 預先定義的用戶端子網路名稱。 用來驗證查詢傳送來源的子網路。 |
Transport Protocol | 查詢中使用的傳輸通訊協定。 可能的值為 UDP 和 TCP。 |
Internet 通訊協定 | 查詢中使用的網路通訊協定。 可能的值為 IPv4 和 IPv6。 |
伺服器介面 IP 位址 | 接收 DNS 要求之 DNS 伺服器的網路介面 IP 位址。 |
FQDN | 查詢中記錄的完整網域名稱,可能會使用萬用字元。 |
Query Type | 正在查詢的記錄類型 (A、SRV、TXT 等)。 |
一天中的時間 | 收到查詢的一天中時間。 |
下列範例說明如何針對 DNS 原則建立篩選,以封鎖或允許 DNS 名稱解析查詢。
Note
The example commands in this topic use the Windows PowerShell command Add-DnsServerQueryResolutionPolicy. For more information, see Add-DnsServerQueryResolutionPolicy.
封鎖來自網域的查詢
在某些情況下,您可能會想封鎖已識別為惡意網域的 DNS 名稱解析,或不符合組織使用方針的網域, 此時便可使用 DNS 原則封鎖網域查詢。
此範例中設定的原則為伺服器層級原則,並非針對任何特定區域建立,可套用於 DNS 伺服器上設定的所有區域。 當 DNS 伺服器收到查詢,便會優先針對伺服器層級原則進行評估與匹配。
The following example command configures a Server Level Policy to block any queries with the domain suffix contosomalicious.com.
Add-DnsServerQueryResolutionPolicy -Name "BlockListPolicy" -Action IGNORE -FQDN "EQ,*.contosomalicious.com" -PassThru
Note
When you configure the Action parameter with the value IGNORE, the DNS server is configured to drop queries with no response at all. 使惡意網域中的 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 伺服器重新啟動。