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

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

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

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

IT-новости

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

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

подробнее

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

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

подробнее

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

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

подробнее

FreeBSD jail: зона строгого режима


Сергей Супрунов

Безопасность FreeBSD всегда была на должном уровне. Но когда в Интернет нужно «выставить» один или несколько сервисов, надеяться приходится уже не только на разработчиков системы.

Обычно, когда речь заходит о безопасности, наверняка упоминается совет поместить потенциально опасные процессы в chroot-окружение. Но вызов chroot никогда не разрабатывался с оглядкой на безопасность – его создавали как средство для компиляции системы в альтернативном каталоге. В дальнейшем приспособили для нужд ftp, ограничивая с его помощью доступ к файловой системе отдельных пользователей. А потом понеслось... Безусловно, chroot не позволяет (теоретически; исключения были описаны в статье Василия Озерова «Как увеличить безопасность процессов с помощью chroot и jail», №7 за 2006 г.) процессу покинуть свой новый корневой каталог, но всё же он не обеспечивает полную изоляцию процессов. Запущенные в chroot программы сохраняют возможность использовать почти любые системные вызовы, что позволяет им наблюдать за системой (например, с помощью ps) и даже влиять на её работу (монтировать файловые системы, модифицировать ядро и т. д., вплоть до остановки системы). Конечно, всё это возможно только в случае, если в chroot-каталоге будут доступны нужные средства, хотя при наличии shell-доступа «протащить» их туда не составит особого труда. Поэтому для повышения безопасности во FreeBSD появилось специальное средство – jail (англ. «тюрьма»).

Но так уж «исторически сложилось», что для повышения безопасности всё же чаще используется chroot-окружение, а jail упоминается по большей части как средство виртуализации. Скорее всего, причина здесь в большей распространённости и универсальности вызова chroot, который реализован практически во всех UNIX-подобных системах. К тому же появился он намного раньше. Возможно, свою роль играет и несколько большая сложность организации jail-среды по сравнению с chroot, так что помимо всего прочего, постараемся в деталях разобраться и во всех тонкостях практического применения jail.

Для начала рассмотрим некоторые теоретические вопросы.

Понятия

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

Это приводит к тому, что ряд утилит могут не работать в jail. Например, вы не сможете из jail проверить работу сети с помощью ping, поскольку эта команда использует «сырые» сокеты, которые в jail запрещены.

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

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


Предыдущая страницаОглавлениеСледующая страница
 
[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