Выпуск Bubblewrap 0.12, праслойкі для стварэння ізаляваных асяродкаў

Апублікавана новая версія інструментара для арганізацыі працы ізаляваных акружэнняў Bubblewrap 0.12, які выкарыстоўваецца для абмежавання асобных прыкладанняў непрывілеяваных карыстальнікаў. На практыцы Bubblewrap прымяняецца праектам Flatpak у якасці праслойкі для ізаляцыі запускаюцца з пакетаў прыкладанняў. Для ізаляцыі выкарыстоўваюцца традыцыйныя для Linux тэхналогіі кантэйнернай віртуалізацыі, заснаваныя на выкарыстанні cgroups, прастор імёнаў (namespaces), Seccomp і SELinux. Код праекту напісаны на мове Сі і распаўсюджваецца пад ліцэнзіяй LGPLv2.1+.

Ізаляцыя на ўзроўні файлавай сістэмы вырабляецца праз стварэнне па змаўчанні новай прасторы імёнаў кропак мантавання (mount namespace), у якім пры дапамозе tmpfs ствараецца пустая каранёвая частка. У дадзены раздзел пры неабходнасці прымацоўваюцца часткі знешняй ФС у рэжыме "mount -bind" (напрыклад, пры запуску c опцыяй "bwrap -ro-bind /usr /usr" раздзел /usr пракідваецца з асноўнай сістэмы ў рэжыме толькі для чытання). Сеткавыя магчымасці абмяжоўваюцца доступам да loopback-інтэрфейсу з ізаляцыяй сеткавага стэка праз сцягі CLONE_NEWNET і CLONE_NEWUTS.

Для выключэння ўсіх лішніх ідэнтыфікатараў карыстачоў і працэсаў з стваранага ізаляванага асяроддзя могуць выкарыстоўвацца рэжымы CLONE_NEWUSER (user namespace) і CLONE_NEWPID (PID namespace), а для забароны атрымання новых прывілеяў ужываецца рэжым PR_SET_NO_NEW_PRIVS. Для атрымання неабходных прывілеяў выкарыстоўваецца "user namespace".

У новым выпуску:

  • Ліцэнзія на код зменена з LGPL 2.0 + на LGPL 2.1 +.
  • Спынена падтрымка зборкі ў форме выкананага файла, атрымоўвальнага дадатковыя прывілеі пры дапамозе сцяга suid root. Наяўнасць у сістэме падтрымкі "user namespace" зараз абавязкова. У якасці прычыны называецца працаёмкасць суправаджэння варыянту са сцягам suid на фоне паўсюднай падтрымкі "user namespace" у дыстрыбутывах.
  • Дададзена опцыя "-not-a-security-boundary", пры выстаўленні якой некаторыя збоі пры наладзе ізаляванага sandbox-акружэння, такія як перамантаванне падраздзела, не прыводзяць да аварыйнага завяршэння.
  • Дададзена зборачная опцыя «assume_kernel», якая адключае забеспячэнне зваротнай сумяшчальнасці з ядрамі. Linux, больш старымі, чым названая версія. Напрыклад, указанне версій 5.6.0+ прывядзе да выключэння альтэрнатыўнай рэалізацыі функцыянальнасці "openat2(RESOLVE_IN_ROOT)".

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster