Тюрьма для чертенка Евгений Зобнин ака j1m Хакер, номер #092, стр. 092-106-5 # mount -t unionfs /usr/ports /usr/jail/192.168.3.3/usr/ports В FreeBSD существует несколько переменных ядра, изменяя которые можно контролировать поведение ядра по отношению к jail-окружению. В четвертой ветке эти переменные имели префикс jail, начиная с пятой, он изменился на security.jail. Ниже приведен список переменных с описанием и рекомендациями: Переменные jail security.jail.set_hostname_allowed - определяет, может ли суперпользователь изменять сетевое имя (hostname). Не приносит вреда, если только для jail-окружения не выделен реальный IP-адрес, прописанный в файлах зонных данных на DNS-сервере. security.jail.socket_unixiproute_only - если опция включена, то процесс будет иметь право создавать сокет только в доменах PF_LOCAL, PF_INET или PF_ROUTE. Не имеет смысла отключать эту опцию, так как почти каждая программа, работающая с сетью, использует перечисленные домены. security.jail.allow_raw_sockets - если опция включена, то процесс суперпользователя получит право создавать RAW-сокеты. Не будет работать утилита ping, но и большинство хакерского инструментария тоже. security.jail.sysvipc_allowed - после включения процессы получат доступ к System V IPC. Довольно опасно включать эту опцию, так как для System V IPC используется единое пространство имен в jail и вне его, теоретически любые процессы смогут общаться между собой. security.jail.getfsstatroot_only - при включении процессы не смогут получать информацию о файловых системах, находящихся за пределами jail. Это пример защиты, основанной на сокрытии информации. В версии 6.0 переменная была переименована в security.jail.enforce_statfs. security.jail.chflags_allowed - позволяет процессам модифицировать флаги ФС (chflags). При отключении получаем возможность создавать в jail-каталоге по-настоящему защищенные файлы. Переменная появилась в версиях 5.4 и 6.0. security.jail.jailed - позволяет узнать, находится ли процесс, вызывающий данный sysctl, внутри jail. INFO Чтобы приведенные в примере правила редиректа пакетов заработали, придется пересобрать ядро с поддержкой ALTQ (options ALTQ). Технология jail впервые появилась в FreeBSD 4.0. Для остановки jail-сервера из хост-системы достаточно убить все процессы jail'а командой «kill -TERM». В FreeBSD 6.1 у команды jail появилась опция '-J', которая позволяет записать в файл параметры jail-окружения. |