पृथक वातावरण बनाने के लिए एक परत बबलव्रैप 0.6 का विमोचन

अलग-अलग वातावरणों के काम को व्यवस्थित करने के लिए टूल की रिलीज़ बबलव्रैप 0.6 उपलब्ध है, जिसका उपयोग आमतौर पर वंचित उपयोगकर्ताओं के व्यक्तिगत अनुप्रयोगों को प्रतिबंधित करने के लिए किया जाता है। व्यवहार में, बबलवैप का उपयोग फ़्लैटपैक प्रोजेक्ट द्वारा पैकेजों से लॉन्च किए गए अनुप्रयोगों को अलग करने के लिए एक परत के रूप में किया जाता है। प्रोजेक्ट कोड C में लिखा गया है और LGPLv2+ लाइसेंस के तहत वितरित किया गया है।

अलगाव के लिए, पारंपरिक लिनक्स कंटेनर वर्चुअलाइजेशन प्रौद्योगिकियों का उपयोग किया जाता है, जो सीग्रुप्स, नेमस्पेस, सेककॉम्प और सेलिनक्स के उपयोग पर आधारित है। एक कंटेनर को कॉन्फ़िगर करने के लिए विशेषाधिकार प्राप्त संचालन करने के लिए, बबलवैप को रूट अधिकारों (सुइड ध्वज के साथ एक निष्पादन योग्य फ़ाइल) के साथ लॉन्च किया जाता है और फिर कंटेनर आरंभ होने के बाद विशेषाधिकारों को रीसेट करता है।

नेमस्पेस सिस्टम में उपयोगकर्ता नेमस्पेस का सक्रियण, जो आपको कंटेनरों में पहचानकर्ताओं के अपने स्वयं के अलग सेट का उपयोग करने की अनुमति देता है, ऑपरेशन के लिए आवश्यक नहीं है, क्योंकि यह कई वितरणों में डिफ़ॉल्ट रूप से काम नहीं करता है (बबलरैप को एक सीमित सुइड कार्यान्वयन के रूप में तैनात किया गया है) उपयोगकर्ता नामस्थान क्षमताओं का सबसेट - वर्तमान को छोड़कर, पर्यावरण से सभी उपयोगकर्ता और प्रक्रिया पहचानकर्ताओं को बाहर करने के लिए, CLONE_NEWUSER और CLONE_NEWPID मोड का उपयोग किया जाता है)। अतिरिक्त सुरक्षा के लिए, बबलवैप के तहत निष्पादित प्रोग्राम PR_SET_NO_NEW_PRIVS मोड में लॉन्च किए जाते हैं, जो नए विशेषाधिकारों के अधिग्रहण पर रोक लगाता है, उदाहरण के लिए, यदि सेतुइड ध्वज मौजूद है।

फ़ाइल सिस्टम स्तर पर अलगाव डिफ़ॉल्ट रूप से एक नया माउंट नेमस्पेस बनाकर पूरा किया जाता है, जिसमें tmpfs का उपयोग करके एक खाली रूट विभाजन बनाया जाता है। यदि आवश्यक हो, तो बाहरी एफएस विभाजन इस विभाजन से "माउंट -बाइंड" मोड में जुड़े होते हैं (उदाहरण के लिए, जब "बीडब्ल्यूआरएपी -रो-बाइंड / यूएसआर / यूएसआर" विकल्प के साथ लॉन्च किया जाता है, तो / यूएसआर विभाजन मुख्य सिस्टम से अग्रेषित किया जाता है केवल पढ़ने योग्य मोड में)। नेटवर्क क्षमताएं CLONE_NEWNET और CLONE_NEWUTS फ़्लैग के माध्यम से नेटवर्क स्टैक अलगाव के साथ लूपबैक इंटरफ़ेस तक पहुंच तक सीमित हैं।

समान फ़ायरजेल प्रोजेक्ट से मुख्य अंतर, जो सेटुइड लॉन्च मॉडल का भी उपयोग करता है, यह है कि बबलवैप में कंटेनर निर्माण परत में केवल आवश्यक न्यूनतम क्षमताएं शामिल होती हैं, और ग्राफिकल एप्लिकेशन चलाने, डेस्कटॉप के साथ इंटरैक्ट करने और फ़िल्टरिंग अनुरोधों के लिए आवश्यक सभी उन्नत फ़ंक्शन शामिल होते हैं। पल्सएडियो को, फ़्लैटपैक पक्ष में स्थानांतरित कर दिया गया और विशेषाधिकार रीसेट होने के बाद निष्पादित किया गया। दूसरी ओर, फायरजेल सभी संबंधित कार्यों को एक निष्पादन योग्य फ़ाइल में जोड़ता है, जिससे ऑडिट करना और सुरक्षा को उचित स्तर पर बनाए रखना मुश्किल हो जाता है।

नई रिलीज में:

  • Добавлена поддержка сборочной системы Meson. Поддержка сборки при помощи Autotools пока сохранена, но будет удалена в одном из следующих выпусков.
  • Реализована опция «—add-seccomp» для добавления более чем одной программы seccomp. Добавлено предупреждение о том, что при повторном указании опции «—seccomp» будет применён только последний параметр.
  • Ветка master в git-репозитории переименована в main.
  • Добавлена частичная поддержка спецификации REUSE, унифицирующей процесс указания сведений о лицензиях и авторских правах. Во многие файлы с кодом добавлены заголовки SPDX-License-Identifier. Следование рекомендациям REUSE позволяет упростить автоматическое определение какая лицензия применяется к каким из частей кода приложения.
  • Добавлена проверка значения счётчика аргументов командной строки (argc) и реализован экстренный выход в случае если счётчик равен нулю. Изменение позволяет блокировать проблемы с безопасностью, вызванные некорректной обработкой передаваемых аргументов командной строки, такие как CVE-2021-4034 в Polkit.

स्रोत: opennet.ru

एक टिप्पणी जोड़ें