Π Π΅Π»ΠΈΠ· Π½Π° систСмата Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° прилоТСния Firejail 0.9.78

ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° вСрсия Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Firejail 0.9.78, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π° систСма Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ изпълнСниС Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ, консолнитС ΠΈ ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ прилоТСния, позволяваща ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° риска ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° основната систСма ΠΏΡ€ΠΈ стартиранС Π½Π° нСдостойни Π·Π° Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ уязвими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΅ написана Π½Π° C, разпространява сС ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· GPLv2 ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° всяко дистрибуция Π½Π° Linux с ядро ΠΏΠΎ-стара ΠΎΡ‚ 3.0. Π“ΠΎΡ‚ΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ с Firejail са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ deb (Debian, Ubuntu) ΠΈ rpm (CentOS, Fedora).

Π—Π° изолация Π² Firejail сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ пространства Π·Π° ΠΈΠΌΠ΅Π½Π° (namespaces), AppArmor ΠΈ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° систСмни повиквания (seccomp-bpf) Π² Linux. Π‘Π»Π΅Π΄ стартиранС, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΈ всички Π½Π΅ΠΉΠ½ΠΈ Π΄ΡŠΡ‰Π΅Ρ€Π½ΠΈ процСси ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ прСдставяния Π½Π° рСсурситС Π½Π° ядрото, ΠΊΠ°Ρ‚ΠΎ ΠΌΡ€Π΅ΠΆΠΎΠ² стСк, Ρ‚Π°Π±Π»ΠΈΡ†Π° с процСси ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅. ВзаимозависимитС прилоТСния ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Π² Π΅Π΄Π½ΠΎ ΠΎΠ±Ρ‰ΠΎ ΠΏΡΡΡŠΡ‡Π½ΠΈ ΠΊΡƒΡ‚ΠΈΠΈ. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅, 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.
  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π°Ρ‚Π° Π² sandbox срСда ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° bwrap (bubblewrap) Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° с прослойка fbwrap, която стартира ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π±Π΅Π· изолация, Π·Π° Π΄Π° Ρ€Π΅ΡˆΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с пусканСто Π½Π° Firefox, Thunderbird, GIMP ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° glycin 2.0.0 ΠΎΡ‚ gdk-pixbuf2 с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° bwrap. Π—Π° ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° 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