Я хочу запускати невеликі ненадійні програми, але обмежую їм доступ до будь-яких файлів поза їх папкою, доступу до мережі та всього іншого, що їм насправді не потрібно. Який найпростіший спосіб досягти цього?
Я хочу запускати невеликі ненадійні програми, але обмежую їм доступ до будь-яких файлів поза їх папкою, доступу до мережі та всього іншого, що їм насправді не потрібно. Який найпростіший спосіб досягти цього?
Відповіді:
Якщо вони справді не довіряють, і ви хочете бути впевненими, ви встановите окрему скриньку. Або насправді, або практично.
Крім того, ви не хочете, щоб цей ящик знаходився в тій самій мережі, що і ваші важливі речі, якщо вам достатньо параноїків. У всіх рішеннях ви створили б окремого користувача без прав, щоб не відкривати занадто багато інструментів для потенційного компрометатора.
Якщо ви зобов'язані виконувати його в одному і тому ж полі, у вас є, наприклад, ця опція
chroot
. Це варіант за замовчуванням для цього для багатьох людей, а для неспецифічних загроз це може навіть спрацювати. Але це НЕ варіант захисту, і його можна вибити досить легко. Я б запропонував використовувати це за призначенням, тобто не для безпеки.Врешті-решт, вам може знадобитися створити конкретну модель пісочниці без клопоту з віртуалізацією чи окремими ящиками чи ситуацією, що все ще перебуває під загрозою chroot
. Я сумніваюся, що це ви мали на увазі, але подивіться на це посилання для отримання більш глибокої інформації.
Firejail є досить новим і в постійному розвитку. Простий у використанні.
Ви можете просто:
sudo apt-get install firejail
firejail app
Docker допоможе вам налаштувати контейнери, з яких ви зможете запускати своє поточне ядро, але зберігати його подалі від решти системи. Це здається передній край, але Ubuntu фокусується на хорошій документації.
Одне можливе рішення - це програмне забезпечення для віртуалізації, таке як VirtualBox, яке ви можете знайти в програмному центрі.
Тепер ви можете встановити програмне забезпечення, якому не довіряєте, щоб побачити, що це робить. Він не може засмутити зовнішній світ або хостинг ОС, оскільки він не має доступу.
Однак він може викинути вашу віртуальну машину, але, якщо це станеться, ви можете просто відновити з вашої знімки.
Можуть існувати й інші методи обмеження руйнівної сили недовіреного програмного забезпечення, але це найбільш надійний метод, про який я можу придумати.
Інший варіант може бути LXC додаткової інформації тут
LXC - це пакет керування простором користувачів для Linux Containers, легкий механізм віртуальної системи, який іноді описується як «chroot on steroids».
LXC створюється з chroot для впровадження повноцінних віртуальних систем, додаючи механізми управління ресурсами та ізоляцію до існуючої інфраструктури управління процесами Linux.
Він доступний у центрі програмного забезпечення. Однак у мене немає досвіду.
Mbox - це легкий механізм пісочниці, яким може користуватися будь-який користувач без особливих пільг у товарних операційних системах.
Я надійно використовував це для кількох речей.
Ви можете використовувати субсерватора для використання програми Docker для роботи в пісочниці. Це дозволяє робити такі речі, як програми для графічного інтерфейсу для пісочниці, що зробити з Docker безпосередньо.
sudo apt install subuser
Я думаю, можливим рішенням є створення окремого користувача для тестування та обмеження його привілеїв. Таким чином ви не втратите продуктивність, що, безумовно, трапиться у віртуальній машині, але я думаю, що це менш безпечно, якщо не налаштовано дуже правильно, що я не можу порадити, як це зробити.
У випадку, якщо ви просто хочете пісочницю активність користувачів, ви можете використовувати "DoSH"
DoSH (що означає Docker SHell) - це розробка для створення контейнерів Docker, коли користувачі входять у систему Linux і запускають в них оболонку, а не симпатично створюють оболонку.