@tg_infosec · Post #3951 · 24/01/2026 11:33
🪨Все по песочницам! • Представьте, что вам нужно запустить некоторый процесс Linux в изолированной среде. Так, чтобы он не смог нанести вред системе, на которой запускается. Какие инструменты мы используем в таких случаях? Первое, что приходит в голову, это технологии виртуализации или контейнеризации. Но что, если нам нужно что-то более легковесное и простое в использовании? Bubblewrap — это утилита командной строки, которая является одним из проектов сообщества Containers (знаменито авторством таких инструментов, как Podman, Buildah, Skopeo и др.). • Когда может быть полезен: ➡Невысокие требования к изоляции процесса и системы; ➡Недопустимы накладные расходы как у более сложных средств изоляции; ➡Тестирование (поведения) программы в разных условиях эксплуатации; ➡Запуск программ/скриптов/кода, полученных из ненадежных источников; ➡Лимитирование расхода ресурсов для отдельно взятого процесса; ➡Изменение структуры файловой системы для запускаемого процесса. • Стоит сказать, что bubblewrap — это не то ПО, которое предоставляет готовую "песочницу" с определенной политикой безопасности. В некоторых вариантах использования bubblewrap требуется граница безопасности между изолированной средой и реальной системой; в других вариантах использования требуется возможность изменять расположение файловой системы для процессов внутри изолированной среды, но не ставится цель создания границы безопасности. В результате уровень защиты между изолированными процессами и хост-системой определяется аргументами, передаваемыми bubblewrap. • Таким образом, используя аргументы командной строки, вы сами определяете уровень изоляции запускаемого процесса. При этом под капотом Bubblewrap использует стандартные средства Linux, которые не требуют повышения привилегий пользователя: chroot, clone, seccomp, cgroups, landlock. • Основные плюсы: ➡Не требуются root-привилегии; ➡Изолирует работу только одного процесса; ➡Может использоваться для изоляции приложений с графическим UI; ➡Предоставляет большой спектр настроек лимитирования; ➡Простая установка и использование; ➡Низкие накладные расходы на изоляцию. • Основной минус — это то, что ограничение на ресурсы системы устанавливаются только с использованием cgroup. Это значит, что для полноценной работы bwrap в Docker/Kubernetes-контейнере последний придется запустить в privileged-режиме! ➡️https://github.com/containers/bubblewrap • Дополнительно: • Firejail — гибкий и мощный инструмент изоляции, который не просто контролирует доступ к файловой системе, а полностью отрезает приложение от основной системы с помощью механизма Linux Namespaces. Подробнее тут: https://t.me/it_secur/1053 #Linux#Песочница
Hashtags