On Tue, 22 Dec 2015 12:21:38 +0200 Oleksandr Gavenko <[email protected]> wrote:
> Мелькали слова AppArmor, Grsecurity, libvirt, KVM - оно все кажется > сложным и непонятным. Подкину еще слов: chroot, schroot, firejail firejail - самое простое в настройке, но есть только в testing и unstable. Хотя вот пару месяцев назад я бинарный пакет ставил в stable и он поставился. > Как безопасно запустить недовереное приложение? Лично я для запуска skype сейчас пользуюсь schroot. Причем думаю что s там на самом деле лишний. Просто schroot настолько сильно упрощает настройку chroot-окружения, что сначала сделал через него, и переделывать уже лень. chroot имеет то преимущество что UID внутри и UID снаружи могут совпадать, а файловая система, которую видит приложение, является частью файловой системы хоста, поэтому мне снаружи удобно подкладывать приложению файлики, которые оно должно обработать и забирать оттуда результаты. KVM (qemu-system) на мой взгляд, проще virtualbox. А умеет примерно то же самое. В общем, это самый последий вариант, с наиболее глубокой изоляцией. Между chroot (который ограничивает доступ к файловой системе, но не ограничивает - к сети и CPU-памяти) и виртуальной машиной есть еще контейнеры (lxc, docker). Которые позволяют, конечно, не так гибко настраивать лимиты как appparmor, но в большинстве случаев этого хватает. > Я понимаю идею запуситить от ограниченого пользователя. Можно ли > расчитывать что программа не сможет поднять привелений? Как я узнаю > что программа не пытается перебрать пароли для su/sudo? Как > настраивать что бы не сделать глупость? Вот от этого chroot замечательно спасает. Внутри chroot у программы просто не будет sudo, а то и su, чтобы подбирать парали, да и наличие у нее рута еще не факт что позволит вылезти наружу.

