ھڪڙو گھٽ ۾ گھٽ لينڪس ڊويزن، بوتلروڪٽ، ھلندڙ ڪنٽينرز لاء جاري ڪيو ويو آھي. هن جي باري ۾ سڀ کان اهم شيء

ھڪڙو گھٽ ۾ گھٽ لينڪس ڊويزن، بوتلروڪٽ، ھلندڙ ڪنٽينرز لاء جاري ڪيو ويو آھي. هن جي باري ۾ سڀ کان اهم شيء

Amazon ڪمپني اعلان ڪيو آخري ڇڏڻ جي باري ۾ باٽلر - ڪنٽينرز کي هلائڻ ۽ انهن کي مؤثر طريقي سان منظم ڪرڻ لاءِ هڪ خاص ورڇ.

Bottlerocket (رستي طور، نالو ڏنو ويو نن homemade بليڪ پاؤڊر راڪيٽس) ڪنٽينرز لاءِ پهريون او ايس ناهي، پر اهو امڪان آهي ته اهو AWS خدمتن سان ڊفالٽ انضمام جي ڪري وڏي پئماني تي ٿي ويندو. جيتوڻيڪ سسٽم Amazon ڪلائوڊ تي مرڪوز آهي، اوپن سورس ڪوڊ ان کي ڪٿي به تعمير ڪرڻ جي اجازت ڏئي ٿو: مقامي طور تي سرور تي، راسبري پي تي، ڪنهن به مقابلي واري بادل ۾، ۽ جيتوڻيڪ هڪ ڪنٽينر واري ماحول ۾.

هي هڪ مڪمل طور تي قابل متبادل آهي CoreOS ورڇ لاءِ جيڪو Red Hat دفن ڪيو.

حقيقت ۾، Amazon ويب سروسز ڊويزن ۾ اڳ ۾ ئي Amazon Linux آهي، جيڪو تازو ئي ان جي ٻئي ورزن ۾ آيو آهي: اهو هڪ عام مقصد جي تقسيم آهي جيڪو ڊڪر ڪنٽينر ۾ هلائي سگهجي ٿو يا لينڪس KVM، Microsoft Hyper-V، ۽ VMware سان. ESXi hypervisors. اهو AWS ڪلاؤڊ تي هلائڻ لاءِ بهتر ڪيو ويو، پر Bottlerocket جي ڇڏڻ سان، هر ڪنهن کي حوصلا افزائي ڪئي وئي آهي نئين سسٽم ڏانهن اپڊيٽ ڪرڻ لاءِ جيڪو وڌيڪ محفوظ، جديد، ۽ گهٽ وسيلن کي استعمال ڪري ٿو.

AWS اعلان ڪيو Bottlerocket مارچ 2020 ۾. هن فوري طور تي تسليم ڪيو ته هي پهريون نه آهي “لينڪس لاءِ ڪنٽينرز” ، حوالو ڏيندي CoreOS، Rancher OS ۽ Project Atomic کي وحي جا ذريعا. ڊولپرز لکيو آهي ته آپريٽنگ سسٽم ”انهن سبقن جو نتيجو آهي جيڪو اسان گهڻو وقت تائين Amazon جي پيماني تي پروڊڪشن سروسز هلائڻ کان سکيو آهي، ۽ اهو تجربو جيڪو اسان گذريل ڇهن سالن ۾ حاصل ڪيو آهي ته ڪنٽينر ڪيئن هلايا وڃن.

انتهائي minimalism

لينڪس هر شيءِ مان ڪڍيو ويو آهي جيڪو ڪنٽينرز کي هلائڻ جي ضرورت ناهي. هي ڊزائن، ڪمپني جي مطابق، حملي جي سطح کي گھٽائي ٿو.

هن جو مطلب آهي ته ٿورڙا پيڪيجز بنيادي سسٽم تي نصب ٿيل آهن، جيڪا او ايس کي برقرار رکڻ ۽ تازه ڪاري ڪرڻ آسان بڻائي ٿي، ۽ وسيلن جي استعمال کي گهٽائڻ، انحصار جي سبب مسئلن جي امڪان کي پڻ گھٽائي ٿي. بنيادي طور تي، هتي هر شيء الڳ ڪنٽينرز ۾ ڪم ڪري ٿو، ۽ بنيادي نظام عملي طور تي ننگا آهي.

Amazon سڀني شيل ۽ ترجمانن کي پڻ ختم ڪري ڇڏيو آهي، انهن جي استعمال جي خطري کي ختم ڪرڻ يا صارفين کي حادثاتي طور تي استحقاق وڌائڻ. minimalism ۽ سيڪيورٽي جي خاطر، بنيادي تصوير ۾ ڪمانڊ شيل، هڪ SSH سرور، يا پٿون وانگر تشريح ڪيل ٻوليون شامل نه آهن. ايڊمنسٽريٽر ٽولز هڪ الڳ سروس ڪنٽينر ۾ رکيل آهن، جيڪو ڊفالٽ طور بند ٿيل آهي.

سسٽم ٻن طريقن سان منظم ڪيو ويو آهي: API ۽ آرڪيسٽريشن ذريعي.

هڪ پيڪيج مينيجر جي بدران جيڪو سافٽ ويئر جي انفرادي ٽڪر کي اپڊيٽ ڪري ٿو، Bottlerocket هڪ مڪمل فائل سسٽم تصوير ڊائون لوڊ ڪري ٿو ۽ ان ۾ ريبوٽ ڪري ٿو. جيڪڏهن هڪ لوڊ ناڪام ٿئي ٿي، اهو خودڪار طور تي واپس ڦري ٿو، ۽ ڪم لوڊ ناڪامي کي دستي طور تي رول بيڪ کي ٽريڪ ڪري سگھي ٿو (API ذريعي حڪم).

فريم ورڪ TUF (The Update Framework) ڊائون لوڊ ڪري ٿو تصويري بنيادن تي اپڊيٽس کي متبادل يا "unmounted" partitions ڏانهن. سسٽم لاءِ ٻه ڊسڪ ورهاڱا مختص ڪيا ويا آهن، جن مان هڪ ۾ فعال سسٽم شامل آهي، ۽ تازه ڪاري ٻئي ڏانهن نقل ڪئي وئي آهي. انهي حالت ۾، روٽ ورهاڱي صرف پڙهڻ واري موڊ ۾ نصب ٿيل آهي، ۽ ورهاڱي /etc RAM ۾ فائل سسٽم سان نصب ٿيل tmpfs ۽ ٻيهر شروع ڪرڻ کان پوء اصل حالت کي بحال ڪري ٿو. ۾ ترتيب واري فائلن جي سڌي تبديلي /etc سپورٽ نه آهي: سيٽنگون بچائڻ لاءِ توهان کي API استعمال ڪرڻ گهرجي يا ڪارڪردگي کي الڳ ڪنٽينرز ۾ منتقل ڪرڻ گهرجي.

ھڪڙو گھٽ ۾ گھٽ لينڪس ڊويزن، بوتلروڪٽ، ھلندڙ ڪنٽينرز لاء جاري ڪيو ويو آھي. هن جي باري ۾ سڀ کان اهم شيء
API اپڊيٽ اسڪيم

حفاظت

ڪنٽينر لينڪس ڪرنل جي معياري ميکانيزم جي ذريعي ٺاهيا ويا آهن - cgroups، namespaces ۽ seccomp، ۽ استعمال ڪيا ويندا آهن هڪ جبري رسائي ڪنٽرول سسٽم جي طور تي، يعني اضافي اڪيلائي لاءِ. SELinux "نافذ ڪرڻ" موڊ ۾.

ڊفالٽ طور، پاليسيون ڪنٽينرز ۽ ڪنيل جي وچ ۾ وسيلن کي حصيداري ڪرڻ لاء فعال آهن. بائنريز کي جھنڊن سان محفوظ ڪيو ويو آھي استعمال ڪندڙن يا پروگرامن کي انھن تي عمل ڪرڻ کان روڪڻ لاءِ. ۽ جيڪڏهن ڪو فائيل سسٽم تائين پهچي ٿو، Bottlerocket ڪنهن به تبديلين کي چيڪ ڪرڻ ۽ ٽريڪ ڪرڻ لاء هڪ اوزار پيش ڪري ٿو.

"تصديق ٿيل بوٽ" موڊ ڊيوائس-ميپر-verity فنڪشن ذريعي لاڳو ڪيو ويو آهي (dm-حقيقت)، جيڪو بوٽ دوران روٽ ورهاڱي جي سالميت جي جانچ ڪري ٿو. AWS dm-verity کي بيان ڪري ٿو "لينڪس ڪنيل جي هڪ خاصيت جيڪا OS تي مالويئر کي هلائڻ کان روڪڻ لاءِ سالميت جي چڪاس فراهم ڪري ٿي، جهڙوڪ اوور رائٽنگ ڪور سسٽم سافٽ ويئر."

سسٽم ۾ هڪ فلٽر پڻ آهي اي بي پي ايف (وڌايل بي پي ايف، Alexey Starovoitov پاران تيار ڪيل)، جيڪو ڪنيل ماڊلز کي وڌيڪ محفوظ BPF پروگرامن سان تبديل ڪرڻ جي اجازت ڏئي ٿو گھٽ-سطح سسٽم جي عملن لاءِ.

عملدرآمد ماڊل
استعمال ڪندڙ جي وضاحت
تاليف
حفاظت
ناڪامي موڊ
وسيلن تائين رسائي

استعمال ڪندڙ
ڪم
ها
ڪوبہ
استعمال ڪندڙ جا حق
عمل ۾ مداخلت
سسٽم ڪال، غلطي

نيوڪلي
ڪم
في
جامد
في
ڪرنل خوف
سڌي

بي بي ايف جي
واقعو
ها
JIT، CO-RE
تصديق، JIT
غلطي جو پيغام
محدود مددگار

ڪيئن BPF باقاعده صارف يا ڪرنل ليول ڪوڊ کان مختلف آهي ذريعو

AWS چيو Bottlerocket "هڪ آپريٽنگ ماڊل کي ملازمت ڏئي ٿو جيڪو سيڪيورٽي کي وڌيڪ وڌائيندو آهي ڪنيڪشن کي روڪڻ جي ذريعي انتظامي استحقاق سان پيداوار سرورز" ۽ "وڏي ورهايل سسٽم لاءِ مناسب آهي جتي هر فرد جي ميزبان تي ڪنٽرول محدود آهي."

سسٽم منتظمين لاءِ هڪ ايڊمنسٽريٽر ڪنٽينر فراهم ڪيو ويو آهي. پر AWS اهو نه ٿو سمجهي ته هڪ منتظم کي اڪثر Bottlerocket اندر ڪم ڪرڻ جي ضرورت پوندي: "هڪ الڳ Bottlerocket مثال ۾ لاگ ان ٿيڻ جو عمل غير معمولي عملن لاءِ آهي: ترقي يافته ڊيبگنگ ۽ مسئلو حل ڪرڻ،" لک ڊولپرز

زنگ آلود ٻولي

ڪرنل جي چوٽي تي OS اوزار گهڻو ڪري Rust ۾ لکيل آهي. هيءَ ٻولي پنهنجي فطرت مطابق آهي غير محفوظ ياداشت جي رسائي جي امڪان کي گھٽائي ٿو، انهي سان گڏوگڏ موضوعن جي وچ ۾ نسل جي حالتن کي ختم ڪري ٿو.

جھنڊو ڊفالٽ طور لاڳو ڪيو ويندو آھي جڏھن تعمير --enable-default-pie и --enable-default-ssp قابل عمل فائلن جي ايڊريس اسپيس جي بي ترتيب ڪرڻ کي چالو ڪرڻ لاءِ (پوزيشن-آزاد قابل عمل، PIE) ۽ اسٽيڪ اوور فلو تحفظ.

C/C++ پيڪيجز لاءِ، اضافي جھنڊا شامل آھن -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS и -fstack-clash-protection.

زنگ ۽ C/C ++ کان علاوه، ڪجهه پيڪيجز Go ۾ لکيل آهن.

AWS خدمتن سان انضمام

ساڳئي ڪنٽينر آپريٽنگ سسٽم کان فرق اهو آهي ته Amazon AWS تي هلائڻ ۽ ٻين AWS خدمتن سان ضم ٿيڻ لاءِ Bottlerocket کي بهتر ڪيو آهي.

سڀ کان وڌيڪ مشهور ڪنٽينر آرڪيسٽرٽر ڪبرنيٽس آهي، تنهنڪري AWS پنهنجي انٽرپرائز ڪبرنيٽس سروس (EKS) سان انضمام متعارف ڪرايو آهي. آرڪيسٽريشن جا اوزار هڪ الڳ ڪنٽرول ڪنٽينر ۾ ايندا آهن bottlerocket-ڪنٽرول-ڪنٽينر، جيڪو ڊفالٽ طور فعال ڪيو ويو آهي ۽ API ۽ AWS SSM ايجنٽ ذريعي منظم ڪيو ويو آهي.

اهو ڏسڻ لاء دلچسپ ٿيندو ته ڇا Bottlerocket بند ڪري ٿو، ماضي ۾ ڪجهه ساڳئي شروعاتن جي ناڪامي ڏني وئي. مثال طور، Vmware کان PhotonOS اڻڄاتل ٿي ويو، ۽ ريڊ هٽ خريد ڪيو CoreOS ۽ منصوبي کي بند ڪيو، جنهن کي ميدان ۾ هڪ علمبردار سمجهيو ويندو هو.

AWS خدمتن ۾ Bottlerocket جي انضمام هن سسٽم کي پنهنجي طريقي سان منفرد بڻائي ٿو. اهو شايد بنيادي سبب آهي ڇو ته ڪجهه صارفين کي ترجيح ڏئي سگهي ٿو Bottlerocket ٻين distros جهڙوڪ CoreOS يا Alpine. سسٽم شروعاتي طور تي EKS ۽ ECS سان ڪم ڪرڻ لاءِ ٺهيل آهي، پر اسين ورجائيندا آهيون ته اهو ضروري ناهي. پهريون، Bottlerocket ڪري سگهو ٿا پاڻ کي گڏ ڪرڻ ۽ ان کي استعمال ڪريو، مثال طور، ميزبان حل جي طور تي. ٻيو، EKS ۽ ECS صارفين کي اڃا تائين انهن جي او ايس چونڊڻ جي صلاحيت هوندي.

Bottlerocket سورس ڪوڊ GitHub تي Apache 2.0 لائسنس تحت شايع ٿيل آهي. ڊولپرز اڳ ۾ ئي آهن بگ رپورٽن ۽ خصوصيتن جي درخواستن جو جواب ڏيو.

اشتهارن جي حقن تي

وي ڊي سينا پيش آيون VDS روزاني ادائيگي سان. ڪنهن به آپريٽنگ سسٽم کي انسٽال ڪرڻ ممڪن آهي، بشمول توهان جي پنهنجي تصوير مان. هر سرور 500 Megabits جي انٽرنيٽ چينل سان ڳنڍيل آهي ۽ مفت ۾ DDoS حملن کان محفوظ آهي!

ھڪڙو گھٽ ۾ گھٽ لينڪس ڊويزن، بوتلروڪٽ، ھلندڙ ڪنٽينرز لاء جاري ڪيو ويو آھي. هن جي باري ۾ سڀ کان اهم شيء

جو ذريعو: www.habr.com

تبصرو شامل ڪريو