Firejail 0.9.62 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฒฉ๋ฆฌ ๋ฆด๋ฆฌ์Šค

XNUMX๊ฐœ์›”๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ์‚ฌ์šฉํ•  ์ˆ˜์žˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋ฆด๋ฆฌ์Šค ํŒŒ์ด์–ด์ œ์ผ 0.9.62, ๊ทธ๋ž˜ํ”ฝ, ์ฝ˜์†” ๋ฐ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฉ๋ฆฌ๋œ ์‹คํ–‰์„ ์œ„ํ•œ ์‹œ์Šคํ…œ์ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Firejail์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์ž ์žฌ์ ์œผ๋กœ ์ทจ์•ฝํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ๊ธฐ๋ณธ ์‹œ์Šคํ…œ์ด ์†์ƒ๋  ์œ„ํ—˜์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ C์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐฐํฌ์ž GPLv2์— ๋”ฐ๋ผ ๋ผ์ด์„ผ์Šค๊ฐ€ ๋ถ€์—ฌ๋˜์—ˆ์œผ๋ฉฐ 3.0๋ณด๋‹ค ์˜ค๋ž˜๋œ ์ปค๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  Linux ๋ฐฐํฌํŒ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Firejail์ด ํฌํ•จ๋œ ์ค€๋น„๋œ ํŒจํ‚ค์ง€ ์ค€๋น„๋œ deb(Debian, Ubuntu) ๋ฐ rpm(CentOS, Fedora) ํ˜•์‹์ž…๋‹ˆ๋‹ค.

Firejail ๊ฒฉ๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค Linux์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค, AppArmor ๋ฐ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ํ•„ํ„ฐ๋ง(seccomp-bpf). ์ผ๋‹จ ์‹คํ–‰๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ชจ๋“  ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค๋Š” ๋„คํŠธ์›Œํฌ ์Šคํƒ, ํ”„๋กœ์„ธ์Šค ํ…Œ์ด๋ธ”, ๋งˆ์šดํŠธ ์ง€์ ๊ณผ ๊ฐ™์€ ์ปค๋„ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋ณ„๋„์˜ ๋ณด๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋กœ ์˜์กดํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•˜๋‚˜์˜ ๊ณตํ†ต ์ƒŒ๋“œ๋ฐ•์Šค๋กœ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ Firejail์„ ์‚ฌ์šฉํ•˜์—ฌ Docker, LXC ๋ฐ OpenVZ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ๋‹จ์—ด ๋„๊ตฌ์™€ ๋‹ฌ๋ฆฌ Firejail์€ ๋งค์šฐ ๋‹จ์ˆœํ•œ ๊ตฌ์„ฑ์— ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€ ์ค€๋น„๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ๊ตฌ์„ฑ์€ ํ˜„์žฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฆ‰์„์—์„œ ํ˜•์„ฑ๋˜๋ฉฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์™„๋ฃŒ๋œ ํ›„ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ทœ์น™์„ ์„ค์ •ํ•˜๋Š” ์œ ์—ฐํ•œ ๋ฐฉ๋ฒ•์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฑฐ๋ถ€ํ•  ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ž„์‹œ ํŒŒ์ผ ์‹œ์Šคํ…œ(tmpfs)์„ ์—ฐ๊ฒฐํ•˜๊ณ , ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์ œํ•œํ•˜๊ณ , ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ ๋ฐ overlayfs.

Firefox, Chromium, VLC ๋ฐ Transmission์„ ํฌํ•จํ•œ ๋‹ค์ˆ˜์˜ ์ธ๊ธฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•ด ๊ธฐ์„ฑํ’ˆ ะฟั€ะพั„ะธะปะธ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๊ฒฉ๋ฆฌ. ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ์–ป์œผ๋ ค๋ฉด SUID ๋ฃจํŠธ ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ Firejail ์‹คํ–‰ ํŒŒ์ผ์ด ์„ค์น˜๋ฉ๋‹ˆ๋‹ค(๊ถŒํ•œ์€ ์ดˆ๊ธฐํ™” ํ›„ ์žฌ์„ค์ •๋ฉ๋‹ˆ๋‹ค). ๊ฒฉ๋ฆฌ ๋ชจ๋“œ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ด๋ฆ„์„ 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 ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœํ•„์— ์˜ํ•ด ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ๋“ฑ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๋„์šฐ๋ฏธ ์Šคํฌ๋ฆฝํŠธ gdb-firejail.sh ๋ฐ sort.py๊ฐ€ conrib ์„น์…˜์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํŠน๊ถŒ ์ฝ”๋“œ(SUID) ์‹คํ–‰ ๋‹จ๊ณ„์—์„œ ๋ณดํ˜ธ๋ฅผ ๊ฐ•ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœํ•„์˜ ๊ฒฝ์šฐ X ์„œ๋ฒ„ ๋ฐ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค์˜ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ์กฐ๊ฑด๋ถ€ ์†์„ฑ HAS_X11 ๋ฐ HAS_NET์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒฉ๋ฆฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์„ ์œ„ํ•œ ํ”„๋กœํ•„์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด ํ”„๋กœํ•„ ์ˆ˜๊ฐ€ 884๊ฐœ๋กœ ์ฆ๊ฐ€).
    • i2p,
    • ํ† ๋ฅด ๋ธŒ๋ผ์šฐ์ €(AUR),
    • ์ค„๋ฆฝ,
    • ์žฌ๋™๊ธฐํ™”
    • ์‹ ํ˜ธ CLI
    • tcpdump
    • ์ƒคํฌ,
    • ํ€ด์ง€์Šค
    • ์˜คํ”ˆ์•„๋ ˆ๋‚˜,
    • ๊ณ ๋„,
    • ํด๋ผํ…์Šค๊ณต์‹,
    • klatexformula_cmdl,
    • ์—ฐ๊ฒฐ,
    • x๋งํฌ,
    • ํŒ๋…
    • Linux์šฉ ํŒ€,
    • ๊ทธ๋†ˆ ๋…น์Œ๊ธฐ,
    • ๋‰ด์Šค๋ฐ”์ดํ„ฐ,
    • keepassxc-cli,
    • keepassxc-ํ”„๋ก์‹œ,
    • ๋ฆฌ๋“ฌ๋ฐ•์Šค ํด๋ผ์ด์–ธํŠธ,
    • ์‹ค๋‚ด ๋ณ€๊ธฐ
    • ์—ด์„ฑ,
    • mpg123,
    • ๋Œ€๊ฒฐํ•˜๋‹ค,
    • mpg123.bin,
    • mpg123-alsa,
    • mpg123-id3dump,
    • ์•„์›ƒ123,
    • mpg123 ์žญ,
    • mpg123-nas,
    • mpg123-๊ฐœ๋ฐฉ,
    • mpg123-oss,
    • mpg123-ํฌํŠธ์˜ค๋””์˜ค,
    • mpg123 ํŽ„์Šค,
    • mpg123-์ŠคํŠธ๋ฆฝ,
    • pavucontrol-qt,
    • ๊ทธ๋†ˆ ์บ๋ฆญํ„ฐ,
    • ๊ทธ๋†ˆ ์บ๋ฆญํ„ฐ ๋งต,
    • ๊ณ ๋ž˜์ƒˆ
    • TB-์Šคํƒ€ํ„ฐ-๋ž˜ํผ,
    • bzcat,
    • ํ‚ค์œ…์Šค ๋ฐ์Šคํฌํƒ‘,
    • bzcat,
    • zstd,
    • pzstd,
    • zstdcat,
    • zstdgrep,
    • zstdless,
    • zstdmt,
    • unzstd,
    • ์•„๋ฅด,
    • ๊ทธ๋†ˆ ๋ผํ…์Šค,
    • pngQuant
    • ์นผ๊ฒŒ๋ธŒ๋ผ
    • ์นผ๊ฒŒ๋ธŒ๋ผ๋ชจ๋นŒ,
    • ๋งค๋ ฅ์„ ๋Š๋‚€
    • kfind,
    • ์š•์„ค
    • ๋…น์Œ๊ธฐ,
    • ์นด๋ฉ”๋ผ ๋ชจ๋‹ˆํ„ฐ
    • ddgtk
    • ๋“œ๋กœ์ด์˜ค,
    • unf,
    • GMPC,
    • ์ „์ž ๋ฉ”์ผ,
    • ์š”์ ,
    • ์š”์ -๋ถ™์—ฌ ๋„ฃ๊ธฐ.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€