Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Инструментарий

«Тюрьма» создаётся с помощью одноимённой утилиты – jail (см. man 8 jail). В качестве обязательных аргументов ей передаются путь к корневому для «тюрьмы» каталогу, имя хоста и сетевой адрес, а также команда, которая запустит в jail-окружении первый процесс, который будет родительским для всех остальных. Опционально может быть указан пользователь, с правами которого этот процесс следует запустить.

При инициализации в jail может быть запущен только один процесс. В дальнейшем он может порождать другие, которые будут дочерними по отношению к нему и унаследуют все ограничения. Нужно иметь в виду, что в jail никакие сценарии инициализации или что-то подобное не запустятся без вашего прямого на то указания. Jail – это, по сути, «усиленный» в плане безопасности chroot, а не полноценная виртуальная машина. Для создания виртуальной системы в jail следует в качестве имени команды, запускаемой в «тюрьме», указывать сценарий /etc/rc (пример будет показан ниже).

Для работы с jail будут полезны также утилиты jls (возвращает список запущенных в данный момент «тюрем» с их идентификаторами) и jexec (предоставляет возможность выполнить какую-либо команду внутри jail из основной системы). Подробности смотрите на соответствующих man-страницах.

Недостатки и проблемы

Одним из недостатков jail, впрочем, как и chroot, является дублирование необходимых файлов – любые файлы, которые могут понадобиться работающим в jail процессам, должны быть скопированы в корневой для jail каталог. Одним из приёмов, несколько смягчающим эту проблему, является вынос файлов, модификация которых из jail не предусмотрена, на отдельную файловую систему с последующим монтированием её в режиме «только для чтения». Пример создания такой jail-среды будет рассмотрен позже.

Безусловно, ряд проблем безопасности остаётся и в случае использования jail. Например, злоумышленник может использовать захваченную «тюрьму» для рассылки спама, организации ftp-файлообменников, настройки анонимных прокси-серверов и т. д. Большинство этих проблем связаны с сетевой активностью. Единственный адрес позволяет легко управлять сетевой работой «тюрьмы» из основной системы (в частности, запрещать взаимодействие со всеми портами, работа по которым для jail-системы не предусматривается). Тем не менее, нужно иметь в виду, что запуск процесса в среде jail сам по себе не является панацеей от любых внешних угроз.

Разборки

Перейдём к практическим вопросам. Подробно разберём три примера: реализация полноценной виртуальной системы, создание изолированной «внешней» среды и запуск в jail одной сетевой службы.

Пример 1. Виртуальная система

Для начала рассмотрим простейший с точки зрения реализации пример – виртуальную машину для тестирования или для предоставления пользователям полнофункционального хостинга с правами root (см. рис. 1). То есть нам нужно, фактически, создать систему в системе.

Рисунок 1. Изолированная виртуальная система

Порядок действий можно почерпнуть в man jail – создаём каталог для  будущей jail-системы, собираем в него «мир» и «дистрибутив», монтируем devfs:

# mkdir -p /var/jails/system


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100