Ограничение участников транзакции зонной пересылки
Авторитетные name-серверы (особенно первичные) должны быть сконфигурированы с утверждением управления доступом allow-transfer, содержащим список хостов, с которых запросы зонной пересылки могут приниматься. Это ограничивает DoS-атаки и использование возможных ошибок (exploits), а также неконтролируемое распространение информации о внутренних ресурсах. Единственными name-серверами, которым необходимо периодическое обновление своих зонных файлов, являются вторичные name-серверы. Следовательно, зонная пересылка от первичного name-сервера должна разрешаться только к вторичным name-серверам. Зонная пересылка должна быть полностью запрещена на вторичных name-серверах. Аргумент списка соответствующих адресов в подутверждении allow-transfer должен состоять из IP-адресов вторичных name-серверов, которые указаны в NS множества ресурсных записей, и "невидимых" вторичных name-серверов, которые указаны только в этом подутверждении.
Команда для создания ACL valid_secondary_NS с IP-адресами трех вторичных name-серверов следующая:
acl "valid_secondary_NS" { 224.10.229.5; 224.10.235.6; 224.10.245.25; };
Подутверждение allow-transfer может быть использовано в утверждении zone и в утверждении options. Если оно используется в утверждении zone, то ограничивает зонную пересылку для данной зоны; если используется в утверждении options, ограничивает зонную пересылку для всех зон в name-сервере.
Подутверждение allow-transfer на уровне сервера является следующим:
options { allow-transfer { valid_secondary_NS; }; };
Подутверждение allow-transfer на уровне зоны является следующим:
zone "example.ru" { type master; file "zonedb.example.ru"; allow-transfer { valid_secondary_NS; }; };
Предыдущие утверждения используются на первичных name-серверах. На вторичных и невидимых name-серверах зонная пересылка должна быть запрещена, как показано ниже:
zone "example.ru" { type slave; masters { 224.239.5.1 }; file "zonedb_bak.example.ru"; allow-transfer { none; }; };