Domain Name System Security Extensions (DNSSEC) 是一套延伸模組,可藉由驗證 DNS 回應的功能,將安全性新增至網域名稱系統 (DNS)。 DNSSEC 提供原始授權、資料完整性與已驗證的存在否認。 透過 DNSSEC,DNS 通訊協定比較不會受到特定攻擊類型的影響,特別是 DNS 詐騙攻擊。
DNSSEC 的運作方式
當與支援 DNSSEC 的授權 DNS 伺服器搭配使用時,可以透過使用稱為區域簽署的流程的 DNSSEC 來保護 DNS 區域。 使用 DNSSEC 簽署區域會將驗證支援新增至區域,而不需要變更 DNS 查詢和回應的基本機制。
使用 DNS 回應隨附的數位簽章來進行 DNS 回應的驗證。 在區域簽署期間產生並新增至區域的 DNSSEC 相關資源記錄會包含這些數位簽章。
已在下列要求建議 (RFC) 中指定核心 DNSSEC 延伸模組。
下圖會顯示區域 contoso.com 區域在區域簽署之前和之後的 DNS 資源記錄。
如需各個資源記錄的詳細資訊,請參閱 DNSSEC 資源記錄。
DNSSEC 資源記錄
下表顯示可搭配 DNSSEC 使用的資源記錄類型。
資源記錄類型 | 說明 |
---|---|
資源記錄簽章 (RRSIG) | 由 DNSSEC 產生的簽章會包含在 RRSIG 記錄內。 每筆 RRSIG 記錄會對應至為其提供數位簽章之區域內的另一筆記錄。 解析程式發出名稱查詢時,會在回應中傳回一個或多個 RRSIG 記錄。 |
下一個安全 (NSEC) | NSEC 記錄可用來證明 DNS 名稱不存在。 NSEC 記錄可防止企圖欺騙 DNS 用戶端並讓其相信 DNS 名稱不存在的詐騙攻擊。 |
下一個安全 3 (NSEC3) | NSEC3 是 NSEC 的替代或替代方案,可防止 區域漫步。 區域漫步是重複 NSEC 查詢以擷取區域中所有名稱的流程。 執行 Windows Server 2012 或更新作業系統的 DNS 伺服器可支援 NSEC 與 NSEC3。 區域可以使用 NSEC 或 NSEC3 簽署,但是不能同時使用兩者。 |
下一個安全 3 參數 (NSEC3PARAM) | NSEC3PARAM 記錄可用來判斷要在不存在的 DNS 名稱的回應中包含哪些 NSEC3 記錄。 |
DNS 金鑰 (DNSKEY) | DNSKEY 資源記錄可儲存用來驗證簽章的公開密碼編譯金鑰。 DNS 伺服器會在驗證程序期間使用 DNSKEY 記錄。 DNSKEY 記錄可以儲存區域簽署金鑰 (ZSK) 或金鑰簽署金鑰 (KSK) 的公開金鑰。 |
委派簽署人 (DS) | DS 記錄是一種用來保護委派的 DNSSEC 記錄類型。 DS 記錄可用來建置子區域的驗證鏈結。 |
除了 DS 記錄以外,當區域使用 DNSSEC 簽署時,所有這些記錄便會自動新增至區域。 DS 記錄是一種特殊記錄,您可以手動將它新增至上層區域,以便建立子區域的安全委派。 例如,contoso.com 區域可以包含 secure.contoso.com 的 DS 記錄。 不過,您必須在父區域中建立這筆記錄,或是在子區域中建立,然後傳播至父區域。 簽署區域時並不會自動建立 DS 記錄。
NSEC 或 NSEC3 記錄會在區域簽署期間自動新增至區域。 不過,已簽署區域不能有 NSEC 和 NSEC3 記錄。 新增至區域的記錄類型 (NSEC 或 NSEC3) 取決於設定區域簽署的方式。 在上述範例中,區域是使用 NSEC3 簽署。
信賴起點
DNSKEY 和 DS 資源記錄也稱為「 信賴起點 」或「 信任點」。 所有執行已簽署區域之 DNS 回應 DNSSEC 驗證的非授權 DNS 伺服器都必須散發信賴起點。 如果 DNS 伺服器是在網域控制站上執行,信賴起點會儲存在 Active Directory 網域服務 (AD DS) 的樹系目錄分割中,而且可以複寫到樹系中的所有網域控制站。 在獨立的 DNS 伺服器上,信賴起點則是儲存在名為 TrustAnchors.dns
的檔案中。
使用 Windows PowerShell 以 Get-DnsServerTrustAnchor 命令來檢視區域的信賴起點。 若要檢視目前伺服器上的所有信賴點,您可使用 Get-DnsServerTrustPoint Cmdlet 命令。 執行 Windows Server 2012 或更新作業系統的 DNS 伺服器也會在 [信賴點] 容器的 DNS 管理員主控台樹狀目錄中顯示已設定的信賴起點。
下一步
如需 DNSSEC 如何使用這些資源記錄來驗證及保護 DNS 回應的相關資訊,請參閱 驗證 DNS 回應。