ببل ریپ 0.6 کی ریلیز، الگ تھلگ ماحول بنانے کے لیے ایک تہہ

الگ تھلگ ماحول کے کام کو منظم کرنے کے لیے ٹولز کی ریلیز Bubblewrap 0.6 دستیاب ہے، جو عام طور پر غیر مراعات یافتہ صارفین کی انفرادی ایپلی کیشنز کو محدود کرنے کے لیے استعمال ہوتی ہے۔ عملی طور پر، Bubblewrap کو Flatpak پروجیکٹ کے ذریعے پیکیجز سے شروع کی گئی ایپلی کیشنز کو الگ کرنے کے لیے ایک پرت کے طور پر استعمال کیا جاتا ہے۔ پروجیکٹ کوڈ C میں لکھا گیا ہے اور LGPLv2+ لائسنس کے تحت تقسیم کیا گیا ہے۔

تنہائی کے لیے، روایتی لینکس کنٹینر ورچوئلائزیشن ٹیکنالوجیز استعمال کی جاتی ہیں، جو cgroups، namespaces، Seccomp اور SELinux کے استعمال پر مبنی ہیں۔ کنٹینر کو کنفیگر کرنے کے لیے مراعات یافتہ کارروائیوں کو انجام دینے کے لیے، ببل ریپ کو روٹ رائٹس کے ساتھ لانچ کیا جاتا ہے (سوڈ فلیگ کے ساتھ ایک ایگزیکیوٹیبل فائل) اور پھر کنٹینر شروع ہونے کے بعد مراعات کو دوبارہ ترتیب دیا جاتا ہے۔

نام کی جگہ کے نظام میں صارف کے نام کی جگہوں کی ایکٹیویشن، جو آپ کو کنٹینرز میں شناخت کنندگان کا اپنا الگ سیٹ استعمال کرنے کی اجازت دیتی ہے، آپریشن کے لیے ضروری نہیں ہے، کیونکہ یہ بہت سی تقسیموں میں بطور ڈیفالٹ کام نہیں کرتا ہے صارف کے نام کی جگہوں کی صلاحیتوں کا ذیلی سیٹ - تمام صارف اور عمل کے شناخت کنندگان کو ماحول سے خارج کرنے کے لیے، موجودہ کے علاوہ، 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 جھنڈوں کے ذریعے نیٹ ورک اسٹیک آئسولیشن کے ساتھ لوپ بیک انٹرفیس تک رسائی تک محدود ہیں۔

اسی طرح کے فائرجیل پروجیکٹ سے اہم فرق، جو سیٹیوڈ لانچ ماڈل کا بھی استعمال کرتا ہے، یہ ہے کہ ببل ریپ میں کنٹینر کی تخلیق کی پرت میں صرف ضروری کم از کم صلاحیتیں، اور گرافیکل ایپلی کیشنز کو چلانے، ڈیسک ٹاپ کے ساتھ تعامل اور درخواستوں کو فلٹر کرنے کے لیے ضروری تمام جدید فنکشنز شامل ہیں۔ پلساؤڈیو پر، فلیٹپاک سائیڈ میں منتقل کیا گیا اور مراعات دوبارہ ترتیب دینے کے بعد عمل میں لایا گیا۔ دوسری طرف فائرجیل تمام متعلقہ افعال کو ایک قابل عمل فائل میں یکجا کرتا ہے، جس کی وجہ سے مناسب سطح پر آڈٹ اور حفاظت کو برقرار رکھنا مشکل ہو جاتا ہے۔

نئی ریلیز میں:

  • میسن اسمبلی سسٹم کے لیے سپورٹ شامل کر دی گئی۔ Autotools کے ساتھ تعمیر کے لیے سپورٹ کو ابھی کے لیے برقرار رکھا گیا ہے، لیکن آئندہ ریلیز میں ہٹا دیا جائے گا۔
  • ایک سے زیادہ seccomp پروگرام شامل کرنے کے لیے "-add-seccomp" آپشن کو نافذ کیا گیا۔ ایک انتباہ شامل کیا گیا ہے کہ اگر آپ "--seccomp" اختیار دوبارہ بیان کرتے ہیں، تو صرف آخری پیرامیٹر لاگو ہوگا۔
  • گٹ ریپوزٹری میں ماسٹر برانچ کا نام بدل کر مین رکھ دیا گیا ہے۔
  • REUSE تفصیلات کے لیے جزوی تعاون شامل کیا گیا، جو لائسنس اور کاپی رائٹ کی معلومات کی وضاحت کے عمل کو یکجا کرتا ہے۔ بہت سی کوڈ فائلوں میں SPDX-License-Identifier ہیڈر شامل کیے گئے ہیں۔ دوبارہ استعمال کے رہنما خطوط پر عمل کرنے سے یہ خود بخود تعین کرنا آسان ہو جاتا ہے کہ کون سا لائسنس درخواست کوڈ کے کن حصوں پر لاگو ہوتا ہے۔
  • کمانڈ لائن آرگیومنٹ کاؤنٹر (argc) کی قدر کی جانچ کرنا شامل کیا اور اگر کاؤنٹر صفر ہے تو ایمرجنسی ایگزٹ کو لاگو کیا۔ یہ تبدیلی پاس کردہ کمانڈ لائن آرگیومینٹس، جیسے پولکٹ میں CVE-2021-4034 کی غلط ہینڈلنگ کی وجہ سے سیکورٹی کے مسائل کو روکنے میں مدد کرتی ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں