BIND DNS 伺服器新增了對 DNS-over-HTTPS 的實驗性支持

BIND DNS 伺服器的開發人員宣佈在實驗分支 9.17 中增加了對「DNS over HTTPS」(DoH,DNS over HTTPS)和 DNS over TLS(DoT,DNS over TLS)技術的伺服器支持,以及用於在伺服器之間安全傳輸 DNS 區域內容的 XFR-over-TLS 機制。 DoH 可在 9.17.10 版本中進行測試,而 DoT 支援自 9.17.7 版本起就已存在。一旦穩定,DoT 和 DoH 支持將被移植到 9.16 穩定分支。

DoH 中使用的 HTTP/2 協定的實作是基於 nghttp2 函式庫,該函式庫包含在建置依賴項中(未來計畫將該庫轉移到可選依賴項清單中)。支援透過 HTTP/2 進行加密(TLS)和非加密連線。透過適當的設置,單一命名程序現在不僅可以服務傳統的 DNS 查詢,還可以服務使用 DoH(DNS-over-HTTPS)和 DoT(DNS-over-TLS)發送的查詢。客戶端 HTTPS 支援(dig)尚未實作。 XFR-over-TLS 支援適用於傳入和傳出的請求。

透過將 http 和 tls 選項新增至 listen-on 指令,可以啟用使用 DoH 和 DoT 處理請求。為了支援未加密的 DNS-over-HTTP,您應該在設定中指定「tls none」。密鑰在“tls”部分中定義。可透過 tls-port、https-port 和 http-port 參數覆蓋 DoT 的標準網路連接埠 853、DoH 的標準網路連接埠 443 和 DNS-over-HTTP 的標準網路連接埠 80。例如:tls local-tls { key-file“/path/to/priv_key.pem”;證書檔案「/path/to/cert_chain.pem」; }; http 本機 http 伺服器 { 端點 { “/dns 查詢”; }; };選項 { https 埠 443;監聽埠 443;

BIND 中 DoH 實現的特性之一是它作為通用傳輸的集成,不僅可用於處理客戶端對解析器的請求,還可用於在伺服器之間交換資料、透過權威 DNS 伺服器傳輸區域以及處理其他 DNS 傳輸支援的任何請求。

另一個功能是能夠將 TLS 的加密操作移至另一台伺服器,這在 TLS 憑證儲存在另一個系統(例如,在具有 Web 伺服器的基礎架構中)並由其他人員提供服務的情況下可能是必要的。實現對未加密的 DNS-over-HTTP 的支持,以簡化調試並作為內部網路中的轉發層,在此基礎上可以在另一台伺服器上組織加密。在遠端伺服器上,nginx 可用於產生 TLS 流量,類似於為網站組織 HTTPS 綁定的方式。

我們在此提醒您,DNS-over-HTTPS 可以有效防止透過服務提供者的 DNS 伺服器外洩請求的主機名稱訊息,抵禦中間人攻擊和 DNS 流量取代(例如,連接公共 Wi-Fi 時),並防止 DNS 層級的封鎖(DNS-over-HTTPS 不能取代 DNS 伺服器)。 VPN 在繞過深度套件偵測 (DPI) 層級的封鎖方面,或在無法直接存取 DNS 伺服器的情況下(例如,透過代理伺服器工作時),DNS over HTTPS 可用於組織工作。通常情況下,DNS 查詢會直接傳送到系統設定中定義的 DNS 伺服器,但在 DNS over HTTPS 的情況下,請求確定性會先於 DNS 伺服器進行處理。 IP 地址 主機被封裝在 HTTPS 流量中並傳送到 HTTP 伺服器,解析器透過 Web API 處理請求。

「DNS over TLS」與「DNS over HTTPS」的不同之處在於使用標準DNS 協定(通常使用網路連接埠853),封裝在使用TLS 協定組織的加密通訊通道中,並透過經過認證的TLS/SSL 憑證進行主機有效性檢查由認證機構。 現有的DNSSEC標準僅使用加密來驗證客戶端和伺服器,但不能保護流量不被攔截,也不能保證請求的機密性。

來源: opennet.ru