Реферат: Защита сервера DNS - Настройка безопасности
Сразу нужно сказать, что настраивать chroot-окружении мы будем для девятой версии BIND, поскольку это значительно проще, чем для восьмой версии. В отличие от восьмой версии, где для настройки chroot-окружения нужно было копировать все бинарные файлы или библиотеки, необходимые для запуска BIND, для работы девятой версии достаточно скопировать только файлы конфигурации и зон, обслуживаемых сервером.
Начнем настраивать chroot-окружение для нашего сервера DNS. Создадим каталоги корневой файловой системы сервера DNS - root-dns:
mkdir -p /root-dns mkdir -p /root-dns/etc mkdir -p /root-dns/var/run/named
mkdir -p /root-dns/var/named
Остановим сервер DNS, если он запущен:
service named stop
Переместим файл конфигурации named.conf и файлы зон в каталог /root-dns:
mv /etc/named.conf /root-dns/etc/
mv /var/named/* /root-dns/var/named/ chown named.named /chroot/etc/named.conf
chown -R named.named /root-dns/var/named/*
Нам еще понадобится файл localtime для правильной работы сервера DNS со временем:
cp /etc/localtime
/root-dns/etc/
Защитим от редактирования и удаления файл конфигурации named.conf:
chattr +i /root-dns/etc/named.conf
Примечание. Не забудьте снять атрибут "i" перед редактированием файла конфигурации (chattr -i /root-dns/etc/named.conf)
Удалим каталоги /var/named и /var/run/named - они нам больше не нужны:
rm -rf /var/named/ rm -rf /var/run/named/
Добавим в файл /etc/sysconfig/named строку:
ROOTDIR="/root-dns/"
Все, теперь можно запустить сервер named:
service named start
Выполните команду ps -ax | grep named. Если вы увидите примерно следующее:
5380
? S 0:00 named -u named -t /root-dns/ 5381 ? S 0:00 named -u named -t /root-dns/
5382 ? S 0:00 named -u named -t /root-dns/ 5383 ? S 0:00 named -u named -t /root-dns/
значит, вы все сделали правильно.
Мы запустили сервер DNS в chroot-окружении, но на этом данная статья не заканчивается. В девятой версии BIND появилась возможность создавать подписи транзакций (TSIG - Transaction SIGnatures). Механизм TSIG работает так: сервер получает сообщение, подписанное ключом, затем подпись проверяется, если она "правильная", сервер отправляет ответ, подписанный тем же ключом.
Механизм TSIG очень эффективен при передаче информации о зоне, уведомлений об изменении зоны и рекурсивных сообщений. Согласитесь, проверка подписи надежнее, чем проверка IP-адреса. Злоумышленник может вывести вторичный сервер DNS банальной атакой на отказ, и, пока администратор будет "подымать" вторичный сервер, он заменит свой IP-адрес адресом вторичного сервера. При использовании TSIG задача злоумышленника значительно усложняется: ведь ему придется "подобрать" 128-битный MD5-ключ, а вероятность такого подбора стремится к нулю.