Суть проекта: безопасность без лишних зависимостей
Firejail — это легковесный инструмент безопасности для Linux, написанный на языке C с практически нулевыми внешними зависимостями. Его главная задача — создание ограниченной среды (песочницы) для запуска потенциально ненадежных приложений. В отличие от тяжелых контейнерных решений, Firejail не требует запуска фоновых демонов, открытия сокетов или редактирования сложных конфигурационных файлов. Все механизмы изоляции реализованы непосредственно в ядре Linux, что обеспечивает минимальные накладные расходы.
Техническая реализация и требования
Программа использует комбинацию технологий Linux для изоляции процессов и их потомков:
- Linux namespaces: предоставляют процессам собственное приватное представление о глобальных ресурсах ядра (сетевой стек, таблица процессов, таблица монтирования).
- seccomp-bpf: ограничивает системные вызовы, доступные процессу.
- Linux capabilities: тонкая настройка прав доступа.
- Интеграция с мейнстримом: полная поддержка сред SELinux и AppArmor, а также интеграция с Linux Control Groups (cgroups).
Для работы требуется ядро Linux версии 3.3 или новее. Архитектура позволяет песочничать любые типы процессов: от серверных демонов до графических приложений и даже пользовательских сессий входа.
Поддерживаемые приложения и профили
Firejail поставляется с готовыми профилями безопасности для популярных программ, что позволяет мгновенно защитить их от утечек данных или эксплуатации уязвимостей. Ниже приведены ключевые поддерживаемые приложения:
| Категория | Приложения | Особенности изоляции |
|---|---|---|
| Браузеры | Mozilla Firefox, Chromium, Tor Browser | Изоляция сетевых соединений, защита от отслеживания, ограничение доступа к файловой системе |
| Медиа | VLC, Transmission | Защита от вредоносных медиафайлов, изоляция сетевых портов |
| Системные утилиты | Серверы, графические приложения, login-сессии | Полная изоляция пространства имен, контроль ресурсов через cgroups |
Важное предупреждение по безопасности (CVE-2021-26910)
Разработчики настоятельно рекомендуют не использовать версии Firejail, поставляемые в репозиториях дистрибутивов (особенно Ubuntu 20.04 LTS и Debian Stable), так как они могут быть устаревшими. В частности, пакет для Ubuntu 20.04 оставался уязвимым к CVE-2021-26910 в течение длительного времени после публикации патча.
Для обеспечения безопасности рекомендуется:
- Устанавливать последнюю версию из официальных релизов GitHub (формат .deb или сборка из исходников).
- Для Ubuntu 18.04+ использовать PPA
ppa:deki/firejail, который обновляется чаще, чем официальные репозитории.
Быстрый старт
Запуск приложения в песочнице осуществляется простым префиксом команды:
firejail /usr/bin/firefox
Для интеграции с рабочим столом (чтобы запускать программы из меню без префикса) выполните:
firecfg --fix-sound
sudo firecfg
После этого можно запускать программы привычным способом, и они будут автоматически изолированы. Список активных песочниц можно проверить командой firejail --list.
Источник: Github ↗
