Human sa unom ka bulan sa kalamboan magamit pagpagawas sa proyekto Firejail 0.9.62 , diin ang usa ka sistema gihimo alang sa nahimulag nga pagpatuman sa mga graphical, console ug mga aplikasyon sa server. Ang paggamit sa Firejail nagtugot kanimo nga maminusan ang peligro nga makompromiso ang panguna nga sistema kung nagpadagan nga dili kasaligan o mahimoβg mahuyang nga mga programa. Ang programa gisulat sa C nga pinulongan, giapod-apod sa lisensyado ubos sa GPLv2 ug mahimong modagan sa bisan unsang distribusyon sa Linux nga adunay kernel nga mas tigulang kay sa 3.0. Andam nga mga pakete nga adunay Firejail giandam sa deb (Debian, Ubuntu) ug rpm (CentOS, Fedora) nga mga format.
Para sa isolation sa Firejail gigamit ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½ (namespaces), AppArmor ΠΈ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ² (seccomp-bpf) Π² Linux. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ Π²ΡΠ΅ Π΅Ρ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΄ΡΠ°, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΡΠ΅ΠΊ, ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΎΡΠΊΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠΈΠΉ sandbox. ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Firejail ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Docker, LXC ΠΈ OpenVZ.
Dili sama sa mga gamit sa insulasyon sa sudlanan, ang firejail hilabihan yano Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° β ΡΠΎΡΡΠ°Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π½Π° Π»Π΅ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π€Π‘ ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΡΠ°Π·ΡΠ΅ΡΡΠ½ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠ΅ΡΡΠ½ Π΄ΠΎΡΡΡΠΏ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ
Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π€Π‘ (tmpfs), ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· bind-mount ΠΈ overlayfs.
Alang sa daghang mga sikat nga aplikasyon, lakip ang Firefox, Chromium, VLC ug Transmission, andam na mga profile ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» firejail ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠ»Π°Π³ΠΎΠΌ SUID root (ΠΏΠΎΡΠ»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ). ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠΈΠ»ΠΈΡΡ firejail, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«firejail firefoxΒ» ΠΈΠ»ΠΈ Β«sudo firejail /etc/init.d/nginx startΒ».
Sa bag-ong pagpagawas:
Π ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ /etc/firejail/firejail.config gidugang Π½Π°ΡΡΡΠΎΠΉΠΊΠ° 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,
ar,
gnome-latex,
pngquant,
kalgebra,
kalgebramobile,
amuled,
kfind,
pagpasipala,
audio-recorder,
cameramonitor,
ddgtk,
drawio,
unf,
gmpc,
electron-mail,
gist,
gist-paste.
Source: opennet.ru