Firejail 0.9.62 Kugwiritsa Ntchito Kudzipatula Kutulutsidwa

Pambuyo pa miyezi isanu ndi umodzi ya chitukuko zilipo kutulutsidwa kwa polojekiti Firejail 0.9.62, momwe dongosolo likupangidwira kuti lizigwiritsidwa ntchito patokha la graphical, console ndi seva. Kugwiritsa ntchito Firejail kumakupatsani mwayi wochepetsera chiopsezo chosokoneza dongosolo lalikulu mukamagwiritsa ntchito mapulogalamu osadalirika kapena omwe angakhale pachiwopsezo. Pulogalamuyi inalembedwa m'chinenero cha C, wogawidwa ndi yololedwa pansi pa GPLv2 ndipo imatha kuthamanga pagawidwe lililonse la Linux ndi kernel yakale kuposa 3.0. Phukusi lokonzekera ndi Firejail kukonzekera mu deb (Debian, Ubuntu) ndi rpm (CentOS, Fedora).

Kwa kudzipatula ku Firejail amagwiritsidwa ntchito пространства ΠΈΠΌΡ‘Π½ (namespaces), AppArmor ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (seccomp-bpf) Π² Linux. ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈ всС Π΅Ρ‘ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ процСссы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ прСдставлСния рСсурсов ядра, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сСтСвой стСк, Ρ‚Π°Π±Π»ΠΈΡ†Π° процСссов ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования. ЗависимыС ΠΌΠ΅ΠΆΠ΄Ρƒ собой прилоТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ‰ΠΈΠΉ sandbox. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Firejail ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ для запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker, LXC ΠΈ OpenVZ.

Mosiyana ndi zida zotchinjiriza zotengera, firejail ndiyowopsa zosavuta Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ систСмного ΠΎΠ±Ρ€Π°Π·Π° β€” состав ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° формируСтся Π½Π° Π»Π΅Ρ‚Ρƒ Π½Π° основС содСрТимого Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π€Π‘ ΠΈ удаляСтся послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ срСдства задания ΠΏΡ€Π°Π²ΠΈΠ» доступа ΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ дирСкториям Ρ€Π°Π·Ρ€Π΅ΡˆΡ‘Π½ ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½ доступ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ для Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π€Π‘ (tmpfs), ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ дирСкториям Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· bind-mount ΠΈ overlayfs.

Pamapulogalamu ambiri otchuka, kuphatikiza Firefox, Chromium, VLC ndi Transmission, okonzeka Mbiri изоляции систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Для получСния ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для настройки ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ окруТСния, исполняСмый Ρ„Π°ΠΉΠ» firejail устанавливаСтся с Ρ„Π»Π°Π³ΠΎΠΌ SUID root (послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ). Для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ изоляции достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя прилоТСния Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ firejail, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«firejail firefoxΒ» ΠΈΠ»ΠΈ Β«sudo firejail /etc/init.d/nginx startΒ».

M'kutulutsa kwatsopano:

  • Π’ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/firejail/firejail.config anawonjezera настройка 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,
    • ayi,
    • gnome-latex,
    • pngquant,
    • kalgebra,
    • kalgebramobile,
    • amuled,
    • kfind,
    • profanity,
    • audio-recorder,
    • cameramonitor,
    • ddgtk,
    • drawio,
    • unf,
    • gmpc,
    • electron-mail,
    • gist,
    • gist-paste.

Source: opennet.ru

Kuwonjezera ndemanga