Безопасность и оптимизация Linux.Редакция для Red Hat



         

Запуск ISC BIND/DNS в chroot окружении.


Эта часть фокусируется на предотвращении использования ISC BIND/DNS, как точки прерывания для доступа к системе. Так как ISC BIND/DNS выполняет относительно большую и комплексную функцию, вероятность возникновения ошибки, затрагивающей защиту, высока. Фактически, в прошлом имелись дефекты, которые позволяли удаленному пользователю получить root доступ к серверу с запущенным BIND.

Чтобы минимизировать риск, ISC BIND/DNS может быть запущен как не root пользователь, который сможет нанести повреждения, как нормальный пользователь с локальным shell. Конечно, этого не достаточно для обеспечения безопасности большинства DNS серверов, поэтому может быть предпринят дополнительный шаг – запуск ISC BIND в chroot заключении.

Основная выгода chroot состоит в том, что в результате ограничивается часть файловой системы, которую DNS демон может видеть, корневым каталогом “окружения”. Так как “окружение” создается только для поддержки DNS, число программ связанных с ISC BIND/DNS и доступных в этой части файловой системы чрезвычайно ограничено. Наиболее важно то, что здесь отпадает необходимость в setuid-root программах, которые могут быть использованы для получения root доступа и взлома “окружения”.

ЗАМЕЧАНИЕ: Исполняемая программа “named” должна располагаться в каталоге, описанном в переменной PATH. В этом документе, я буду считать, что путь к named будет “/usr/sbin/named”.

Для запуска ISC BIND/DNS в chroot “окружении” необходимо сделать слеующие шаги:

Шаг 1

Мы должны найти совместно-используемые библиотеки от которых зависит named (named – это DNS демон). Их будет нужно позже скопировать в chroot “окружение”.

Для поиска подобных библиотек используйте следующую команду:

[root@deep /]# ldd /usr/sbin/named

libc.so.6 => /lib/libc.so.6 (0x40017000)

/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Сделайте себе соответствующую отметку, чтобы можно было использовать ее позже на следующих шагах.

Шаг 2

Сейчас мы должны определить chroot окружение и создавать корневой каталог для него. Мы выбрали каталог “/chroot/named”, потому что хотим разместить ее на независимом разделе, чтобы предотвратить атаки на файловую систему. Раньше, во время инсталляции Linux мы создали раздел “/chroot” специально предназначенный для этого.




Содержание  Назад  Вперед