Udgivelse af Bubblewrap 0.8, et lag til at skabe isolerede miljøer.

Version 0.8 af værktøjet til at organisere arbejdet med isolerede miljøer, Bubblewrap, er tilgængelig. Det bruges typisk til at begrænse individuelle applikationer for ikke-privilegerede brugere. I praksis anvendes Bubblewrap af Flatpak-projektet som et lag til isolering af programmer, der køres fra pakker. Projektets kode er skrevet i C og distribueres under LGPLv2+-licensen.

Isolationen bruger traditionelle container-virtualiseringsteknologier for Linux, baseret på cgroups, namespaces, Seccomp og SELinux. For at udføre privilegerede operationer til konfiguration af containeren startes Bubblewrap med root-rettigheder (eksekverbar fil med suid-flag) og får derefter nulstillet privilegierne efter afslutningen af containerens initialisering.

Aktivering af systemet med bruger-id namespaces, der tillader brug af et separat sæt identifikatorer i containerne, kræves ikke for at fungere, da det som standard ikke fungerer i mange distributioner (Bubblewrap positioneres som en begrænset suid-implementation af et subset af mulighederne fra bruger-id namespaces — for at udelukke alle bruger- og procesidentifikatorer fra miljøet, bortset fra den nuværende, anvendes CLONE_NEWUSER- og CLONE_NEWPID-tilstande). For ekstra beskyttelse køres programmer, der kører under Bubblewrap, i modus PR_SET_NO_NEW_PRIVS, der forhindrer modtagelse af nye privilegier, f.eks. når setuid-flaget er til stede.

Isolation på filsystemniveau foregår gennem oprettelsen af et nyt mount namespace som standard, hvor et tomt rodpartition oprettes ved hjælp af tmpfs. Eksterne filsystempartitioner kan tilsluttes denne partition efter behov i 'mount --bind'-tilstand (for eksempel ved opstart med muligheden 'bwrap --ro-bind /usr /usr', hvor /usr partitionen fra hovedsystemet videregives i skrivebeskyttet tilstand). Netværksmuligheder begrænses til adgang til loopback-interface med isolering af netværksstakken via flags CLONE_NEWNET og CLONE_NEWUTS.

Hovedforskellen fra det lignende projekt Firejail, som også bruger setuid-startmodel, er, at Bubblewrap-laget til oprettelse af containere kun inkluderer det nødvendige minimum af funktioner, mens alle udvidede funktioner, der er nødvendige for at køre grafiske applikationer, interagere med skrivebordet og filtrere anmodninger til Pulseaudio, er overført til Flatpak og udføres først efter nulstilling af privilegierne. Firejail kombinerer derimod alle tilknyttede funktioner i en eksekverbar fil, hvilket gør det sværere at revidere og opretholde sikkerheden på et passende niveau.

I den nye version:

  • Der er tilføjet en mulighed "—disable-userns", som deaktiverer oprettelsen af et eget bruger-ID-namespace i sandbox-miljøet.
  • Der er tilføjet en mulighed "—assert-userns-disabled" til at kontrollere, at det eksisterende bruger-ID-namespace er aktivt, når optionen "—disable-userns" anvendes.
  • Informativiteten af fejlmeddelelser vedrørende deaktiveringen af kernens indstillinger CONFIG_SECCOMP og CONFIG_SECCOMP_FILTER er forbedret.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster