Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
firejail — Пространства имён Linux и песочница seccomp-bpf | Kitploit
Инструменты/GitHubGitHub/netblue30/firejail
Оборонительные ИнструментыВиртуализация для безопасностиКонфиденциальность
GitHubnetblue30/firejail

firejail

Пространства имён Linux и песочница seccomp-bpf

РепозиторийСайт
7.6k6704 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Firejail

Build (GitLab) Build (GitHub) Build-extra Test Check-C Check-Profiles Check-Python Codespell Packaging status (Repology)

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-компьютере.

Видео

Ссылки

  • Веб-страница проекта: https://firejail.wordpress.com/
  • IRC: https://web.libera.chat/#firejail
  • Загрузка и установка: https://firejail.wordpress.com/download-2/
  • Возможности: https://firejail.wordpress.com/features-3/
  • Документация: https://firejail.wordpress.com/documentation-2/
  • FAQ: https://github.com/netblue30/firejail/wiki/Frequently-Asked-Questions
  • Вики: https://github.com/netblue30/firejail/wiki
  • GitHub Actions: https://github.com/netblue30/firejail/actions
  • GitLab CI: https://gitlab.com/Firejail/firejail_ci/pipelines
  • Debian CI: https://salsa.debian.org/reiner/firejail
  • Debian Package Tracker: https://tracker.debian.org/pkg/firejail
  • Ubuntu PPA: https://launchpad.net/~deki/+archive/ubuntu/firejail
  • Видеоканал: https://odysee.com/@netblue30:9?order=new
  • Резервный видеоканал: https://www.bitchute.com/profile/JSBsA1aoQVfW/

Уязвимости в безопасности

См. SECURITY.md.

Установка

Поддерживаемые версии см. в SECURITY.md.

Debian

Примечание: версии из Debian stable и backports, скорее всего, устарели, поэтому в настоящее время мы рекомендуем либо скачать и установить .deb-пакет из последнего релиза:

  • https://github.com/netblue30/firejail/releases/latest

Либо собрать из исходников.

Старые инструкции

Debian stable (bullseye): рекомендуем использовать пакет из backports.

Ubuntu

Примечание: версии из дистрибутива и PPA, скорее всего, устарели, поэтому в настоящее время мы рекомендуем либо скачать и установить .deb-пакет из последнего релиза:

  • https://github.com/netblue30/firejail/releases/latest

Либо собрать из исходников.

Старые инструкции

Примечание: рекомендация PPA относится в основном к самому firejail; устанавливать firetools и связанные с firejail инструменты непосредственно из дистрибутива вполне допустимо, если их нет в PPA, поскольку они обновляются реже.

Для Ubuntu 18.04+ и производных (таких как Linux Mint) пользователям настоятельно рекомендуется использовать PPA.

Как добавить PPA и установить из него:

root@kitploit:~
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:

  • CVE-2021-26910
  • firejail version in Ubuntu 20.04 LTS is vulnerable to CVE-2021-26910

См. также https://wiki.ubuntu.com/SecurityTeam/FAQ:

Какое программное обеспечение поддерживается командой безопасности Ubuntu?

Ubuntu в настоящее время разделена на четыре компонента: main, restricted, universe и multiverse. Все бинарные пакеты в main и restricted поддерживаются командой безопасности Ubuntu в течение всего срока поддержки релиза Ubuntu, тогда как бинарные пакеты в universe и multiverse поддерживаются сообществом Ubuntu.

Кроме того, версия из PPA, скорее всего, более свежая и содержит больше исправлений профилей.

Подробности см. в следующих обсуждениях:

  • Should I keep using the version of firejail available in my distro repos?
  • How to install the latest version on Ubuntu and derivatives

Прочие

Firejail доступен во многих дистрибутивах Linux:

Repology

Packaging status (Repology)

За исключением вышеупомянутых исключений, если ваш дистрибутив предоставляет поддерживаемую версию firejail, в целом лучше устанавливать его из дистрибутива.

Версию можно проверить с помощью firejail --version после установки.

Вы также можете установить один из выпущенных пакетов.

Сборка

Инструкции по сборке и установке текущей разрабатываемой версии из исходников.

Рекомендуется использовать приведённые ниже инструкции для конкретного дистрибутива, когда это применимо, поскольку они создают нативные пакеты, что упрощает интеграцию с остальной системой и управление пакетами.

Для остальных дистрибутивов см. общие инструкции.

См. также .gitlab-ci.yml о том, как выполняются сборки для конкретных дистрибутивов в CI.

Arch

Примечание: пакет AUR не поддерживается нами.

Установите firejail-git из AUR.

Пример:

root@kitploit:~
yay -S firejail-git

Debian

Для Debian, Ubuntu и производных:

Примечание: любые флаги ./configure следует передавать скрипту mkdeb.sh (например, ./mkdeb.sh --enable-foo).

root@kitploit:~
sudo apt-get update -qy
sudo apt-get install -qy \
  git build-essential fakeroot lintian libapparmor-dev pkg-config gawk
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./mkdeb.sh &&
sudo dpkg -i ./*.deb &&
make installcheck

Fedora

Для Fedora и производных:

Примечание: любые флаги ./configure следует передавать скрипту mkrpm.sh (например, ./platform/rpm/mkrpm.sh --enable-foo).

root@kitploit:~
sudo dnf update -y
sudo dnf install -y rpm-build gcc make
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./platform/rpm/mkrpm.sh &&
sudo rpm -i ./*.rpm &&
make installcheck

Generic

Общие инструкции по сборке/установке:

root@kitploit:~
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make -j "$(nproc)" &&
sudo make install-strip &&
make installcheck

В Debian/Ubuntu вам нужно будет установить git и gcc.

Чтобы собрать с поддержкой AppArmor (которая обычно используется в Debian, Ubuntu, openSUSE и производных), установите библиотеки разработки AppArmor и pkg-config и используйте опцию ./configure --enable-apparmor:

root@kitploit:~
sudo apt-get install git build-essential libapparmor-dev pkg-config gawk

Чтобы собрать с поддержкой SELinux (которая обычно используется в Fedora, RHEL и производных), установите libselinux1-dev (libselinux-devel в Fedora) и используйте опцию ./configure --enable-selinux.

Подробная информация об использовании firejail из git доступна в вики.

Запуск песочницы

Примечание: обязательно используйте полный путь к программе (например, firejail /usr/bin/firefox вместо firejail firefox), чтобы избежать потенциальных проблем firejail-in-firejail (см. #2877).

Чтобы запустить песочницу, добавьте firejail перед вашей командой:

root@kitploit:~
firejail /usr/bin/firefox            # запуск Mozilla Firefox
firejail /usr/bin/transmission-gtk   # запуск Transmission BitTorrent
firejail /usr/bin/vlc                # запуск VideoLAN Client
sudo firejail /etc/init.d/nginx start

Выполните firejail --list в терминале, чтобы вывести список всех активных песочниц. Пример:

root@kitploit:~
$ firejail --list
1617:netblue:/usr/bin/firejail /usr/bin/firefox-esr
7719:netblue:/usr/bin/firejail /usr/bin/transmission-qt
7779:netblue:/usr/bin/firejail /usr/bin/galculator
7874:netblue:/usr/bin/firejail /usr/bin/vlc --started-from-file file:///home/netblue/firejail-whitelist.mp4
7916:netblue:firejail --list

Интеграция с рабочим столом

Интегрируйте вашу песочницу в рабочий стол, выполнив следующие две команды:

root@kitploit:~
firecfg --fix-sound
sudo firecfg

Первая команда исправляет некоторые ошибки, связанные с общей памятью/PID namespace в PulseAudio до версии 9. Вторая команда интегрирует Firejail в ваш рабочий стол. Для применения изменений PulseAudio потребуется выйти из системы и войти снова.

Запускайте свои программы привычным способом: меню менеджера рабочего стола, файловый менеджер, панель запуска приложений.

Интеграция применяется к любой программе, поддерживаемой Firejail по умолчанию. В текущей версии Firejail более 900 приложений по умолчанию, и это число растёт с каждым новым релизом.

Мы храним список приложений в src/firecfg/firecfg.config (/etc/firejail/firecfg.config после установки).

Профили безопасности

Большинство параметров командной строки Firejail можно передавать песочнице с помощью файлов профилей.

Профили для всех поддерживаемых приложений можно найти в etc/ (/etc/firejail/ после установки).

Мы также храним список исправлений профилей для предыдущих выпущенных версий в etc-fixes/.

Если вы поддерживаете дополнительные профили безопасности Firejail в публичном репозитории, пожалуйста, дайте нам ссылку:

  • https://github.com/chiraag-nataraj/firejail-profiles
  • https://github.com/triceratops1/fe

Используйте этот issue для запроса новых профилей:

  • Запросы профилей

Вы также можете использовать этот инструмент, чтобы получить список системных вызовов, необходимых программе:

  • contrib/syscalls.sh

Удаление

firecfg создаёт символические ссылки в /usr/local/bin, поэтому для полного удаления firejail перед удалением выполните следующее:

root@kitploit:~
sudo firecfg --clean

Подробности см. в man firecfg.

Примечание: битые символические ссылки игнорируются при поиске исполняемого файла в $PATH, поэтому удаление без выполнения вышеуказанного не должно вызывать проблем.

Последняя выпущенная версия: 0.9.80

Текущая разрабатываемая версия: 0.9.81

Поддержка Landlock — продолжается/экспериментально

  • Добавлено в #6078, основано на #5315 от ChrysoliteAzalea/landlock
  • Определение на этапе компиляции на основе linux/landlock.h — если заголовок найден, функция компилируется
  • Определение на этапе выполнения на основе того, поддерживается ли Landlock ядром и включён ли в системе
root@kitploit:~
LANDLOCK
       Landlock — это модуль безопасности Linux, впервые представленный в
       версии 5.13 ядра Linux. Он позволяет непривилегированным процессам
       ограничивать свой доступ к файловой системе. После наложения эти
       ограничения невозможно снять, и все дочерние процессы, созданные
       процессами с ограничениями Landlock, наследуют эти ограничения.
       Firejail поддерживает Landlock как дополнительную функцию
       песочницы. С её помощью можно гарантировать, что помещённое в
       песочницу приложение сможет получать доступ только к тем файлам и
       каталогам, к которым ему было явно разрешено обращаться. Firejail
       поддерживает заполнение набора правил как базовым набором правил
       (см. --landlock), так и пользовательским набором правил.

       Важные замечания:

              - Процесс может установить набор правил Landlock, только если
              он имеет либо CAP_SYS_ADMIN в своём эффективном наборе
              возможностей, либо включено ограничение "No New Privileges".
              Из-за этого включение функции Landlock также приведёт к тому,
              что Firejail включит ограничение "No New Privileges",
              независимо от профиля или параметра командной строки
              --nonewprivs.

              - Доступ к каталогу /proc управляется через параметр командной
              строки --landlock.proc.

              - Доступ к каталогу /etc разрешается автоматически. Чтобы
              переопределить это, используйте параметр командной строки
              --writable-etc. Вы также можете использовать параметр
              --private-etc, чтобы ограничить доступ к каталогу /etc.

       Чтобы включить самоограничение Landlock поверх текущих функций
       безопасности Firejail, передайте флаг --landlock в командной строке
       Firejail. Вы также можете использовать параметры --landlock.read,
       --landlock.write, --landlock.special и --landlock.execute вместе с
       --landlock или вместо него. Пример:

       $ firejail --landlock --landlock.read=/media --landlock.proc=ro /usr/bin/mc

Статистика профилей

Небольшой инструмент для вывода статистики профилей. Скомпилируйте и установите как обычно. Инструмент устанавливается в каталог /usr/lib/firejail.

Запустите его для профилей в /etc/profiles:

root@kitploit:~
$ /usr/lib/firejail/profstats /etc/firejail/*.profile
No include .local found in /etc/firejail/noprofile.profile
Warning: multiple caps in /etc/firejail/tidal-hifi.profile
Warning: multiple caps in /etc/firejail/tqemu.profile
Warning: multiple caps in /etc/firejail/transmission-daemon.profile
Warning: multiple caps in /etc/firejail/trivalent.profile

Stats:
    profiles			1342
    include local profile	1341   (include profile-name.local)
    include globals		1307   (include globals.local)
    blacklist ~/.ssh		1201   (include disable-common.inc)
    seccomp			1213
    capabilities		1335
    noexec			1214   (include disable-exec.inc)
    noroot			1105
    memory-deny-write-execute	320
    restrict-namespaces		1048
    apparmor			869
    private-bin			817
    private-dev			1172
    private-etc			842
    private-cache		865
    private-lib			86
    private-tmp			1036
    whitelist home directory	662
    whitelist var		975   (include whitelist-var-common.inc)
    whitelist run/user		1305   (include whitelist-runuser-common.inc
					or blacklist ${RUNUSER})
    whitelist usr/share		760   (include whitelist-usr-share-common.inc
    net none			452
    dbus-user none 		766
    dbus-user filter 		206
    dbus-system none 		970
    dbus-system filter 		13
Скачать инструмент
Quick Start
Quick Start
Advanced Browser Security
Advanced Browser Security
Tor Browser Security
Tor Browser Security