Domain-Name-System

dnssec 上的 DLV 是否已棄用?

  • January 17, 2020

我正在嘗試使用綁定設置一個遞歸 DNS,它也有自己的區域。

現在我想升級它以使用 dnssec 但據我了解,如果我沒有域名,我必須使用 DLV。

但是,我能找到的少數指南說您需要註冊,而dlv.isc.org這些指南並不存在。我正在閱讀的一本關於 DNSSEC 的書告訴我 DLV 將被棄用,所以這就是我想知道的原因。(如果您知道任何分步指南來設置它也將不勝感激)

dlv.isc.org伺服器不再執行時,您仍然可以通過dnssec-lookaside選項在 Bind 9 配置中設置另一個 DNSSEC Lookaside 伺服器。如果example.com無法驗證密鑰,則備份伺服器的名稱將附加到其上,並且將根據備份伺服器的受信任密鑰重新開始驗證。我沒有測試,但我相信這不會解決您的問題:私有域lan.現在可以被積極驗證為不存在,因此不會執行備份查詢。

那麼可以做些什麼來保護一個lan.區域呢?這取決於用途:

  1. 您想要用作區域的驗證遞歸解析器和權威伺服器的 DNS 伺服器lan.不需要任何額外的配置(我假設dnssec-validation已經啟用):
  • 它將lan.從區域文件中為區域提供服務並返回不帶標誌AD的答案,
  • 當對其他域的查詢進入時,它將執行遞歸查詢,驗證結果,並且只有當它們有效時才返回帶有AD標誌的答案。如果域不驗證SERVFAIL將發出。
  1. 使用您的 DNS 伺服器的存根解析器依賴於您的 DNS 伺服器的驗證行為,因此它們將lan.毫無問題地解析。但是,由於存根解析器和伺服器之間的通信是未加密的,因此可以在傳輸過程中修改結果。您可以使用 TSIG 簽名或 TLS 來保護它。
  2. 驗證存根解析器要求您將受信任的錨點添加到它們的配置中。

我懷疑你想在每台客戶端機器上設置一個 Bind9 伺服器作為驗證存根解析器(有更好的選擇,如systemd-resolveddnsmasqunbound),但如果是這種情況,你需要先檢索密鑰對於您的lan.區域:

piotr@akela:~$ dig lan. DNSKEY +short
257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==

然後,您需要將密鑰添加為受信任的,僅允許遞歸查詢localhost並將請求轉發到“真實”DNS 伺服器(假設它是 on 192.168.0.1):

options {
   directory "/var/cache/bind";
   listen-on { localhost; };
   listen-on-v6 { localhost; };
   recursion yes;
   allow-query { localhost; };
   forwarders { 192.168.0.1; };
};
trusted-keys {
   lan. 257 3 13 "nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==";
};

最後,您只需要添加localhost為唯一的 DNS 伺服器/etc/resolv.conf

nameserver ::1;

編輯systemd-resolved配置更簡單:只需將您的 DNSKEY 添加到名為/etc/dnssec-trust-anchors.d/<your_name>.positive

lan. IN DNSKEY 257 3 13 nnbo5DS5vyxB0OjUd7GbcrmXY7TgdGstk4xqXpu2wvXyoFa0YRqjLcHM QJGMguTrKJVYklMNRQXrStvawSF5eg==

並強制 DNSSEC 進入/etc/systemd/resolved.conf

DNSSEC=yes

引用自:https://serverfault.com/questions/998592