Firejail 0.9.72 Π˜Π·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ

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

Π—Π° изолация Firejail ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π°, 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β€œ.

Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия:

  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ seccomp Ρ„ΠΈΠ»Ρ‚ΡŠΡ€ Π·Π° систСмни извиквания, ΠΊΠΎΠΉΡ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° (опцията β€ž--restrict-namespacesβ€œ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅). Актуализирани Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ Π½Π° систСмни повиквания ΠΈ Π³Ρ€ΡƒΠΏΠΈ seccomp.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎ nonewprivs (NO_NEW_PRIVS), ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ позволява Π½Π° Π½ΠΎΠ²ΠΈ процСси Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ваши собствСни AppArmor ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ (опцията β€ž--apparmorβ€œ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π·Π° Π²Ρ€ΡŠΠ·ΠΊΠ°).
  • БистСмата Π·Π° прослСдяванС Π½Π° мрСТовия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ nettrace, която ΠΏΠΎΠΊΠ°Π·Π²Π° информация Π·Π° IP ΠΈ ΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΡ‚Π΅Ρ‚Π° Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΎΡ‚ всСки адрСс, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π° ICMP ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΎΠΏΡ†ΠΈΠΈΡ‚Π΅ "--dnstrace", "--icmptrace" ΠΈ "--snitrace".
  • ΠšΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ --cgroup ΠΈ --shell са ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚ΠΈ (ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ --shell=none). Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Firetunnel Π΅ спряно ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. Π”Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ΠΈ настройки Π·Π° chroot, private-lib ΠΈ tracelog Π² /etc/firejail/firejail.config. ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° grsecurity Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π°.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€