Издање Бубблеврап 0.6, слоја за креирање изолованих окружења

Доступно је издање алата за организовање рада изолованих окружења Бубблеврап 0.6, који се обично користи за ограничавање појединачних апликација непривилегованих корисника. У пракси, Бубблеврап пројекат Флатпак користи као слој за изолацију апликација покренутих из пакета. Код пројекта је написан на Ц и дистрибуира се под лиценцом ЛГПЛв2+.

За изолацију се користе традиционалне Линук технологије виртуелизације контејнера, засноване на коришћењу цгроупс, именских простора, Сеццомп и СЕЛинук. Да би се извршиле привилеговане операције за конфигурисање контејнера, Бубблеврап се покреће са роот правима (извршна датотека са ознаком суид), а затим ресетује привилегије након што се контејнер иницијализује.

Активација корисничких именских простора у систему именског простора, који вам омогућава да користите сопствени засебни скуп идентификатора у контејнерима, није потребна за рад, пошто не ради подразумевано у многим дистрибуцијама (Бубблеврап је позициониран као ограничена суид имплементација подскуп могућности корисничког простора имена – да се из окружења изузму сви идентификатори корисника и процеса, осим тренутног, користе се режими ЦЛОНЕ_НЕВУСЕР и ЦЛОНЕ_НЕВПИД). Ради додатне заштите, програми који се извршавају под Бубблеврап-ом се покрећу у режиму ПР_СЕТ_НО_НЕВ_ПРИВС, који забрањује стицање нових привилегија, на пример, ако је присутна заставица сетуид.

Изолација на нивоу система датотека се постиже креирањем новог простора имена за монтирање подразумевано, у коме се празна роот партиција креира помоћу тмпфс-а. Ако је потребно, екстерне ФС партиције су прикључене на ову партицију у режиму „моунт —бинд“ (на пример, када се покрене са опцијом „бврап —ро-бинд /уср /уср“, /уср партиција се прослеђује из главног система у режиму само за читање). Мрежне могућности су ограничене на приступ интерфејсу повратне петље са изолацијом мрежног стека преко ознака ЦЛОНЕ_НЕВНЕТ и ЦЛОНЕ_НЕВУТС.

Кључна разлика од сличног Фирејаил пројекта, који такође користи сетуид модел покретања, је у томе што у Бубблеврап слој креирања контејнера укључује само неопходне минималне могућности и све напредне функције неопходне за покретање графичких апликација, интеракцију са радном површином и филтрирање захтева на Пулсеаудио, пребачен на Флатпак страну и извршен након што су привилегије ресетоване. Фирејаил, с друге стране, комбинује све повезане функције у једној извршној датотеци, што отежава ревизију и одржавање безбедности на одговарајућем нивоу.

У новом издању:

  • Додата подршка за Месон монтажни систем. Подршка за изградњу помоћу Аутотоолс-а је за сада задржана, али ће бити уклоњена у будућем издању.
  • Имплементирана "--адд-сеццомп" опција за додавање више од једног сеццомп програма. Додато је упозорење да ако поново наведете опцију "--сеццомп", само последњи параметар ће бити примењен.
  • Главна грана у гит спремишту је преименована у маин.
  • Додата делимична подршка за РЕУСЕ спецификацију, која обједињује процес навођења информација о лиценци и ауторским правима. Многе датотеке кода имају додана заглавља СПДКС-Лиценсе-Идентифиер. Праћење смерница РЕУСЕ олакшава аутоматско одређивање која се лиценца примењује на које делове кода апликације.
  • Додата провера вредности бројача аргумената командне линије (аргц) и имплементиран излаз у случају нужде ако је бројач нула. Промена помаже да се блокирају безбедносни проблеми узроковани нетачним руковањем прослеђеним аргументима командне линије, као што је ЦВЕ-2021-4034 у Полкиту.

Извор: опеннет.ру

Додај коментар