ΠΠ° Π²ΠΈΠ΄ΠΎΠ² ΡΠ²Π΅ΡΠ»ΠΈΠ½Π°ΡΠ° ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ Firejail 0.9.60, Π²ΠΎ ΡΠΈΠΈ ΡΠ°ΠΌΠΊΠΈ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠΊΠΈ, ΠΊΠΎΠ½Π·ΠΎΠ»Π½ΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° Firejail Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΈΠ·ΠΈΠΊΠΎΡ ΠΎΠ΄ Π·Π°Π³ΡΠΎΠ·ΡΠ²Π°ΡΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½Π΅Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΡΠ°Π»Π½ΠΎ ΡΠ°Π½Π»ΠΈΠ²ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΠ°Π·ΠΈΠΊ C, Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΈ ΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠΈΡΠ°Π½ ΠΏΠΎΠ΄ GPLv2 ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° ΠΊΠΎΡΠ° Π±ΠΈΠ»ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΠΈΠ½ΡΠΊΡ ΡΠΎ ΡΠ°Π΄ΡΠΎ ΠΏΠΎΡΡΠ°Ρ ΠΎΠ΄ 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, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«firejail firefoxΒ» ΠΈΠ»ΠΈ Β«sudo firejail /etc/init.d/nginx startΒ».
ΠΠΎ Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ². Π‘ΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΈΠ»ΡΡΡΡ Seccomp ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /run/firejail/mnt, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π½Π° Π·Π°ΠΏΠΈΡΡ Π²Π½ΡΡΡΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΠΆΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²ΠΎΠ²;
- Π ΡΠΈΠ»ΡΡΡΠ΅ memory-deny-write-execute ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ·ΠΎΠ²Π° Β«memfd_createΒ»;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΠΎΠΏΡΠΈΡ Β«private-cwdΒ» Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π΄Π»Ρ jail;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Β«βnodbusΒ» Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΎΠΊΠ΅ΡΠΎΠ² D-Bus;
- ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CentOS 6;
- ΠΡΠ΅ΠΊΠΈΠ½Π°ΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ
flatpak ΠΈ ΡΠ°ΡΠΏΠ°ΡΡΠΈ.
Π£ΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ Π΄Π»Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ 87 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π² ΡΠΈΡΠ»Π΅ ΠΊΠΎΡΠΎΡΡΡ
mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp ΠΈ cantata.
ΠΠ·Π²ΠΎΡ: opennet.ru