Domain-Name-System

在面向公眾的權威從站上暴露隱藏的主隱身 DNS 伺服器

  • November 18, 2018

在典型的隱藏主 DNS 網路佈局中,基本上有兩個組件:

  • 隱藏的主 DNS 伺服器,可能位於 NAT 或防火牆之後,或完全暴露
  • 從屬權威非遞歸 DNS 伺服器

從屬 DNS 伺服器上的區域文件通常沒有(也不應該)有此隱藏的主 DNS 伺服器的資訊。但是這些相同的從 DNS 伺服器確實需要使用某些 DNS 選項,例如serverallow-updateallow-transfer和一些 ACL。

起初,那些需要server並且allow-update似乎需要 IP 地址匹配列表。這留下了named.conf作為這種隱形資訊的主要來源(即隱藏主機的 IP 地址)。

是否可以通過使用密鑰而不是使用named.conf文件中的任何 IP 地址來進一步限制 IP 地址向隱藏主 DNS 伺服器的這種暴露?

我正在尋找的關鍵答案是我們是否可以在其配置文件級別以及區域數據庫中最大限度地減少隱藏主控的暴露。

從屬 DNS 伺服器上的區域文件通常沒有(也不應該)有此隱藏的主 DNS 伺服器的資訊。

他們可以在他們的區域文件中有 A 記錄以指向這個隱藏的 DNS 主伺服器。伺服器被稱為“隱藏”不是因為沒有人知道它,而是因為它沒有使用 NS 記錄在任何地方列出,因此客戶端無法查詢它們。

**編輯:**試圖避免從您的配置文件中對這個隱藏的主人的所有引用是沒有意義的。一旦有人可以訪問此文件,它就假定他們無論如何都可以訪問您的伺服器,然後這聽起來比他們知道您的隱藏主機的 IP 地址更大的問題。

但是這些相同的從 DNS 伺服器確實需要使用某些 DNS 選項,例如伺服器、允許更新、允許傳輸和一些 ACL。

從 DNS 伺服器確實需要知道隱藏 DNS 伺服器的存在。可以只使用鍵來定義masters,然後mastersallow-notifyetc 語句中引用這些鍵。這樣您就不需要指定隱藏的主伺服器的 IP 地址。

server聲明如下所示:

server <netprefix> {
  ...
};

因此它需要隱藏主機的 IP 地址。

allow-update然而,像, etc 這樣的語句似乎allow-transfer需要address_match_listwhich (BIND 9.11.4-P1 文件,第 51 頁):

(…) 是一個或多個ip_addrip_prefixkey_idacl_name元素的列表,請參閱第 6.1 節。

因此,您只能在這些命令中輸入密鑰,不包括配置中隱藏的主伺服器的 IP 地址。

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