හුදකලා පරිසරයක් නිර්මාණය කිරීම සඳහා ස්ථරයක් වන Bubblewrap 0.8 මුදා හැරීම

හුදකලා පරිසරයක වැඩ සංවිධානය කිරීම සඳහා මෙවලම් නිකුත් කිරීමක් Bubblewrap 0.8 ලබා ගත හැකි අතර, සාමාන්‍යයෙන් වරප්‍රසාද ලත් පරිශීලකයින්ගේ තනි යෙදුම් සීමා කිරීමට භාවිතා කරයි. ප්‍රායෝගිකව, Bubblewrap Flatpak ව්‍යාපෘතිය මගින් පැකේජ වලින් දියත් කරන ලද යෙදුම් හුදකලා කිරීමට ස්ථරයක් ලෙස භාවිතා කරයි. ව්‍යාපෘති කේතය C වලින් ලියා ඇති අතර LGPLv2+ බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ.

හුදකලා කිරීම සඳහා, cgroups, namespaces, Seccomp සහ SELinux භාවිතය මත පදනම්ව සම්ප්‍රදායික Linux බහාලුම් අථත්‍යකරණ තාක්ෂණයන් භාවිතා වේ. බහාලුමක් වින්‍යාස කිරීම සඳහා වරප්‍රසාදිත මෙහෙයුම් සිදු කිරීම සඳහා, Bubblewrap මූල අයිතිවාසිකම් සමඟ දියත් කරනු ලැබේ (suid ධජයක් සහිත ක්‍රියාත්මක කළ හැකි ගොනුවක්) ඉන්පසු බහාලුම ආරම්භ කිරීමෙන් පසු වරප්‍රසාද යළි සකසයි.

බොහෝ බෙදාහැරීම්වල පෙරනිමියෙන් ක්‍රියා නොකරන බැවින්, බහාලුම්වල ඔබේම වෙනම හඳුනාගැනීම් කට්ටලයක් භාවිතා කිරීමට ඉඩ සලසන නාම අවකාශ පද්ධතියේ පරිශීලක නාම අවකාශයන් ක්‍රියාත්මක කිරීම ක්‍රියාත්මක කිරීම සඳහා අවශ්‍ය නොවේ (Bubblewrap සීමිත suid ක්රියාත්මක කිරීමක් ලෙස ස්ථානගත කර ඇත. පරිශීලක නාම අවකාශ හැකියාවන්ගේ උප කුලකය - දැනට පවතින එක හැර, සියලුම පරිශීලක සහ ක්‍රියාවලි හඳුනාගැනීම් පරිසරයෙන් බැහැර කිරීමට, CLONE_NEWUSER සහ CLONE_NEWPID මාතයන් භාවිතා වේ). අමතර ආරක්ෂාවක් සඳහා, Bubblewrap යටතේ ක්‍රියාත්මක කරන ලද වැඩසටහන් PR_SET_NO_NEW_PRIVS ආකාරයෙන් දියත් කරනු ලැබේ, එය නව වරප්‍රසාද ලබා ගැනීම තහනම් කරයි, උදාහරණයක් ලෙස, setuid ධජය තිබේ නම්.

ගොනු පද්ධති මට්ටමින් හුදකලා කිරීම සිදු කරනු ලබන්නේ පෙරනිමියෙන් නව මවුන්ට් නාම අවකාශයක් නිර්මාණය කිරීමෙනි, එහිදී tmpfs භාවිතයෙන් හිස් මූල කොටසක් සාදනු ලැබේ. අවශ්‍ය නම්, බාහිර FS කොටස් මෙම කොටසට “mount —bind” ආකාරයෙන් අමුණා ඇත (උදාහරණයක් ලෙස, “bwrap —ro-bind /usr /usr” විකල්පය සමඟ දියත් කළ විට, /usr කොටස ප්‍රධාන පද්ධතියෙන් ඉදිරියට යවනු ලැබේ. කියවීමට පමණක් මාදිලියේ). ජාල හැකියාවන් CLONE_NEWNET සහ CLONE_NEWUTS ධජ හරහා ජාල අට්ටි හුදකලා සමග loopback අතුරුමුහුණත වෙත ප්‍රවේශ වීමට සීමා වේ.

Setuid දියත් කිරීමේ ආකෘතිය භාවිතා කරන සමාන Firejail ව්‍යාපෘතියේ ඇති ප්‍රධාන වෙනස නම්, Bubblewrap හි බහාලුම් නිර්මාණය කිරීමේ ස්ථරයට අවශ්‍ය අවම හැකියාවන් පමණක් ඇතුළත් වන අතර චිත්‍රක යෙදුම් ධාවනය කිරීමට, ඩෙස්ක්ටොප් සමඟ අන්තර් ක්‍රියා කිරීමට සහ ඉල්ලීම් පෙරීමට අවශ්‍ය සියලුම උසස් කාර්යයන් ඇතුළත් වේ. Pulseaudio වෙත, Flatpak පැත්තට මාරු කර වරප්‍රසාද යළි පිහිටුවීමෙන් පසුව ක්‍රියාත්මක වේ. අනෙක් අතට, Firejail, එක් ක්‍රියාත්මක කළ හැකි ගොනුවක් තුළ අදාළ සියලුම කාර්යයන් ඒකාබද්ධ කරයි, එමඟින් විගණනය කිරීම සහ නිසි මට්ටමින් ආරක්ෂාව පවත්වා ගැනීම අපහසු වේ.

නව නිකුතුවේ:

  • Добавлена опция «—disable-userns» отключающая создание в sandbox-окружении своего вложенного пространства идентификаторов пользователей (user namespace).
  • Добавлена опция «—assert-userns-disabled» для проверки, что при использовании опции » —disable-userns» задействовано существующее пространство идентификаторов пользователей.
  • Повышена информативность сообщений об ошибках, связанных с отключением в ядре настроек CONFIG_SECCOMP и CONFIG_SECCOMP_FILTER.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න