ایمیزون Bottlerocket 1.0.0 شائع کرتا ہے، الگ تھلگ کنٹینرز پر مبنی لینکس کی تقسیم

ایمیزون کمپنی پیش کیا ایک وقف شدہ لینکس ڈسٹری بیوشن کی پہلی اہم ریلیز بوتلروکیٹ 1.0.0, الگ تھلگ کنٹینرز کو موثر اور محفوظ طریقے سے چلانے کے لیے ڈیزائن کیا گیا ہے۔ ڈسٹری بیوشن کے ٹولز اور کنٹرول کے اجزاء Rust اور میں لکھے گئے ہیں۔ پھیلاؤ MIT اور Apache 2.0 لائسنس کے تحت۔ یہ پروجیکٹ GitHub پر تیار کیا جا رہا ہے اور کمیونٹی ممبران کی شرکت کے لیے دستیاب ہے۔ سسٹم کی تعیناتی کی تصویر x86_64 اور Aarch64 آرکیٹیکچرز کے لیے بنائی گئی ہے۔ OS کو Amazon ECS اور AWS EKS Kubernetes کلسٹرز پر چلانے کے لیے موافق بنایا گیا ہے۔ فراہم کی جاتی ہیں آپ کی اپنی اسمبلیاں اور ایڈیشن بنانے کے لیے ٹولز، جو دوسرے آرکیسٹریشن ٹولز، دانا اور کنٹینرز کے لیے رن ٹائم استعمال کر سکتے ہیں۔

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

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

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

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

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

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

ماخذ: opennet.ru

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