Bottlerocket 1.7 کی ریلیز، الگ تھلگ کنٹینرز پر مبنی تقسیم

Bottlerocket 1.7.0 Linux ڈسٹری بیوشن کا اجراء شائع کیا گیا ہے، جسے ایمیزون کی شراکت سے تیار کیا گیا ہے تاکہ الگ تھلگ کنٹینرز کو مؤثر طریقے سے اور محفوظ طریقے سے چلایا جا سکے۔ تقسیم کے ٹول کٹ اور کنٹرول اجزاء زنگ میں لکھے گئے ہیں اور MIT اور Apache 2.0 لائسنس کے تحت تقسیم کیے گئے ہیں۔ یہ Amazon ECS، VMware، اور AWS EKS Kubernetes کلسٹرز پر Bottlerocket چلانے کے ساتھ ساتھ اپنی مرضی کے مطابق تعمیرات اور ایڈیشنز بنانے کی حمایت کرتا ہے جو کنٹینرز کے لیے مختلف آرکیسٹریشن اور رن ٹائم ٹولز کی اجازت دیتے ہیں۔

تقسیم ایک ایٹمی اور خود بخود اپڈیٹ شدہ ناقابل تقسیم نظام کی تصویر فراہم کرتی ہے جس میں لینکس کرنل اور کم سے کم سسٹم ماحول شامل ہوتا ہے جس میں کنٹینرز کو چلانے کے لیے ضروری اجزاء شامل ہوتے ہیں۔ ماحول میں سسٹمڈ سسٹم مینیجر، Glibc لائبریری، Buildroot بلڈ ٹول، GRUB بوٹ لوڈر، ویکڈ نیٹ ورک کنفیگریٹر، کنٹینرڈ الگ تھلگ کنٹینر رن ٹائم، Kubernetes کنٹینر آرکیسٹریشن پلیٹ فارم، aws-iam-authenticator، اور Amazon ECS ایجنٹ شامل ہیں۔ .

کنٹینر آرکیسٹریشن ٹولز ایک علیحدہ مینجمنٹ کنٹینر میں آتے ہیں جو بطور ڈیفالٹ فعال ہوتا ہے اور API اور AWS SSM ایجنٹ کے ذریعے منظم ہوتا ہے۔ بیس امیج میں کمانڈ شیل، ایک SSH سرور، اور تشریح شدہ زبانوں کا فقدان ہے (مثال کے طور پر، کوئی ازگر یا پرل نہیں) - انتظامی اور ڈیبگنگ ٹولز کو ایک علیحدہ سروس کنٹینر میں منتقل کیا جاتا ہے، جو بطور ڈیفالٹ غیر فعال ہوتا ہے۔

Fedora CoreOS، CentOS/Red Hat Atomic Host جیسی تقسیم سے اہم فرق ممکنہ خطرات کے خلاف نظام کے تحفظ کو مضبوط بنانے، OS اجزاء میں کمزوریوں کے استحصال کو پیچیدہ بنانے اور کنٹینر کی تنہائی کو بڑھانے کے تناظر میں زیادہ سے زیادہ تحفظ فراہم کرنے پر بنیادی توجہ ہے۔ کنٹینرز لینکس کرنل کے باقاعدہ میکانزم - cgroups، namespaces اور seccomp کا استعمال کرتے ہوئے بنائے جاتے ہیں۔ اضافی تنہائی کے لیے، تقسیم SELinux کو "انفورسنگ" موڈ میں استعمال کرتی ہے۔

روٹ پارٹیشن کو صرف پڑھنے کے موڈ میں نصب کیا جاتا ہے، اور /etc ترتیبات کے ساتھ پارٹیشن کو tmpfs میں نصب کیا جاتا ہے اور دوبارہ شروع کرنے کے بعد اس کی اصل حالت میں بحال کیا جاتا ہے۔ /etc ڈائریکٹری میں فائلوں کی براہ راست ترمیم، جیسے /etc/resolv.conf اور /etc/containerd/config.toml، تعاون یافتہ نہیں ہے - ترتیبات کو مستقل طور پر محفوظ کرنے کے لیے، آپ کو API کا استعمال کرنا چاہیے یا فعالیت کو الگ کنٹینرز میں منتقل کرنا چاہیے۔ روٹ پارٹیشن کی سالمیت کی کرپٹوگرافک تصدیق کے لیے، dm-verity ماڈیول استعمال کیا جاتا ہے، اور اگر بلاک ڈیوائس کی سطح پر ڈیٹا میں ترمیم کرنے کی کوشش کا پتہ چلا، تو سسٹم دوبارہ شروع ہو جاتا ہے۔

سسٹم کے زیادہ تر اجزاء رسٹ میں لکھے گئے ہیں، جو میموری کے لیے محفوظ ٹولز فراہم کرتا ہے تاکہ میموری کے علاقے کو آزاد ہونے کے بعد اس کو ایڈریس کرنے کی وجہ سے پیدا ہونے والی کمزوریوں سے بچا جا سکے، نال پوائنٹرز کا حوالہ دینا، اور بفر اووررنز۔ تعمیر کرتے وقت، کمپائلیشن موڈز "--enable-default-pie" اور "-enable-default-ssp" بطور ڈیفالٹ استعمال کیے جاتے ہیں تاکہ ایگزیکیوٹیبل ایڈریس اسپیس رینڈمائزیشن (PIE) اور کینری لیبل متبادل کے ذریعے اسٹیک اوور فلو سے تحفظ کو فعال کیا جاسکے۔ C/C++ میں لکھے ہوئے پیکجز کے لیے، "-Wall"، "-Werror=format-security"، "-Wp،-D_FORTIFY_SOURCE=2"، "-Wp،-D_GLIBCXX_ASSERTIONS" اور "-fstack-clash" جھنڈے اضافی ہیں۔ شامل - تحفظ.

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

  • RPM پیکجز کو انسٹال کرتے وقت، JSON فارمیٹ میں پروگراموں کی فہرست بنانا اور اسے میزبان کنٹینر میں /var/lib/bottlerocket/inventory/application.json فائل کے طور پر نصب کرنا ممکن ہے تاکہ دستیاب پیکجوں کے بارے میں معلومات حاصل کی جا سکے۔
  • "ایڈمن" اور "کنٹرول" کنٹینرز کو اپ ڈیٹ کر دیا گیا ہے۔
  • Go اور Rust زبانوں کے لیے اپ ڈیٹ کردہ پیکیج ورژن اور انحصار۔
  • تھرڈ پارٹی پروگراموں کے ساتھ پیکجوں کے اپ ڈیٹ شدہ ورژن۔
  • kmod-5.10-nvidia کے لیے tmpfilesd کنفیگریشن کے مسائل حل کیے گئے۔
  • ٹفٹول انسٹال کرتے وقت، انحصاری ورژن منسلک ہوتے ہیں۔

ماخذ: opennet.ru

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