Как изолировать программу

Изображение пользователя nitrofox.

Как изолировать программу(которой я не очень доверяю)?
1) Чтобы она не имела доступа к интернету
2) Чтобы у нее была своя среда и доступа к моим данным не имела.
3) Это игра. Так что желательно чтобы нормально работала с X11

+2
Chibiko - 14 Апрель, 2015 - 18:23
Изображение пользователя Chibiko.

1) linux chroot jails
2) linux lxc containers
3) docker

Первое что приходит на ум.

А также Sandbox (Sandboxie), Systrace, Evalaze, Enigma Virtual Box и т.д. В гугле есть много вариантов.

+1
JhonSilver - 14 Апрель, 2015 - 18:26

4)Запускать из под другого пользователя

0
Chibiko - 14 Апрель, 2015 - 18:40
Изображение пользователя Chibiko.

... что по сути недо-chroot. Попробуй выполнить 1 условие Т.С. без сильного шаманства.

+1
JhonSilver - 14 Апрель, 2015 - 18:52

Запретить конкретному пользователю выход в интернет? Можно тупо отключить интерфейсы, изменить настройки. Если программа настолько умна что знает настройки провайдера или умеет поднимать интерфейсы, тогда по серьёзному в iptables можно залезть.

0
Chibiko - 14 Апрель, 2015 - 19:37
Изображение пользователя Chibiko.

мм.. а как это сделать, не приченяя неудобств остальным пользователям?
Без iptables.
Тогда смысл запускать от другого пользователя? Проще себе интернет вырубить и запускать...

0
nitrofox - 15 Апрель, 2015 - 22:49
Изображение пользователя nitrofox.

А какой бы вы метод использовали в ситуации с прожорливым приложением (игрой)? И какое самое практичное?
1) Может я не правильно понял но Enigma Virtual Box только под windows
2) Sandboxie тоже виндовская программа.
3) chroot. Я с этой командой был знаком плохо. Это нужно для игры вручную создать корневой раздел со всеми зависимостями и X сервером? Я надеялся что есть попроще способ. Да чего там скрывать... Я надеялся на
nitrofox@SuperPC:~$сделать_хорошо ./Borderlend.sh
Ну или на крайний случай
nitrofox@SuperPC:~$сделать_хорошо -несколькоКлючей ./Borderlend.sh
Сейчас чтением о docker.. Не то что мне нужно. НО штука просто прекрасная, удобная. Думаю что она у меня в хозяйстве очень хорошо приживется. Также как Git. Я уже не представляю как жил без Git раньше =)

0
fox4 - 16 Апрель, 2015 - 07:13
Изображение пользователя fox4.

Вроде для Ваших целей существует SELinux сам не использовал но читал что вроде бы именно для подобных целей и разрабатывался

0
Almight - 22 Апрель, 2015 - 13:19
Изображение пользователя Almight.

Нашел на просторах Интернета, изменить надо на вашу игру только текст вроде как:
#include <tunables/global>
/{usr/,}bin/ping {
  #include <abstractions/base>
    # block ipv4 acces
    deny network inet,
    # ipv6
    deny network inet6,
    # raw socket
    deny network raw,
}

То есть типа такого:
В консоли
sudo nano /etc/apparmor.d/Имя_программы
Вставить туда текст выше и Ctrl+X.
После
sudo service apparmor reload

Возможно, что заработает.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры