Руководство администратора Linux по безопасности


Bind


Большинство дистрибутивов включают bind 8.x, однако ни один (насколько мне известно) не использует установку для не-root, по умолчанию использован chroot. Исправить данное упущение просто:

-u

указывает с каким UID bind будет работать как только свяжется с портом 53 (я использую пользователя 'named' без каких-либо прав, аналог 'nobody').

-g

указывает с каким GID bind будет работать как только свяжется с портом 53 (я использую группу 'named'без каких-либо прав, аналог 'nobody').

-t

указывает каталог, который bind будет использовать после запуска, в этом каталоге, Вы должны разместить все нужные для bind библиотеки, и файлы конфигурации. Хорошим выбором является /home/named.

Еще один способ: скачать пакет bind-chroot, доступный для большинства дистрибутивов и поставить его. Перед установкой создайте (можно с помощью groupadd и useradd) группу и пользователя, на UID/GID которых bind сменит свои после запуска. Многие пакеты используют holelogd для протоколирования данных bind в /var/log/messages (нормальный режим работы bind). Файл настроек обычно безопасен (то есть, Вы не сможете запросить версию bind).

Другой аспект bind: он хранит данные о Вашей сети. Когда делается запрос DNS обычно посылается маленькая просьба о части информации. Например, что является адресом IP для www.seifried.org? Но есть доменные запросы, где DNS запрашивает всю информацию для, скажем, seifried.org, захватывает ее и может затем делать ее доступной другому (в случае вторичного DNS-сервера). Это потенциально очень опасно. Bind версии 4 толковой защиты не имел. Вы могли ограничивать передачи некоторым сервером, но толку было мало. Это изменилось в Bind 8, документация есть на

http://www.isc.org/bind.html. Помните, что обезопасить придется ВСЕ зональные серверы (как master, так и secondaries), поскольку secondary могут прекрасно передать данные за пределы зоны.

Имеется относительно безопасный файл named.conf (из пакета bind-chroot с ftp://ftp.tux.org):

options { // The following paths are necessary for this chroot directory "/var/named"; dump-file "/var/tmp/named_dump.db"; // _PATH_DUMPFILE pid-file "/var/run/named.pid"; // _PATH_PIDFILE statistics-file "/var/tmp/named.stats"; // _PATH_STATS memstatistics-file "/var/tmp/named.memstats"; // _PATH_MEMSTATS // End necessary chroot paths check-names master warn; /* default. */ datasize 20M; };




- Начало -  - Назад -  - Вперед -



Книжный магазин