Межсетевое экранирование


              

Ограничение участников транзакции DNS Query/Response


Рассмотрим пример использования подутверждения allow-query для указания ограничений для транзакции Query / Response, определяя допустимые IP-адреса / подсети в запросах DNS) как на уровне сервера, так и на уровне зоны (для зоны example.ru):

options { allow-query {254.10.20.10; 239.10.30.0/24; }; }; zone "example.ru." { type master; file "zonedb.example.ru"; allow-query {192.249.249.1; 192.249.249.4; }; };

Указывая список IP-адресов или IP-префиксов внутри утверждений options или zone, можно внести путаницу в конфигурационный файл. Более того, список IP-адресов и IP-префиксов может быть одним и тем же для многих утверждений управления доступом внутри name-сервера, и ошибка может возникнуть, если сделано какое-то одно добавление или удаление в данный список. Чтобы избежать таких проблем, в BIND существует способ создания поименованных списков адресов, которые называются access control lists (ACLs). Эти ACLs могут использоваться в тех местах, где допустимо использование списка IP-адресов или IP-префиксов (в качестве аргумента списка соответствующих адресов) в утверждениях управления доступом.

ACLs создаются с использованием утверждения acl в BIND 9.х. Общий синтаксис утверждения acl следующий:

acl acl-list-name { address_match_list };

acl-list-name есть определенная пользователем строка (например, "internal_hosts"). Address_match_list может быть списком IP-адресов, префиксами IP-адресов (обозначающих подсети) или криптографическими ключами. Пример утверждения acl, который использует IP-адрес и подсеть в address_match_list, приведен ниже. В примере 254.10.20.10 обозначает IP-адрес хоста, IP-префикс 239.10.30.0/24 обозначает подсеть класса С.

acl "internal_hosts" { 254.10.20.10; 239.10.30.0/24; };

Можно использовать ACL internal_hosts в тех местах, где используется список IP-адресов или IP-префиксов в утверждениях options и zone следующим образом:

options { allow-query { internal_hosts; }; }; zone "example.ru." { type master; file "zonedb.example.ru"; allow-query { internal_hosts; }; };




Содержание  Назад  Вперед