Friday, May 18th

Last update12:13:00 PM GMT

Вы находитесь на: FreeBSD Службы ядра Ограничения тюрьмы

Ограничения тюрьмы

В существующем виде код тюрьмы предоставляет окружению тюрьмы точное подмножество системных ресурсов, основываясь на доступе к процессам, файлам, сетевым ресурсам и привилегированным службам. Представление окружения тюрьмы в виде полнофункциональной системы FreeBSD предоставляет максимальную поддержку приложениям и возможность предложить широкий диапазон служб в рамках окружения тюрьмы.

Однако в текущей реализации есть ограничения. Устранение этих ограничений увеличит возможности по предложению служб в окружении тюрьмы. Тремя областями, заслуживающими большего внимания, являются набор доступных сетевых ресурсов, управление планированием ресурсов и поддержка упорядоченного отключения тюрьмы.

В настоящее время каждой тюрьме может быть выделен лишь один адрес IP версии 4, и вся коммуникация из тюрьмы ограничена этим IP-адресом. Была бы желательной поддержка для каждой тюрьмы множества адресов или возможно различных семейств адресов. Доступ к непосредственным сокетам в настоящее время запрещен, поскольку текущая реализация непосредственных сокетов позволяет прямой доступ к пакетам IP, связанным со всеми интерфейсами. Ограничение области действия непосредственного сокета позволило бы безопасно использовать его внутри тюрьмы, позволяя таким образом использовать ping и другие сетевые отладочные и диагностические инструменты.

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

Управление окружениями тюрем в настоящий момент представляет собой нечто специальное. Создание и запуск тюрем - хорошо документированная процедура, но остановка тюрьмы требует идентификации и завершения всех процессов, работающих в пределах тюрьмы. Одним из подходов к очистке этого интерфейса было бы назначение уникального идентификатора тюрьмы во время ее создания. Новый системный вызов jailkill дал бы возможность направить сигналы определенным идентификаторам тюрем, давая возможность эффективно завершать все процессы в тюрьме. FreeBSD использует процесс ink для запуска системы в процессе загрузки и для содействия при ее выключении. Действующий сходным образом процесс jailinit. действующий в каждой тюрьме, представил бы основное местоположение для доставки запросов управления своей тюрьме от окружения хоста или изнутри тюрьмы. Процесс jailinit координировал бы корректное выключение тюрьмы перед обращением к завершающимся процессам в таком же стиле, как выключение окружения хоста перед уничтожением всех процессов и остановкой ядра.


Похожие:
Еще по теме:
Советуем прочитать:

Перейти на сайт виагра купить и заказать виагру
Сейчас 71 гостей онлайн

Реклама на сайте: