|
Мой DNS - моя крепость
Xakep, номер #049, стр. 049-074-4 }; Запуск демона на орбиту Ну вот, последние приготовления сделаны (размещение named.conf и файлов зон в соответствующих каталогах песочницы, а также расставление пермишенов я оставляю на твоей совести ввиду отсутствия места), осталось запустить named: /opt/bind/sbin/named -c /etc/named.conf -u named -t /var/named -n 1 Здесь все просто: указываем конфиг из песочницы, от имени какого пользователя запускаем, с каким измененным корневым каталогом и сколько кристаллов на нашей мамке. Далее смотрим в логи, чтобы убедиться в успешной загрузке нашего демона: tail /var/log/messages Архиполезная инфа: Максим Коновалов "Securing Bind" "Chroot-BIND-HOWTO" "FreeBSD Handbook" раздел 17.9 DNS Dave Lugo "Dual chrooted BIND/DNS Servers" Craig H. Rowland "Securing DNS" BIND 9 Administrator Reference Manual Cricket Li "Securing An Internet Name Server" Paul Vixie "DNS and BIND Security Issues" Squire James "Domain name takeover and spoofing" AusCERT "Denial of Service attacks using the DNS" Как за огненной стеной Да, с запуском мы немного поспешили, так как еще необходимо протокол DNS подружить с брандмауэром, т.е. создать набор правил фаервола для обеспечения корректной работы нашего DNS-сервера (разработку сценария firewall я также возлагаю на твои мужественные/женственные плечи). Дело осложняется несколькими вещами: DNS работает и по UDP, и по TCP - обычные запросы идут по UDP; если объем данных, отправленных одним DNS-сервером, превышает размер DNS-датаграммы, то соединение продолжается, но уже с использованием TCP; зонные передачи между серверами также выполняются по TCP. Но и это еще не все. DNS-серверы посылают другим DNS-серверам запросы, используя не 53 порт, а случайно выбранный непривилегированный (с 1024 по 65535) с использованием UDP, так же, как и DNS-клиенты. Для решения последнего "недоразумения" можно воспользоваться следующей директивой: options { query-source address * port 53; }; ЗЫ На этом спешу закончить, хотя многое осталось за бортом. Например, рассмотрение спецификаций: TSIG для обеспечения безопасного взаимодействия между DNS-серверами в пределах небольшой локальной сети с помощью сигнатур транзакций с применением симметричной схемы шифрования; DNSSEC для проверки подлинности источников и передаваемых данных, их целостности в рамках глобальной сети с помощью шифрования с открытым ключом; TKEY для автоматического генерирования секретного ключа на двух DNS-серверах. Поэтому, если будут вопросы - милости прошу, адрес наверху. /quit Andrushock not supported by kernel |