Bubblewrap 0.6 को रिलीज, पृथक वातावरण सिर्जना गर्न को लागी एक तह

पृथक वातावरण Bubblewrap 0.6 को काम संगठित गर्न को लागी उपकरण को एक रिलीज उपलब्ध छ, सामान्यतया विशेषाधिकार बिना प्रयोगकर्ताहरु को व्यक्तिगत अनुप्रयोगहरु लाई प्रतिबन्ध गर्न को लागी प्रयोग गरिन्छ। अभ्यासमा, प्याकेजहरूबाट लन्च गरिएका अनुप्रयोगहरूलाई अलग गर्नको लागि Flatpak परियोजनाले तहको रूपमा Bubblewrap प्रयोग गर्छ। परियोजना कोड C मा लेखिएको छ र LGPLv2+ लाइसेन्स अन्तर्गत वितरण गरिएको छ।

अलगावको लागि, परम्परागत लिनक्स कन्टेनर भर्चुअलाइजेशन टेक्नोलोजीहरू प्रयोग गरिन्छ, cgroups, नेमस्पेस, Seccomp र SELinux को प्रयोगमा आधारित। कन्टेनर कन्फिगर गर्न विशेषाधिकार प्राप्त कार्यहरू प्रदर्शन गर्न, बबल र्याप रूट अधिकारहरू (साइड फ्ल्यागको साथ कार्यान्वयनयोग्य फाइल) को साथ सुरू गरिएको छ र त्यसपछि कन्टेनर सुरु भएपछि विशेषाधिकारहरू रिसेट गर्दछ।

नेमस्पेस प्रणालीमा प्रयोगकर्ता नेमस्पेसहरूको सक्रियता, जसले तपाईंलाई कन्टेनरहरूमा पहिचानकर्ताहरूको आफ्नै सेट प्रयोग गर्न अनुमति दिन्छ, सञ्चालनको लागि आवश्यक पर्दैन, किनकि यसले धेरै वितरणहरूमा पूर्वनिर्धारित रूपमा काम गर्दैन (बबल र्यापलाई सीमित सुइड कार्यान्वयनको रूपमा राखिएको छ। प्रयोगकर्ता नेमस्पेस क्षमताहरूको सबसेट - वातावरणबाट सबै प्रयोगकर्ता र प्रक्रिया पहिचानकर्ताहरू बहिष्कार गर्न, हालको बाहेक, CLONE_NEWUSER र CLONE_NEWPID मोडहरू प्रयोग गरिन्छ। थप सुरक्षाको लागि, Bubblewrap अन्तर्गत कार्यान्वयन गरिएका कार्यक्रमहरू PR_SET_NO_NEW_PRIVS मोडमा सुरु गरिन्छ, जसले नयाँ विशेषाधिकारहरू प्राप्त गर्न निषेध गर्दछ, उदाहरणका लागि, यदि सेटुइड झण्डा अवस्थित छ।

फाइल प्रणाली स्तरमा अलगाव पूर्वनिर्धारित रूपमा नयाँ माउन्ट नेमस्पेस सिर्जना गरेर पूरा हुन्छ, जसमा tmpfs प्रयोग गरेर खाली रूट विभाजन सिर्जना गरिन्छ। यदि आवश्यक भएमा, बाह्य FS विभाजनहरू यस विभाजनमा "mount —bind" मोडमा संलग्न हुन्छन् (उदाहरणका लागि, जब "bwrap —ro-bind /usr /usr" विकल्पसँग सुरु हुन्छ, /usr विभाजनलाई मुख्य प्रणालीबाट फर्वार्ड गरिन्छ। पढ्ने मात्र मोडमा)। नेटवर्क क्षमताहरू CLONE_NEWNET र CLONE_NEWUTS फ्ल्यागहरू मार्फत नेटवर्क स्ट्याक अलगावको साथ लुपब्याक इन्टरफेसमा पहुँच गर्न सीमित छन्।

समान फायरजेल परियोजनाबाट मुख्य भिन्नता, जसले सेटुइड लन्च मोडेल पनि प्रयोग गर्दछ, यो हो कि बबलव्र्यापमा कन्टेनर निर्माण तहले आवश्यक न्यूनतम क्षमताहरू मात्र समावेश गर्दछ, र ग्राफिकल अनुप्रयोगहरू चलाउनका लागि आवश्यक सबै उन्नत प्रकार्यहरू, डेस्कटपसँग अन्तर्क्रिया गर्ने र अनुरोधहरू फिल्टर गर्ने। Pulseaudio मा, Flatpak पक्षमा स्थानान्तरण गरियो र विशेषाधिकारहरू रिसेट गरिसकेपछि कार्यान्वयन गरियो। अर्कोतर्फ, फायरजेलले सबै सम्बन्धित कार्यहरूलाई एक कार्यान्वयनयोग्य फाइलमा संयोजन गर्दछ, जसले यसलाई उचित स्तरमा अडिट गर्न र सुरक्षा कायम गर्न गाह्रो बनाउँछ।

नयाँ रिलीज मा:

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

स्रोत: opennet.ru

एक टिप्पणी थप्न