LinuxForum.Fans
Тема

Поднять виртуальную машину

Автор: rmironov 20 сообщений 5306 просмотров 🔒 закрыта
#339892

Здравствуйте, дорогие гуру и спецы! )
Не так давно, я стал нуждаться в безопасной работе двух приложений одновременно, но как-бы на двух машинах. Обе программы, работают в среде wine. Так как я предполагаю, что уровень безопасности, оставляет желать лучшего (в связи с подозрением, что программы имеют встроенные коды для отправки определенных логов на свои серверы), решил, что лучше будет не рисковать и запускать их "как-бы" на двух машинах.
В связи с этим, у меня вопрос:
1) - Каким образом, я могу поднять виртуальную машину на Убунте, что-бы одна прога работала от основной системы, а другая, одновременно могла работать от вирт.машины?
2) - Как сделать, что-бы прога не видела ничего, кроме своего древа "своих используемых" папок?

3) - Как в определенный момент, сделать запрет ВСЕХ исходящих пакетов и оставить только входящие, "низкого уровня" типа UDP?

4) - Как мгновенно отрезать весь инет? ))))

p.s. Система у меня, "резанная убунта" - /JoliCloud/
Думаю, что она вполне как клон убунты.

Большое вам спасибо!

С уважением.

#339914

одну прогу запускаете в реальной машине. другую в virtualbox, где установлена такая же ОС к примеру. настраиваете сетку как вам надо и пусть проги общаются по сети...

#340048
Харитон написал:
одну прогу запускаете в реальной машине. другую в virtualbox, где установлена такая же ОС к примеру. настраиваете сетку как вам надо и пусть проги общаются по сети...

Можно проще. В Wine есть неявно подразумеваемая технология бутылок. Две Win-программы можно запустить в одной бутылке (то есть из каталога ~/.wine/....) а можно создать несколько бутылок (~/.wine1, ~/.wine2), в каждую из бутылок посадить свою программу и запускать их с соответствующим префиксом (env WINEPREFIX="~/wine[X]" ...). И тогда одна запущенная задача никак не узнает о существовании другой запущенной задачи.

Я полагаю, что реализовать бутылки сильно проще, чем поднимать виртуалку. Это по первому вопросу.
По второму - так какие в бутылках дос-драйвы назначишь, то и будет видеть офтопичная программа. И ничего более.
Третье - курим iptables
Четвертое - выключить роутер. Или сетевой шнур выдернуть из компьютера :-). Можно и в iptables настроить обрезку чего хошь.

#340052
"rmironov" написал:
Не так давно, я стал нуждаться в безопасной работе двух приложений одновременно, но как-бы на двух машинах. Обе программы, работают в среде wine. Так как я предполагаю, что уровень безопасности, оставляет желать лучшего (в связи с подозрением, что программы имеют встроенные коды для отправки определенных логов на свои серверы), решил, что лучше будет не рисковать и запускать их "как-бы" на двух машинах.

запускайте их от разных юзеров. Трафик можно фильтровать встроенными средствами iptables.

#340053
"rmironov" написал:
2) - Как сделать, что-бы прога не видела ничего, кроме своего древа "своих используемых" папок?

а системные типа /usr/ -- пусть видит.
что-бы не видела чужих, например /home/user1/.wine не видела /home/user2/*, поставьте права каталоги (sic!) 0700 /home/user*/

#340055

"Cruiser78" написал:
Третье - курим iptables
iptables ничего не знает проваши бутылки. За то знает про юзеров.
#340089

Вот вот, про бутылки мне очень понравилась система! ) Осталось скурить немного материала и я буду прекрасен! )
Спасибо вам большое, дорогие! Вы такие молодцы!!! А с юзерами - вообще проще некуда, как кажется... вот только как мне одновременно за обоими приложениями смотреть, не совсем понял... система видит только под одним юзером, как мне кажется... Спасиииибо! =)
Скажите плиз, могу-ли я раз в сутки, делать откаты ВСЕЙ системы, до первоначального состояния или до вчерашнего например? Подобие, как у винды(простите), восстановление контрольной точки... ?

#340094
"rmironov" написал:
вот только как мне одновременно за обоими приложениями смотреть, не совсем понял... система видит только под одним юзером, как мне кажется...

система "видит" ровно то, что вы ей скажите.

Да, Xorg запускается от одного юзера, для второго надо разрешить вход в иксы:

text
xhost +local:user2

(эту команду надо выполнить от имени user1, ПОСЛЕ того, как он вошёл в иксы)

Запускать приложения от user2 надо через sudo, прописав там(visudo) что-то типа

text
user1 myhost = (user2) NOPASSWD: wine бла-бла-бла
#340095

Есть еще, правда, применяемые для Linux-программ, такие средства изоляции как LXC и chroot.

#340096
"yars" написал:
Есть еще, правда, применяемые для Linux-программ, такие средства изоляции как LXC и chroot.

а оно надо? Для wine?

#340103

Это уже задача не наша. Наша - дать инФормацию к размышлению.

#340117

Ух! мЫслю тут сильно... пока еще ничего не смог сделать ))) Только систему переустановил, а то в той мусора много уже было... от прошлых всяких экспериментов)
-
Вот о бутылках снова... (~/.wine1, ~/.wine2) Это мне нужно подпапки создать с такими именами? Я просто не пойму чуть-чуть..
И вот тут :
и запускать их с соответствующим префиксом (env WINEPREFIX="~/wine[X]" ...)
Это как я понял, нужно в терминал вбить команду? правильно?
Т.е. набрал env WINEPREFIX="~/wine[1] и вуа-ля! прога пошла?

#340120
rmironov написал:
Ух! мЫслю тут сильно... пока еще ничего не смог сделать ))) Только систему переустановил, а то в той мусора много уже было... от прошлых всяких экспериментов)
-
Вот о бутылках снова... (~/.wine1, ~/.wine2) Это мне нужно подпапки создать с такими именами? Я просто не пойму чуть-чуть..
И вот тут :
и запускать их с соответствующим префиксом (env WINEPREFIX="~/wine[X]" ...)
Это как я понял, нужно в терминал вбить команду? правильно?
Т.е. набрал env WINEPREFIX="~/wine[1] и вуа-ля! прога пошла?

Именно так. Создаете такие (или какие хотите иные, воля Ваша) папки. В них настраивается wine. С помощью префикса WINEPREFIX. Например (у меня так пикасса запускается):

text
env WINEPREFIX="/home/alex/.wine" wine C:\\windows\\command\\start.exe /Unix /home/alex/.wine/dosdevices/c:/users/Public/Рабочий\ стол/Picasa\ 3.lnk

Нет проблем в префиксе указать любое иное расположение стартового вайнового каталога, где живут и C: и система виндовая и приложения нужные. А для другой бутылки указать более иной путь.

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

#340286


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

Ух-тыыы! =) Клааасс! Спасибо, друзья!
p.s. Поставил PlayOnLinux - не разобрался - как создавать с помощью него бутылки. Насколько я смог понять - как пример, в системе, которая уже имеет wine, я вхожу в home/roman/ и далее создаю папки .wine1 и .wine2
Но вот когда выхожу из этого древа, и вхожу снова - я папки эти уже не вижу! Как не вижу изначально папку wine =( вот как! Может создаю не там?

#340287
yars написал:
Есть еще, правда, применяемые для Linux-программ, такие средства изоляции как LXC и chroot.

прочел в википедии о chroot - очень понравился принцип! ) То что нужно вообще! ))) осталось мне научиться, всё это правильно
реализовать! ) Thanks!

#340288
"rmironov" написал:
chroot - очень понравился принцип! ) То что нужно вообще!

не нужно. Вы забываете, что для работы в wine, в ваш chroot надо пол-системы засунуть. И эти пол-системы будут там отлично видны.

Кроме того, рут всегда может выйти из chroot'а, т.ч. от дыр в ядре это вас не спасёт.

И вообще, chroot -- способ сильно осложнить жизнь себе, и немного повеселить атакующего.

(конечно это не относится к специальным демонам, которые созданы для работы в т.ч. и в chroot'е. wine к таким не относится. Это вообще не демон)

#340308
drBatty написал:
[quote="rmironov"]chroot - очень понравился принцип! ) То что нужно вообще!

не нужно. Вы забываете, что для работы в wine, в ваш chroot надо пол-системы засунуть. И эти пол-системы будут там отлично видны.

Кроме того, рут всегда может выйти из chroot'а, т.ч. от дыр в ядре это вас не спасёт.

И вообще, chroot -- способ сильно осложнить жизнь себе, и немного повеселить атакующего.

(конечно это не относится к специальным демонам, которые созданы для работы в т.ч. и в chroot'е. wine к таким не относится. Это вообще не демон)[/quote]

- Да, понятно. Пол системы, для того, чтоб сам вайн тащил... Я врубился наконец! Тем более от рута всё можно. Хотя сама задумка меня просто очень порадовала... каталоги, только ниже видны - это интересно... Для других задач сгодится очень! )
Wine - среда... я уж прочел ) Спасибо Вам!!!

#340325

"rmironov" написал:
Для других задач сгодится очень!
удобно собирать второй линукс в первом. И восстанавливать тоже.
#340366

Думаю тема себя исчерпала. Про wine идите говорить в другую тему. Закрываю.

Войдите или зарегистрируйтесь, чтобы ответить.