ΠŸΡƒΡΠ½Π°Ρ‚Π° Π΅ систСма Π·Π° изолация Π½Π° прилоТСния Firejail 0.9.78

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ Π΅ Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Firejail 0.9.78, Ρ€Π°Π·Π²ΠΈΠ²Π°Π²Π°Ρ‰ систСма Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ изпълнСниС Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ, ΠΊΠΎΠ½Π·ΠΎΠ»Π½ΠΈ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ прилоТСния, която ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π° риска ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° основната систСма ΠΏΡ€ΠΈ стартиранС Π½Π° Π½Π΅Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ уязвими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΅ написана Π½Π° Π΅Π·ΠΈΠΊΠ° Π‘ΠΈ, разпространява сС ΠΏΠΎΠ΄ лицСнзия 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".

Π’ Π½ΠΎΠ²ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅:

  • Π’ конфигурационния Ρ„Π°ΠΉΠ» firejail.config са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ arg-max-count, arg-max-len, env-max-count ΠΈ env-max-len Π·Π° промяна Π½Π° Π»ΠΈΠΌΠΈΡ‚ΠΈΡ‚Π΅ Π½Π° броя ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° командния Ρ€Π΅Π΄ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° срСдата. По ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, броят Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π½Π° 128, броят Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π½Π° срСдата Π½Π° 256, Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° всСки Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΅ PATH_MAX ΠΎΡ‚ limits.h (Π² Linux 40196) + 32.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията Β«β€”xephyr-extra-paramsΒ» Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ към Xephyr (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° сС Π·Π° създаванС Π½Π° sandbox-срСда X11 със собствСн X-сСрвСр, стартиран Π² ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†) Π² командния Ρ€Π΅Π΄ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π° firejail.config.
  • Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°Ρ‚Π° bwrap (bubblewrap), инсталирана Π² sandbox-срСда, Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΠ΄ΡƒΡ‚ΡŠΠΊ fbwrap, ΠΊΠΎΠΉΡ‚ΠΎ стартира ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π±Π΅Π· изолация Π·Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ със стартиранСто Π½Π° Firefox, Thunderbird, GIMP ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° glycin 2.0.0 ΠΎΡ‚ gdk-pixbuf2 с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° bwrap. Π—Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ вмСсто ΠΏΡ€ΠΎΠΌΠ΅ΠΆΠ΄ΡƒΡ‚ΡŠΠΊ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° опцията Β«β€”allow-bwrapΒ».
  • ОбновСни са Ρ‚Π°Π±Π»ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° систСмнитС ΠΏΠΎΠ²ΠΈΡ†ΠΈ Π·Π° seccomp. Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ систСмни ΠΏΠΎΠ²ΠΈΡ†ΠΈ, ΠΊΠ°Ρ‚ΠΎ epoll_pwait2 ΠΈ futex_wait.
  • Π‘ΡŠΠ±ΠΈΡ€Π°Ρ‰Π°Ρ‚Π° опция Β«β€”disable-globalcfgΒ» Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π°, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° overlayfs (Β«β€”overlayΒ») ΠΈ Ρ€Π΅ΠΆΠΈΠΌ IDS (Intrusion Detection System, Β«β€”idsΒ») Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π°.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ Π·Π° изолация Π·Π° тСкстовия Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ne, Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° Trivalent ΠΈ ΠΈΠ³Ρ€ΠΎΠ²ΠΈΡ‚Π΅ Π΄Π²ΠΈΠΆΠ΅Ρ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ OpenRA, quakespasm, gzdoom, lzdoom, uzdoom.
  • ОбновСни са ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ‚Π΅ Π·Π° thunderbird, wine, qutebrowser, firefox, godot, wusc, mullvad-browser, blink, steam, ssh, brave ΠΈ hashcat.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster