Vrystelling van Bubblewrap 0.4.0, lae vir die skep van sandbox-omgewings

Beskikbaar Π½ΠΎΠ²Ρ‹ΠΉ выпуск инструмСнтария Bubble wrap 0.4.0, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ Π² Linux ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Bubblewrap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Flatpak Π² качСствС прослойки для изоляции запускаСмых ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ versprei deur ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPLv2+.

Vir isolasie word tradisionele Linux-houervirtualiseringstegnologieΓ« gebruik, gebaseer op die gebruik van cgroups, naamruimtes, Seccomp en SELinux. Om bevoorregte bewerkings uit te voer om 'n houer te konfigureer, word Bubblewrap geloods met wortelregte ('n uitvoerbare lΓͺer met 'n suid vlag) en stel dan voorregte terug nadat die houer geΓ―nisialiseer is.

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

Isolasie op die lΓͺerstelselvlak word bewerkstellig deur die skep van 'n nuwe bergnaamruimte by verstek, waarin 'n leΓ« wortelpartisie geskep word met tmpfs. Indien nodig, word eksterne FS-partisies aan hierdie partisie gekoppel in die "mount β€”bind"-modus (byvoorbeeld, wanneer dit met die "bwrap β€”ro-bind /usr /usr"-opsie geloods word, word die /usr-partisie van die hoofstelsel aangestuur in leesalleenmodus). NetwerkvermoΓ«ns is beperk tot toegang tot die teruglus-koppelvlak met netwerkstapel-isolasie via die CLONE_NEWNET- en CLONE_NEWUTS-vlae.

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

Новый выпуск ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ присоСдинСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… пространств ΠΈΠΌΡ‘Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (user namespaces) ΠΈ процСссов (pid namespaces). Для управлСния ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ пространств ΠΈΠΌΡ‘Π½ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ„Π»Π°Π³ΠΈ Β«β€”usernsΒ», Β«β€”userns2Β» ΠΈ Β«β€”pidnsΒ».
Данная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ setuid ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ примСнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· получСния ΠΏΡ€Π°Π² root, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ
user namespaces Π² систСмС (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Debian ΠΈ RHEL/CentOS) ΠΈ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ uitbuiting potensieel ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΡ…ΡΡ kwesbaarhede для ΠΎΠ±ΠΎΠ΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Β«user namespacesΒ». Из Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй Bubblewrap 0.4 Ρ‚Π°ΠΊΠΆΠ΅ отмСчаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки с Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ musl вмСсто glibc ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сохранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ пространствах ΠΈΠΌΡ‘Π½ Π² Ρ„Π°ΠΉΠ» со статистикой Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON.

Bron: opennet.ru

Voeg 'n opmerking