Bind9:禁用每個區域的 DNSSEC 驗證?
我正在嘗試使用 Bind9 製作一個僅記憶體/轉發 DNS 伺服器,並預設啟用 DNSSEC 驗證。
假設您從我的配置文件中獲得以下資訊:
acl "home-net" { 127.0.0.1; ::1; 192.168.1.0/24; 2000:db8:cafe:100::/64; }; options { forwarders { # Use Google DNS either by IPv6 or IPv4 is fine. 2001:4860:4860::8888; 2001:4860:4860::8844; 8.8.8.8; 8.8.4.4; }; dnssec-enable yes; dnssec-validation auto; allow-query { any; }; allow-query-cache { home-net; }; allow-recursion { home-net; }; }; zone "subdomain.example.net" { type forward; forward only; forwarders { # SAMBA PDC1 (Active Directory) 2000:db8:cafe:100::1; # SAMBA PDC2 (Active Directory) 2000:db8:cafe:100::2; }; };
據我所理解:
每當我想查找在子域中註冊的主機時
subdomain.example.net
,名稱伺服器就會聯繫我在區域配置的轉發器部分中列出的兩個 SAMBA PDC 之一。域名伺服器將依次進行 DNSSEC 驗證,以確保這兩個 SAMBA PDC 實際上被授權回復對域的請求
subdomain.example.net
。如果來自 SAMBA PDC 的回复無法通過 DNSSEC 驗證,則名稱伺服器將轉向 Google DNS 並詢問他們是否可以提供經過 DNSSEC 驗證的響應。
現在問題來了:
據我了解,無論是通過使用 SAMBA INTERNAL_DNS 還是通過 BIND9_DLZ,在 SAMBA 中都沒有 DNSSEC 支持,因此您永遠無法對 SAMBA 維護的任何區域進行 DNSSEC 驗證。
據我了解有3個選項:
- 全域禁用 DNSSEC 驗證。
- 使用負信任錨。
- 使用“驗證除外”選項。
我會一一處理。
禁用 DNSSEC
在我的書中,這不是一個真正的選擇。它基本上將您的設置減少到“在全球範圍內工作”……除了您在世界的某個小角落,所以最好一起禁用它。
只需將
dnssec-enable
和的值更改為dnssec-validation
即可no
。在我可以再次啟動 DNSSEC 之前,我只會將其用作臨時修復。
使用負信任錨
首先,我的興趣達到了頂峰。這個想法是您註冊一個特殊的加密密鑰,
rndc
然後它不會對您想要的域進行任何 DNSSEC 驗證。然而,這是一個臨時修復,因為密鑰的生命週期最多為一周。
這意味著您必須執行與 Let’s Encrypt 中的證書相同類型的資源 - 只是需要更頻繁地觸發 cron 作業。
使用 ‘validate-except’ 選項
從理論上講,這應該是所有解決方案中最簡單的。
我只需要添加一個新部分即可
options
呼叫validate-except
。像這樣:
options { dnssec-enable yes; dnssec-validation auto; validate-except { "subdomain.example.net"; "another.example.net"; }; };
聽起來很簡單——對吧?:-)
…除了我的名稱伺服器由於“未知選項 - 驗證除外”而沒有啟動。
編輯:原來 Raspberry OS 使用 Bind 版本 9.11 而該
validate-except
選項僅在 Bind 版本 9.13 中實現。作為參考,用於 Raspberry 的 Ubuntu 20.04 使用 Bind 版本 9.16。
那麼有沒有人有關於 DNSSEC 的混合模式設置的經驗?
…或者最簡單的解決方案是承認失敗並安裝 Ubuntu 20.04?:-)
不知道這是否仍然很熱門,但我認為使 BIND 配置複雜化會導致大量無償工作時間與伺服器作鬥爭。儘管您沒有列出系統的規格,但如果可以選擇,最好徹底檢查並完成它。這種配置最難的部分是為簡單而戰。最簡單的選擇是讓一切都“正常工作”,所以……使用 Ubuntu 20.04 LTS。就您的 SAMBA 配置而言,(同樣,不知道您的規格)與 20.04 一起使用允許您輕鬆使用 BIND DLZ,甚至還有 dhcpd 更新。如果有硬體方面的考慮,ubuntu 伺服器的可用配置最少,對系統資源的額外影響也很小。
Matthias Kerstner:在 Raspberry Pi 3 上使用 Samba 4 設置 Active Directory 域控制器