Выпуск сістэмы ізаляцыі прыкладанняў Firejail 0.9.62

Пасля шасці месяцаў распрацоўкі даступны рэліз праекта Firejail 0.9.62, у рамках якога развіваецца сістэма для ізаляванага выканання графічных, кансольных і серверных прыкладанняў. Ужыванне Firejail дазваляе мінімізаваць рызыку кампраметацыі асноўнай сістэмы пры запуску не вартыя даверу або патэнцыйна ўразлівых праграм. Праграма напісана на мове Сі, распаўсюджваецца пад ліцэнзіяй GPLv2 і можа працаваць у любым дыстрыбутыве Linux з ядром старэйшыя за 3.0. Гатовыя пакеты з Firejail падрыхтаваны у фарматах deb (Debian, Ubuntu) і rpm (CentOS, Fedora).

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

У адрозненне ад сродкаў кантэйнернай ізаляцыі firejail лімітава просты у канфігурацыі і не патрабуе падрыхтоўкі сістэмнай выявы - склад кантэйнера фармуецца на лёце на аснове змесціва бягучай ФС і выдаляецца пасля завяршэння працы прыкладання. Прадстаўляюцца гнуткія сродкі задання правіл доступу да файлавай сістэмы, можна вызначаць да якіх файламі і дырэкторыям дазволены ці забаронены доступ, падлучаць для дадзеных часавыя ФС (tmpfs), абмяжоўваць доступ да файлаў ці дырэкторыям толькі на чытанне, сумяшчаць дырэкторыі праз bind-mount і overlayfs.

Для вялікай колькасці папулярных прыкладанняў, у тым ліку для Firefox, Chromium, VLC і Transmission, падрыхтаваны гатовыя профілі ізаляцыі сістэмных выклікаў. Для атрымання прывілеяў, неабходных для налады ізаляванага асяроддзя, выкананы файл firejail усталёўваецца са сцягам SUID root (пасля ініцыялізацыі прывілея скідаюцца). Для выканання праграмы ў рэжыме ізаляцыі дастаткова ўказаць імя прыкладання ў якасці аргументу ўтыліты firejail, напрыклад, "firejail firefox" або "sudo firejail /etc/init.d/nginx start".

У новым выпуску:

  • У файл канфігурацыі /etc/firejail/firejail.config дададзена настройка 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,
    • links,
    • 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,
    • ар,
    • gnome-latex,
    • pngquant,
    • kalgebra,
    • kalgebramobile,
    • amuled,
    • kfind,
    • ненарматыўная лексіка,
    • audio-recorder,
    • cameramonitor,
    • ddgtk,
    • drawio,
    • unf,
    • gmpc,
    • electron-mail,
    • gist,
    • gist-paste.

Крыніца: opennet.ru

Дадаць каментар