LINUX.ORG.RU
ФорумAdmin

Сборка named с ключом -static


0

0

Господа помогите бедному чайнику Собираю named для chroot как в статье написано с ключами -O3 -static, но при сборке nslookup ld выдает сообщение что size of symbol changed from 44 to 48 in res_init.t при этом сравнивается етот симбол в двух библиотеках /usr/lib/libc.a и ../../lib/libbind.a как это можно поравить-обойти. А то жутко хочется секурного ДНСа

anonymous

аааа он там на на res_randomid рукается
мол в двух библиотеках есть какую юзать незнаю ????
Если на randomid то поможу:-)
ЛЕЧИМ ТАК !


Лезем сюда:

src/lib/resolv/ и в фаиликах
res_data.c меняем
_res.id = res_randomid(); на _res.id = res_randomid_2();
res_init.c
statp->id = res_randomid(); на statp->id = res_randomid_2();
и res_randomid(void) { на res_randomid_2(void) {
src/include/resolv.h
u_int res_randomid __P((void));
на u_int res_randomid_2 __P((void));

опять make clean ; make
и вот наконец получаем бинарники :-)

Теперь вам надо создать структуру каталогов для named-а.
Гденибуть в районе /usr/local или там где вам больше нравиться
создаем следующие директории:
/usr/local/bind
/usr/local/bind/bin
/usr/local/bind/dev
/usr/local/bind/etc
/usr/local/bind/var
/usr/local/bind/var/run
/usr/local/bind/var/named
примечание в src/port/linux/Makefile.set вы могли изменить значения корневых каталогов
поэтому учитывайте эти изменения при создании структуры каталогов.
далее директорию /usr/local/bind будем считать корневой
в /etc скопируите следующие файлики
named.conf
localtime - внимание чаше всего localtime это мягкая ссылка
поэтому убедитесь что вы скопировали именно фаил!
иначе ссылка не будет доступна!
group - из него можно вырезать все группы громе named
в /var/named - создайте файлы ваших зон или скопируйте их туда

теперь в /dev создайте девайс null
cd /dev
mknod null c 1 3

ужели у вас нет команды mknod то читайте man MAKEDEV как создать девайс.


Ну вот копируем бинарники из папок :
src/bin/dig/dig
src/bin/named/named
src/bin/named/named-xfer
src/bin/ndc/ndc
src/bin/nslookup/nslookup - на nslookup можно сделать линк /usr/bin удобнее
запускать.

в /usr/local/bind/bin

Теперь дадим доступ named на чтение зон и конфигов а
в /var/run дать возможность на запись pid файла.
cd /usr/local/
chmod 755 bind
cd /bind
chmod 755 bin
chmod 744 bin/*
chmod 755 dev/
chmod 666 dev/null
chmod 755 etc
chmod 644 etc/*
chmod -R +X var/run
Примесание так как я использую DDNS то на зоны я расставил свои пермишины
может быть вам надо их поставить по другому !
chmod 755 var
chmod 755 var/run
chmod 644 var/named/root.hint
chattr -R +i bin
chattr -R +i etc
Если вы не используете DDNS то можете поставить атрибут i на все свои зоны!

Теперь даже если злоумышленник вскрыв named запишет чегонибуть на диск он
всеравно не сможет ничего запустить так как named в последствии будет работат
с правами юзера named :-) .


Займемся логами вы ведь хотите видеть их?
закиляйте syslogd и запустите его
syslogd -m 0 -a /usr/local/bind/etc/log
при этом в /usr/local/bind/dev/ появитс сокет log
вот таких сокетов вы можете запускать до 19 штук.
Не забудте поправить ваши загрузочные скрипты!
Если ваш syslog не поддерживает опцию -a то можете
скачать утилитку holelog ftp://ftp.obtuse.com/pub/utils/utils-1.0.tar.gz

Вот наконец мы и подошли к главному!
chroot /usr/local/bind named -u uid -g gid
именно uid циферками и gid тоже циферками !
Вот теперь ваша система зашишена от вашего-же named-а :-)

Ну почти дописал надо подкоректировать :-)

Aleks_IZA
()

Большое спасибо Алекс Как там в рекламе говориться Доступно и всерьез

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.