В типичной схеме сети DNS со скрытым мастером в основном есть два компонента:
Файлы зоны на подчиненных DNS-серверах часто не имеют (и не должны) иметь информацию для этого скрытого главного DNS-сервера. Но эти же подчиненные DNS-серверы требуют использования определенных параметров DNS, например server
, allow-update
, allow-transfer
, и некоторые ACL.
Хотя сначала те, которые требовались server
и allow-update
кажется, требуется список соответствия IP-адресов. Это оставляет named.conf
в качестве основного источника такой скрытой информации (то есть IP-адрес скрытого мастера).
Можно ли дополнительно ограничить такое раскрытие IP-адреса скрытому главному DNS-серверу, используя вместо этого ключи и не используя какой-либо IP-адрес в named.conf
файл?
Ключевой ответ, который я ищу, заключается в том, можем ли мы минимизировать раскрытие скрытого мастера на уровне его файла конфигурации, а также в базах данных зон.
Файлы зоны на подчиненных DNS-серверах часто не имеют (и не должны) иметь информацию для этого скрытого главного DNS-сервера.
У них могут быть записи A в файлах зон, указывающие на этот скрытый главный сервер DNS. Сервер называется «скрытым» не потому, что о нем никто никогда не узнает, а потому, что он нигде не указан с использованием записей NS, поэтому клиенты не могут запрашивать их.
Редактировать: нет смысла избегать всех ссылок на этот скрытый мастер из вашего файла конфигурации. Когда кто-то получает доступ к этому файлу, предполагается, что он все равно имеет доступ к вашему серверу, и тогда это звучит как более серьезная проблема, чем знание IP-адреса вашего скрытого мастера.
Но эти же подчиненные DNS-серверы требуют использования определенных параметров DNS, таких как server, allow-update, allow-transfer и некоторые ACL.
Подчиненным DNS-серверам действительно необходимо знать о существовании скрытого DNS-сервера. Можно определить masters
используя только ключи, а затем обратитесь к тем masters
в allow-notify
заявления и т. д. Таким образом, вам не нужно указывать IP-адрес скрытого главного сервера.
В server
заявление выглядит так:
server <netprefix> {
...
};
Таким образом, требуется IP-адрес скрытого мастера.
Однако кажется, что такие утверждения, как allow-update
, allow-transfer
и т. д. требуют address_match_list
который (документация BIND 9.11.4-P1, стр. 51):
(...) - это список из одного или нескольких
ip_addr
,ip_prefix
,key_id
, илиacl_name
элементы, см. раздел 6.1.
Таким образом, вы можете вводить в эти команды только ключи, исключая IP-адрес вашего скрытого мастера из этих частей конфигурации.