Firejaili rakenduste isoleerimissüsteemi 0.9.62 väljalase

Pärast kuuekuulist arengut saadaval projekti vabastamine Firejail 0.9.62, mille raames töötatakse välja süsteem graafiliste, konsooli- ja serverirakenduste isoleeritud täitmiseks. Firejaili kasutamine võimaldab minimeerida põhisüsteemi ohustamise ohtu ebausaldusväärsete või potentsiaalselt haavatavate programmide käitamisel. Programm on kirjutatud C-keeles, jaotatud litsentsitud GPLv2 alusel ja võib töötada mis tahes Linuxi distributsioonis, mille kernel on vanem kui 3.0. Valmis paketid Firejailiga ette valmistatud formaadis deb (Debian, Ubuntu) ja rpm (CentOS, Fedora).

Firejaili isoleerimiseks kasutatakse пространства имён (namespaces), AppArmor и фильтрация системных вызовов (seccomp-bpf) в Linux. После запуска программа и все её дочерние процессы используют отдельные представления ресурсов ядра, таких как сетевой стек, таблица процессов и точки монтирования. Зависимые между собой приложения можно объединять в один общий sandbox. При желании Firejail можно применять и для запуска контейнеров Docker, LXC и OpenVZ.

Erinevalt konteineri isolatsioonitööriistadest on tulejalgimine äärmiselt suur lihtne в конфигурации и не требует подготовки системного образа — состав контейнера формируется на лету на основе содержимого текущей ФС и удаляется после завершения работы приложения. Предоставляются гибкие средства задания правил доступа к файловой системе, можно определять к каким файлами и директориям разрешён или запрещён доступ, подключать для данных временные ФС (tmpfs), ограничивать доступ к файлам или директориям только на чтение, совмещать директории через bind-mount и overlayfs.

Paljude populaarsete rakenduste jaoks, sealhulgas Firefox, Chromium, VLC ja Transmission, valmis profiilid изоляции системных вызовов. Для получения привилегий, необходимых для настройки изолированного окружения, исполняемый файл firejail устанавливается с флагом SUID root (после инициализации привилегии сбрасываются). Для выполнения программы в режиме изоляции достаточно указать имя приложения в качестве аргумента утилиты firejail, например, «firejail firefox» или «sudo firejail /etc/init.d/nginx start».

Uues väljaandes:

  • В файл конфигурации /etc/firejail/firejail.config lisatud настройка file-copy-limit, позволяющая ограничить размер файлов, которые будут скопированы в память при использовании опций «—private-*» (по умолчанию ограничение выставлено в 500MB).
  • В каталог /usr/share/doc/firejail добавлены шаблоны для создания новых профилей ограничения приложений.
  • В профилях разрешено использование отладчиков.
  • Улучшена фильтрация системных вызовов при помощи механизма seccomp.
  • Обеспечено автоопределение флагов компилятора.
  • Вызов chroot теперь выполняется не на основе пути, а используя точки монтирования на базе файлового дескриптора.
  • Каталог /usr/share помещён в белый список разнообразных профилей.
  • В секцию conrib добавлены новые вспомогательные скрипты gdb-firejail.sh и sort.py.
  • Усилена защита на стадии выполнения привилегированного кода (SUID).
  • Для профилей реализованы новые условные признаки HAS_X11 и HAS_NET для проверки наличия X-сервера и сетевого доступа.
  • Добавлены профили для изолированного запуска приложений (общее число профилей доведено до 884):
    • i2p,
    • tor-browser (AUR),
    • Zulip,
    • rsync,
    • signal-cli,
    • tcpdump,
    • tshark,
    • qgis,
    • OpenArena,
    • godot,
    • klatexformula,
    • klatexformula_cmdl,
    • lingid,
    • xlinks,
    • pandoc,
    • teams-for-linux,
    • gnome-sound-recorder,
    • newsbeuter,
    • keepassxc-cli,
    • keepassxc-proxy,
    • rhythmbox-client,
    • jerry,
    • zeal,
    • mpg123,
    • conplay,
    • mpg123.bin,
    • mpg123-alsa,
    • mpg123-id3dump,
    • out123,
    • mpg123-jack,
    • mpg123-nas,
    • mpg123-openal,
    • mpg123-oss,
    • mpg123-portaudio,
    • mpg123-pulse,
    • mpg123-strip,
    • pavucontrol-qt,
    • gnome-characters,
    • gnome-character-map,
    • Whalebird,
    • tb-starter-wrapper,
    • bzcat,
    • kiwix-desktop,
    • bzcat,
    • zstd,
    • pzstd,
    • zstdcat,
    • zstdgrep,
    • zstdless,
    • zstdmt,
    • unzstd,
    • ar
    • gnome-latex,
    • pngquant,
    • kalgebra,
    • kalgebramobile,
    • amuled,
    • kfind,
    • profanity,
    • audio-recorder,
    • cameramonitor,
    • ddgtk,
    • drawio,
    • unf,
    • gmpc,
    • electron-mail,
    • gist,
    • gist-paste.

Allikas: opennet.ru

Lisa kommentaar