
Пространства имён Linux и песочница seccomp-bpf
Firejail — это лёгкое средство безопасности, предназначенное для защиты Linux-системы путём создания ограниченного окружения для запуска (потенциально недоверенных) приложений.
Если точнее, это SUID-песочница, которая снижает риск нарушений безопасности за счёт использования пространств имён (namespaces) Linux, seccomp-bpf и возможностей (capabilities) Linux. Она позволяет процессу и всем его потомкам иметь собственное частное представление о глобально разделяемых ресурсах ядра, таких как сетевой стек, таблица процессов и таблица монтирования. Firejail может работать в окружении SELinux или AppArmor и интегрирован с контрольными группами Linux (Control Groups).
Написанный на C практически без зависимостей, этот программный продукт работает на любом Linux-компьютере с версией ядра 3.x или новее. Он может помещать в песочницу процессы любого типа: серверы, графические приложения и даже пользовательские сеансы входа в систему. Программа включает профили песочницы для ряда распространённых Linux-программ, таких как Mozilla Firefox, Chromium, VLC, Transmission и других.
Песочница лёгкая, накладные расходы невелики. Нет сложных конфигурационных файлов, которые нужно редактировать, нет открытых socket-соединений, нет работающих в фоне демонов. Все функции безопасности реализованы непосредственно в ядре Linux и доступны на любом Linux-компьютере.
Quick Start |
Advanced Browser Security |
Tor Browser Security |
См. SECURITY.md.
Поддерживаемые версии см. в SECURITY.md.
Примечание: версии из Debian stable и backports, скорее всего, устарели, поэтому в настоящее время мы рекомендуем либо скачать и установить .deb-пакет из последнего релиза:
Либо собрать из исходников.
Debian stable (bullseye): рекомендуем использовать пакет из backports.
Примечание: версии из дистрибутива и PPA, скорее всего, устарели, поэтому в настоящее время мы рекомендуем либо скачать и установить .deb-пакет из последнего релиза:
Либо собрать из исходников.
Примечание: рекомендация PPA относится в основном к самому firejail; устанавливать firetools и связанные с firejail инструменты непосредственно из дистрибутива вполне допустимо, если их нет в PPA, поскольку они обновляются реже.
Для Ubuntu 18.04+ и производных (таких как Linux Mint) пользователям настоятельно рекомендуется использовать PPA.
Как добавить PPA и установить из него:
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
Причина: пакет firejail для Ubuntu 20.04 оставался уязвимым к CVE-2021-26910 в течение нескольких месяцев после того, как патч для него был опубликован на Launchpad:
См. также https://wiki.ubuntu.com/SecurityTeam/FAQ:
Какое программное обеспечение поддерживается командой безопасности Ubuntu?
Ubuntu в настоящее время разделена на четыре компонента: main, restricted, universe и multiverse. Все бинарные пакеты в main и restricted поддерживаются командой безопасности Ubuntu в течение всего срока поддержки релиза Ubuntu, тогда как бинарные пакеты в universe и multiverse поддерживаются сообществом Ubuntu.
Кроме того, версия из PPA, скорее всего, более свежая и содержит больше исправлений профилей.
Подробности см. в следующих обсуждениях:
Firejail доступен во многих дистрибутивах Linux:
За исключением вышеупомянутых исключений, если ваш дистрибутив предоставляет поддерживаемую версию firejail, в целом лучше устанавливать его из дистрибутива.