Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Разделение функций сервера имен.

Рубрика: Безопасность -> Защита сервисов
Метки: | |
Пятница, 18 сентября 2009 г.
Просмотров: 5920
Подписаться на комментарии по RSS

Сервер имен выполняет две роли: разрешает запросы клиентов и выступает в роли авторитетного сервера для какой-то зоны. Представим, что у нас есть средняя компания. Имеется домен www.test.net. Целесообразно разделить функции серверов имен.

     Один сервер имен будет находиться во внутренней сети и разрешать запросы клиентов - это будет сервер для внутреннего употребления. Второй сервер будет авторитетным для зоны - он будет отвечать на запросы интернет-пользователей для этой зоны. Месторасположение данного сервера - нейтральная зона (DMZ).


     Что же получится от такого разделения? Во-первых, разгрузится сервер нейтральной зоны, чем повысится его производительность. Клиенты тоже будут получать ответы быстрее, так как разрешающий сервер находится прямо во внутренней сети и запросы не распространяются через маршрутизатор в DMZ. Во-вторых, по принципу «разделяй и властвуй» - так это его прямое воплощение. Разделив функции DNS-сервера, можно усилить безопасность сети, применив более строгие правила.

     Авторитетный и разрешающий серверы имен.

     Итак, было определено, что серверы будут свершать две различные задачи. Один сервер будет действовать как авторитетный сервер домена, а другой - как резолвер запросов локальных клиентов.

     Можно запустить данные два сервера на одной и той же машине, если у нее два (или более) IP-адреса, но лучше запускать данные два сервера на различных машинах в различных частях сети. Если используется DMZ-топология, рассмотренная в статье о DMZ, то авторитетный сервер имен можно поместить в DMZ, а разрешающий сервер имен - во внутреннюю сеть.

     Так как теперь функции серверов имен разделены, можно применить более безопасные правила. Так как авторитетный сервер будет отвечать только на запросы остальных серверов имен, нужно отключить рекурсивные запросы:

options {

recursions no; }

Два сервера имен — две роли

     Это не позволит хакеру заставить авторитетный сервер имен запрашивать оставшиеся сервера имен.

     Но рекурсия жизненно необходима разрешающему серверу имен, поэтому ее не отключишь ее на конкретном сервере. Но зато можно ограничить доступ клиентов к этому серверу. Так как разрешающий сервер находится во внутренней сети и на запросы из нейтральной зоны он отвечать не будет (так же как и на запросы интернет-пользователей), то нужно ограничить его клиентов следующим образом:

options {

    allow-query { 172.16.0/24; };

};

     Теперь к серверу смогут подключаться только узлы с IP-адресами 172.16.0.1-172.16.0.254 (0 и 255 - зарезервированы) - клиенты внутренней сети.

     Двойной сервер имен.

     Если нет средств на еще один компьютер, нужно употреблять ACL для назначения ролей сервера. В конкретном случае можно получить все преимущества двух серверов и при этом еще и сэкономить средства.

     Синтаксис ACL прост: нужно определить список узлов и присвоить ему имя:

acl "lan" {

    172.16.0/24; 172.16.1/24;

};

     Затем можно добавить глобальную опцию для ограничения запросов:

options (

    allow-query { lan; };

};

     Конечно, данное правило можно немного «поубавить» в отдельных секциях зон:

zone "test.net" IN {

   type master;

   file "test.net.signed";

   allow-update { none; };

   allow-query { any; };

};

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)