Rilascio di Bubblewrap 0.8, un layer per la creazione di ambienti isolati

ДоступСн выпуск инструмСнтария для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ Bubblewrap 0.8, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ограничСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Bubblewrap примСняСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Flatpak Π² качСствС прослойки для изоляции запускаСмых ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Π‘ΠΈ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPLv2+.

Per l'isolamento vengono utilizzate le tecnologie tradizionali per la virtualizzazione dei contenitori su Linux, basate sull'uso di cgroups, spazi dei nomi (namespaces), Seccomp e SELinux. Per eseguire operazioni privilegiate nella configurazione del contenitore, Bubblewrap viene avviato con diritti di root (file eseguibile con flag suid) per poi ripristinare i privilegi dopo la conclusione dell'inizializzazione del contenitore.

L'attivazione del sistema degli spazi dei nomi degli identificatori utente (user namespaces), che consente di utilizzare in contenitori un insieme separato di identificatori, non Γ¨ necessaria poichΓ© per impostazione predefinita non funziona in molte distribuzioni (Bubblewrap Γ¨ posizionato come un'implementazione suid limitata di un sottoinsieme delle funzionalitΓ  degli spazi dei nomi degli utentiβ€”per escludere tutti gli identificatori degli utenti e dei processi dall'ambiente, eccetto quello corrente, si utilizzano le modalitΓ  CLONE_NEWUSER e CLONE_NEWPID). Per una protezione aggiuntiva, i programmi eseguiti sotto Bubblewrap vengono avviati in modalitΓ  PR_SET_NO_NEW_PRIVS, che vieta l'acquisizione di nuovi privilegi, ad esempio, in presenza del flag setuid.

L'isolamento a livello di file system avviene creando un nuovo spazio di nomi per i punti di montaggio (mount namespace) per impostazione predefinita, in cui viene creato un filesystem root vuoto tramite tmpfs. In questa partizione, se necessario, vengono montate le partizioni della FS esterna in modalitΓ  'mount β€”bind' (ad esempio, all'avvio con l'opzione 'bwrap β€”ro-bind /usr /usr', la partizione /usr viene trasmessa dal sistema principale in modalitΓ  di sola lettura). Le capacitΓ  di rete sono limitate all'accesso all'interfaccia loopback, con isolamento dello stack di rete attuato tramite i flag CLONE_NEWNET e CLONE_NEWUTS.

La principale differenza rispetto a progetti simili come Firejail, che utilizza anch'esso un modello di avvio con setuid, Γ¨ che in Bubblewrap il livello per la creazione dei container include solo il minimo necessario di capacitΓ , mentre tutte le funzioni avanzate necessarie per l'avvio di applicazioni grafiche, l'interazione con il desktop e il filtraggio delle richieste a Pulseaudio sono gestite da Flatpak e vengono eseguite dopo il ripristino dei privilegi. Firejail, invece, combina tutte le funzioni ausiliarie in un unico file eseguibile, rendendo piΓΉ complesso il suo audit e il mantenimento della sicurezza a un livello adeguato.

Nel nuovo rilascio:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”disable-usernsΒ» ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ созданиС Π² sandbox-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ своСго Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ пространства ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (user namespace).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция Β«β€”assert-userns-disabledΒ» для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании ΠΎΠΏΡ†ΠΈΠΈ Β» β€”disable-usernsΒ» задСйствовано ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ пространство ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, связанных с ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² ядрС настроСк CONFIG_SECCOMP ΠΈ CONFIG_SECCOMP_FILTER.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server πŸ”₯ Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster