ИздаванС Π½Π° Bubblewrap 0.8, прослойки Π·Π° създаванС Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ срСди

НаличСн Ρ€Π΅Π»ΠΈΠ· инструмСнта Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ срСдиния Bubblewrap 0.8, ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ прилоТСния Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Bubblewrap сС ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Flatpak ΠΊΠ°Ρ‚ΠΎ слой Π·Π° изолация Π½Π° стартиранитС ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ прилоТСния. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° Π΅Π·ΠΈΠΊΠ° C ΠΈ сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· LGPLv2+.

Π—Π° изолация сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Π·Π° Linux Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Π°Ρ‚Π° виртуализация, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° cgroups, пространства Π½Π° ΠΈΠΌΠ΅ (namespaces), Seccomp ΠΈ SELinux. Π—Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ настройка Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Bubblewrap сС стартира с ΠΏΡ€Π°Π²Π° Π½Π° root (ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Ρ„Π°ΠΉΠ» с suid-Ρ„Π»Π°Π³) с послСдващо ΠΎΡ‚Π½Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅ слСд ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° инициализацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Активацията Π½Π° пространствата Π½Π° ΠΈΠΌΠ΅ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ (user namespaces) Π² систСмата, позволяваща ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎ дистрибуции (Bubblewrap Π΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π½ ΠΊΠ°Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° suid-рСализация Π½Π° подмноТСство ΠΎΡ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° user namespaces β€” Π·Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° всички ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ ΠΈ процСси ΠΎΡ‚ срСдата, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° тСкущия, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ CLONE_NEWUSER ΠΈ CLONE_NEWPID). Π—Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅, стартирани ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Bubblewrap, сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ PR_SET_NO_NEW_PRIVS, ΠΊΠΎΠΉΡ‚ΠΎ забранява ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ„Π»Π°Π³Π° setuid.

Π˜Π·ΠΎΠ»Π°Ρ†ΠΈΡΡ‚Π° Π½Π° Π½ΠΈΠ²ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Ρ‡Ρ€Π΅Π· създаванС ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΎΠ²ΠΎ пространство Π½Π° ΠΈΠΌΠ΅ Π·Π° Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΌΠΎΠ½Ρ‚Π°ΠΆ (mount namespace), Π² ΠΊΠΎΠ΅Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° tmpfs сС създава ΠΏΡ€Π°Π·Π΅Π½ ΠΊΠΎΡ€Π΅Π½ΠΎΠ² дял. Π’ Ρ‚ΠΎΠ·ΠΈ дял ΠΏΡ€ΠΈ нСобходимост сС прикрСпят дяловС ΠΎΡ‚ Π²ΡŠΠ½ΡˆΠ½Π°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма Π² Ρ€Π΅ΠΆΠΈΠΌ "mount β€”bind" (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ стартиранС с опция "bwrap β€”ro-bind /usr /usr" Π΄ΡΠ»ΡŠΡ‚ /usr сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ ΠΎΡ‚ основната систСма Π² Ρ€Π΅ΠΆΠΈΠΌ само Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅). ΠœΡ€Π΅ΠΆΠΎΠ²ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Ρ‚ Π΄ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ loopback-интСрфСйса с изолация Π½Π° мрСТовия стСк Ρ‡Ρ€Π΅Π· Ρ„Π»Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ CLONE_NEWNET ΠΈ CLONE_NEWUTS.

ΠšΠ»ΡŽΡ‡ΠΎΠ²Π°Ρ‚Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ подобния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Firejail, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡ‰ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° стартиранС с ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° setuid, Π΅, Ρ‡Π΅ Π² Bubblewrap слоят Π·Π° създаванС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° само нСобходимия ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, Π° всички Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° стартиранС Π½Π° Π³Ρ€Π°Ρ„ΠΈΡ‡Π½ΠΈ прилоТСния, взаимодСйствиС с работния ΠΏΠ»ΠΎΡ‚ ΠΈ Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° повикванията към Pulseaudio, са ΠΈΠ·Π²ΡŠΠ½Ρ€Π΅Π΄Π΅Π½ΠΈ Π½Π° страната Π½Π° Flatpak ΠΈ сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ слСд сброса Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡ‚Π΅. Firejail обСдинява Π² Π΅Π΄ΠΈΠ½ изпълним Ρ„Π°ΠΉΠ» всички ΡΡŠΠΏΡŠΡ‚ΡΡ‚Π²Π°Ρ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ услоТнява нСговия ΠΎΠ΄ΠΈΡ‚ ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½Π΅Ρ‚ΠΎ Π½Π° сигурността Π½Π° Π½ΡƒΠΆΠ½ΠΎΡ‚ΠΎ Π½ΠΈΠ²ΠΎ.

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

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията Β«β€”disable-usernsΒ», която Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΎ пространство ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π² sandbox-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ опцията Β«β€”assert-userns-disabledΒ» Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, Ρ‡Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° опцията Β«β€”disable-usernsΒ» Π΅ задСйствано ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΎΡ‚ΠΎ пространство ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ.
  • ПовишСна Π΅ информативността Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с дСактивацията Π½Π° настройкитС CONFIG_SECCOMP ΠΈ CONFIG_SECCOMP_FILTER Π² ядрото.

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

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