UMGUM.COM (лучше) 

Bind 9 ( Bind 9. Сервер системы доменных имён. )

23 марта 2010  (обновлено 31 января 2015)

OS: Debian Lenny.

Задача: завести пару-тройку "кеширующих" серверов прямого и обратного разрешения имён (далее - NS) обслуживающих внешние запросы и запросы локальной сети с разделением зон выдачи по принципу определения источника запроса.

Наши NS будут работать на Debian Stable.
Применим сервер bind9, работающий как служба named в системе.

Основа адресации сети - Bind9.
Основа адресации сети - Bind9.

Примем за данность то, что:

"подсеть", в которой мы будем экспериментировать - 10.10/16;
"подстеть", которую мы, наряду с вышеуказанной, будем поддерживать - 192.168/16;
IP адрес нашего первого сервера - 10.10.2.21/24;
доменное имя нашего первого сервера - ns.local;
IP адрес нашего второго сервера - 10.10.2.22/24;
доменное имя нашего второго сервера - ns1.local.

Служба named слушает и обращается через порт tcp:53 и udp:53. Обеспечиваем видимость наших NS серверов как извне, так и со стороны локальных сетей по указанным портам.

Учитывая то, что наши NS отвечают и на запросы извне сети, хоть и находясь в DMZ, постараемся обеспечить им повышенные условия безопасности. Настроим работу bind в "песочнице" (chroot).

Не буду приводить примеры уязвимостей bind, в результате эксплуатирования которых наш сервер может быть скомпрометирован, так как не знаю таковых. Но умные люди знают и утверждают, что bind всегда был дыряв, дыряв сейчас и будет таковым далее. Можно было бы избрать другое приложение, но уж больно удобен функционал bind9, чтобы от него отказываться. Раз уж мы не можем исключить высокую вероятность взлома bind, то примем меры к тому, чтобы ущерб был минимален и не сказался на других сервисах - загоним службу named под непривилегированного пользователя и разместим её в изолированном окружении.