Документация по ОС FreeBSD Четверг, 05.12.2024, 04:45
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » DNS

Поднятие BIND 8.x в песочнице
Задачи: Выстроить BIND8.x (NAMED) в песочнице - (в ограниченном(закрытом) собственным окружением).
Возможности: Операционная Система FreeBsd v.4 - v.5., BIND8,
Требования: Минимальные знания систем UNIX, OS FreeBSD.

Использование: Понимание данной статьи, как приложение к страничке помощи по настройке.
Любые возможные потери или утраты в связи с использованием этой статьи, не возмещаются.
Установка происходит используя:
или Дистрибутив BIND8
или Port для FreeBsd /usr/ports/dns/bind8
или Статически скомпонованная готовая сборка BIND8 в системе.

Вступление: Любое программное обеспечение, требует собственные ресурсы на сервере, а так же в целом любое ПО не может считаться идеальным в практическом смысле. Тем самым используя общие ресурсы и имея доступ хотябы для чтения в каталог корня ОС от имени какого либо даемона(сервиса), запущенного на сервере, мы рискуем поставить под угрозу другие сервисы, запущенные рядом, к которым может получить доступ недоброжелатель или взломщик. Этим мы подверждаем, что чем больше будет сделано администратором системы барьеров для попытки взлома ПО, тем менее опаснее станет использование самой ОС в целом.

В данной статье мы рассмотрим запуск сервиса named, в папке, из которой сам сервис не может получить доступ к корню самой системы. "Запуск в песочнице" или chroot, как мы называем это, дает на возможность безопасно для остальных сервисов полноценно запускать даемон named-а, в собственном окружении.

Изначально это статья рекомендована для использования в частных или не частных целях, для администраторов с плохой памятью, как у меня, для быстрого поднятия BIND8 в песочнице.

помощью Дистрибутива BIND8:
Распакуйте архив или выберите иной
dns-pro# cd /home/chroot
dns-pro# mkdir bind8
dns-pro# cd bind8

dns-pro# fetch ftp://ftp.isc.org/isc/bind/src/8.3.7/bind-src.tar.gz
или
dns-pro# fetch ftp://ftp.isc.org/isc/bind/src/8.4.6/bind-src.tar.gz

bind-src.tar.gz 100% of 1383 kB 32 kBps 00m00s
dns-pro# tar xfz bind-src.tar.gz
dns-pro# cd src

Теперь надо подправить строку в файле port/freebsd/Makefile.set, для этого:
dns-pro# ee port/freebsd/Makefile.set
dns-pro# make clean

Теперь дописываем в строку 'CDEBUG=-O2 -g -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat' опцию -static полуится так:
'CDEBUG=-O2 -g -static -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat'

Теперь Продолжим...
dns-pro# make depend
dns-pro# make all
dns-pro# rm .settings
dns-pro# make install

Все, программа установленна на сервер.
Приступаем к запуску в песочнице(chroot)
По умолчанию, в системе FreeBSD , named распологается в папке /etc/namedb.
Не будем ничего менять в этом, пусть будет так.

Создаем директории в этой папке и нужные изменения.

dns-pro# cd /etc/namedb
dns-pro# mkdir -p bin dev etc var/tmp var/run var/run/named master slave usr usr/sbin
dns-pro# chown bind:bind slave var/*
dns-pro# cp /etc/localtime etc/
dns-pro# mv named.conf etc && ln -sf etc/named.conf
dns-pro# cp -f /usr/libexec/named-xfer bin/named-xfer
dns-pro# cp -f /usr/sbin/named usr/sbin/named
dns-pro# cd dev && mknod null c 2 2
dns-pro# chmod 666 null

Теперь нужно создать линк на консоль управления намеда, при каждом старте системы.
Линк нужен для управления намедом из коммандной строки(#ndc start|restart|stop|etc)
Она будет создаваться с помощью cron.
dns-pro# crontab -e
впишем:
@reboot /bin/ln -sf /etc/namedb/var/run/ndc /var/run/ndc

Далее для того чтобы в syslog named смог писать сообщения, дописываем дополнительную опцию в /etc/rc.conf
А так же впишем дополнительные опции для разрещения старта.
dns-pro# ee /etc/rc.conf
named_enable="YES"
named_flags="-u bind -g bind -t /etc/namedb /etc/named.conf"
named_pidfile="/var/run/named/pid"
named_chrootdir="" #Для систем с автоматической установкой chroot(FreeBSD_5.*_STABLE)
named_chroot_autoupdate="NO" #Для систем с автоматической установкой chroot(FreeBSD_5.*_STABLE)
syslogd_flags="-l /etc/namedb/dev/log"

Далее мы редактируем сам named.conf
dns-pro# ee /etc/namedb/named.conf
// управляющий сокет ndc
controls {
unix "/var/run/ndc" perm 0600 owner 0 group 0;
};
options {
directory "/";
named-xfer "/bin/named-xfer";
notify yes;
fake-iquery yes;
fetch-glue no;
use-id-pool yes;
allow-recursion { 192.168.0.0/24; localhost; };
allow-query { any; };
version "DNS server";
allow-transfer { 80.78.179.175; 193.219.141.235; };
query-source address * port 53;
dump-file "s/named_dump.db";
pid-file "/var/run/named/pid";
};

Пробуем перезапустить систему и надеемся на успешное выполнение задачи.
dns-pro# shutdown -r now
проверяем после загрузки - http://www.dnsstuff.com/tools/dnstime.ch?name=dns-pro.org&type=A


Оригинал статьи - http://rucable.net/doc/bind8_chrooted.html
Категория: DNS | Добавил: oleg (24.10.2007)
Просмотров: 1669 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024