Jailkit — изоляция потенциально опасных процессов в Linux

Программа Jailkit позволяет создавать изолированные среды в Ubuntu, в которые можно помещать пользователей или программы. Всё, что попадает в Jailkit будет изолировано от основной системы.

Изолирование пользователей и процессов в Ubuntu Linux

Как работает Jailkit

  1. вы устанавливаете Jailkit;
  2. выбираете любого пользователя и помещаете его в «тюрьму» с помощью команды jk_jailuser;
  3. «плененный» пользователь не может выйти за пределы указанной вами директории и может запускать только те программы, которые вы разрешили.

Зачем нужен Jailkit

Программа идеально подходит для тех, кто предоставляет гостевой ssh-доступ к своей системе или хочет запустить публичные сетевые сервисы типа FTP, HTTP, CVS и т.д. Автор программы признается, что его разработкой заинтересовались крупные провайдеры, лидирующие фирмы по обеспечению информационной безопасности и даже несколько крупных корпораций.

Как установить Jailkit в Ubuntu

Откройте терминал и впишите следующие строки:

$ sudo apt-get install build-essential autoconf automake libtool flex bison debhelper binutils-gold

Теперь зайдите на официальную страницу загрузок Jailkit и скачайте самую свежую версию программы. Дальше нужно собрать deb-пакет:

$ tar -vxzf jailkit-2.16.tar.gz
$ cd jailkit-2.16/
$ sudo ./debian/rules binary

... и установить его:

$ cd ..
$ sudo dpkg -i jailkit_2.16-1_amd64.deb

После этого в системе появятся программы для поддержания «тюремного» режима:

  • jk_addjailuser
  • jk_chrootlaunch
  • jk_cp
  • jk_jailuser
  • jk_lsh
  • jk_uchroot
  • jk_check
  • jk_chrootsh
  • jk_init
  • jk_list
  • jk_socketd
  • jk_update

Установка завершена.

Настройка Jailkit

Прежде всего, нужно создать рабочую директорию Jailkit и поместить в нее все разрешенные программы:

$ sudo mkdir /opt/jail
$ sudo chown root:root /opt/jail
$ sudo jk_init -v /opt/jail netutils basicshell jk_lsh openvpn ssh sftp

Готово.

Использование Jailkit

Как говорилось ранее, вы можете поместить в изолированную среду любого пользователя. Для этого предназначена команда jk_jailuser. Рассмотрим для примера лишение свободы пользователя robber:

$ sudo jk_jailuser -m -j /opt/jail/ robber

Теперь попросим этого пользователя залогиниться и посмотрим что произойдет:

$ ssh robber@localhost
robber@localhost's password: 
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
 
Last login: Sat Jun 23 12:46:01 2012 from localhost
bash: groups: command not found
I have no name!@desktop:~$
I have no name!@desktop:~$ cd /
I have no name!@desktop:/$ ls
bin  dev  etc  home  lib  lib64  run  usr  var
I have no name!@desktop:/$

Как видим, пользователю robber как бы доступна вся система, включая системные директории /dev, /etc и /var, однако это только кажется. Пользователь находится внутри директории /opt/jail и не может при всем желании нанести системе вред. Даже если пользователь найдет дыру в какой-нибудь программе и подберет эксплоит к ней, максимум чего он сможет добиться — получит контроль за директорией /opt/jail, тогда как настоящие системные файлы в /etc и пользовательские данные в /home останутся недоступными.

Ваша оценка: Нет Средняя оценка: 4.1 (7 votes)

А что касается программ типо nano и т.д. Как добавлять их для пользователя?

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Texnoline

песочница в красивой обертке!? Так есть и другие изоляции для сред выполнения в Linux!;) И еще лучше виртуальная машина с пробросом портов сетевых, до кучи...

Ваша оценка: Нет

Что-то похожее:
http://linsoft.info/soft/firejail.html
Единственное что печалит меня во всех этих изоляторах, их нет в репозитариях, надо качать с сайта, а я с подозрением отношусь к свободному софту которого почему-то нет в репах debiana.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Texnoline

1. Seccomp-bpf — плод скрещивания песочницы seccomp, известной аж с 2005 года, и BPF, изначально предназначенного для работы с пакетами. (жестко и только для спецов!);
2. Virt-sandbox разрабатывается теми же людьми, что и утилита sandbox. Однако, в отличие от нее, базируется она на основе технологий виртуализации. На данный момент поддерживается KVM и контейнеры LXC, но в теории она может поддерживать все системы виртуализации, доступные через libvirt, то есть, например, VirtualBox. Основная проблема в скорости запуска и развертывании образа диска, но запуск /bin/false с помощью этой утилиты занимает всего шесть секунд (в среднем...);
3. Glimpse (для Ubuntu);
4. Интересный проект scratchbox — инструмент для кроссплатформенной разработки в Debian/Ubuntu;
5. Proxmox — Virtual Environment, т.е. среда виртуализации (bare-metal), на базе Debian + KVM + Qemu.
6. LXC.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

А знайте что-нибудь не контейнерное? Желательно еще и с GUI? Ищу нечтно подобное, но если не найду, придется видимо apparamor запрягать. Хочу тупо изолировать браузер и еще пару прог, не более.

Ваша оценка: Нет Средняя оценка: 3 (2 votes)

Всю жизнь слышу про сетования — мне что нибудь с гусем.
Да не нужен этот ваш гей ни кому и поверьте даже Вам. Так как хороший "сервис" нужно настроить один раз в 4-5(а может и больше) лет и забыть про него. А ваши ГУИ нужны только аля школьникам специалистам, да может ещё и маркетологам чтоб постоянно что то продавать, короче это в Вас говорит вантуз ОС с которой начинали знакомство с ПК, а как только что то нужно больше и гибче — сразу подавай гуй.
Господи, ЗАЧЕМ?! — Вы там что собрались каждую неделю галочки расставлять по новой?:(

Ваша оценка: Нет Средняя оценка: 3 (5 votes)

хз, с "гусем" многим нагляднее

Ваша оценка: Нет

Господи, ЗАЧЕМ?! — Вы там что собрались каждую неделю галочки расставлять по новой?:(

Мне вот после лет эдак 15 стажа работы и администрирования линуксов, пришлось тут поработать пару месяцев вендовым админом. Я не хочу матюгаться, но в венде я сейчас точно также не могу найти ничего консольного, а то что консольное есть — это настолько всё убого и плохо, что кроме матов у меня вообще никаких слов не остаётся после этого.

Так что пожалейте бедных вендо-юзеров, чувствую я, что пользователь который точно также лет 10 админил всякие там актив-директори и вендовые домены, сейчас в линуксе чувствует себя примерно также как и я себя в венде: нихера непонятно и нет нормальных привычных не то чтобы инструментов, а даже общие методы взаимодействия другие.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)

Расскажите автору уже кто-нибудь про LXC (уже даже несколько разных реализаций есть на любой вкус — от простого jail'а до полноценной серверной контейнеризации), а то понаделали тут разных кривых велосипедов, а потом вон всякие вендузятники приводят низкое качество такого вот открытого софта как довод против всех линуксов и подобных вещей.

Ваша оценка: Нет

Дурачок что ли? Ради изоляции ssh LXC поднимать? Chroot хватит для таких целей, а JailKit просто помогает это дело админить.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)

И еще лучше виртуальная машина с пробросом портов сетевых

Сразу видно, что ты школьник, который никогда не видел Linux. Кто из нормальных сисадминов будет поднимать виртуальку и ставить туда ОС только ради того, чтобы в основной ОС пару сервисов изолировать?

Ваша оценка: Нет Средняя оценка: 3 (2 votes)
Texnoline

Кто из нормальных сисадминов будет поднимать виртуальку и ставить туда ОС только ради того, чтобы в основной ОС пару сервисов изолировать?

Это ненормально для вантузных сисадминов!;)
а для адекватных Linux-админов, которым надо поднять, допустим: [копипаст удален].

Ваша оценка: Нет

Вообще, это сообщение не совсем вам, а скорее владельцам ресурса — сделайте у каждого комментария статистику по user-agent'у, чтобы было сразу понятно с какой ОС кто пишет, а то порой создаётся впечатление, что на данном ресурсе процентов 90 комментаторов стабильно сидят на венде и линукс в самом лучшем случае видели только на виртуалке.

Ваша оценка: Нет Средняя оценка: 4.7 (3 votes)

я не против))

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
Texnoline

Поддерживаю, надо написать автору ресурсу, ради хохмы!?:)

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Texnoline

Точно! И вы сразу будете удивлены...:)

Ваша оценка: Нет
pomodor

а то порой создаётся впечатление, что на данном ресурсе процентов 90 комментаторов стабильно сидят на венде

Ну, почти. 63% на Винде и 19% на Linux.

Сколько пользователей Linux

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.