Using bubblewrap to add sandboxing to NetBSD
В NetBSD отсутствует полноценная технология sandboxing, в отличие от FreeBSD (jails) и Linux (namespaces). Существующий chroot считается слабым механизмом изоляции, так как ограничивает только представление файловой системы, но не изолирует сеть, IPC и монтирование. Предыдущие попытки реализации изоляции на уровне ядра с помощью инструментов gaols, mult и netbsd-sandbox не были интегрированы в систему.
В рамках Google Summer of Code 2025 планируется реализовать механизм, подобный Linux namespaces, используя bubblewrap. Проект фокусируется на двух типах namespace: UTS (для управления именем хоста) и mount (для изоляции файловых систем). Реализация будет использовать системные вызовы unshare или clone, а в ядре NetBSD - подсистему kauth для управления авторизацией и жизненным циклом credential. Это позволит не только добавить изоляцию приложений, но и улучшить совместимость с Linux-бинарниками через существующий compat_linux.
Комментарии (24)
- Bubblewrap — основа песочницы Flatpak, используется для изоляции приложений (например, Claude Code/Codex/Gemini CLI) с контролем доступа к системе.
- NetBSD выделяется полной бит-в-бит воспроизводимостью бинарников и вендорингом GCC, что обеспечивает воспроизводимость всей цепочки инструментов; Golang также обеспечивает воспроизводимость реестра пакетов.
- Полные окружения рабочего стола (labwc, KWin, Plasma) могут запускаться через bwrap с привязкой устройств и временных файлов, с возможностью ограничения доступа.
- Sandbox-инструменты (bubblewrap, firejail) имеют ограничения в Linux, особенно на десктопе; AppArmor предлагает профили с автоматическим определением разрешений.
- Guix и FreeBSD (v15) также рассматриваются в контексте воспроизводимости сборок и безопасности.
SmolBSD – build your own minimal BSD system
Проект smolBSD позволяет создавать минималистичные BSD-образные операционные системы, собирая их из необходимых компонентов, прямо как конструктор. В основе — микроядро NetBSD, которое загружается буквально за миллисекунды. Пользователи могут добавлять только нужные сервисы, например, SSH или веб-сервер, и получать готовый к использованию образ.
Процесс сборки полностью автоматизирован: достаточно указать нужный сервис в конфигурации, и система сама скачает необходимые пакеты, соберёт образ и подготовит его к запуску. Результат — это минималистичный, но полностью функциональный экземпляр ОС, готовый к работе на любом совместимом железе или в виртуальной среде.
Главная фишка — скорость. Благодаря минимализму, системы на базе smolBSD загружаются практически мгновенно. Это делает их идеальными для edge-устройств, контейнеров или любых сценариев, где важна каждая миллисекунда.
Проект полностью открытый, и его уже можно свободно тестировать и использовать.
Комментарии (21)
- Проект SmolBSD — это минималистичная сборка NetBSD, предназначенная для запуска внутри microVM (Firecracker) и контейнеров.
- Участники обсуждения отметили, что SmolBSD демонстрирует высокую скорость загрузки и минимальные требования к ресурсам, что делает его привлекательным для использования в качестве базового образа для контейнеров и микро-виртуализации.
- Некоторые участники выразили интерес к сравнению SmolBSD с другими минималистичными решениями, такими как FreeBSD и NanoBSD, а также к обсуждению того, какие именно преимущества предоставляет SmolBSD по сравнению с ними.
- Также было упомянуто, что SmolBSD может быть полезен для создания минималистичных образов для контейнеров и микро-виртуализации, и что он может быть использован как альтернатива для таких решений, как Talos или Flatcar Linux.