Amazon izolyatsiya qilingan konteynerlarga asoslangan Linux tarqatish Bottlerocket 1.0.0 ni nashr etadi

Amazon taqdim maxsus Linux distributivining birinchi muhim versiyasi Shishadan quti 1.0.0, izolyatsiyalangan konteynerlarni samarali va xavfsiz ishlatish uchun mo'ljallangan. Tarqatish vositalari va boshqaruv komponentlari Rust va da yozilgan tarqaldi MIT va Apache 2.0 litsenziyalari ostida. Loyiha GitHub’da ishlab chiqilmoqda va jamoa a’zolari ishtirok etishi mumkin. Tizimni joylashtirish tasviri x86_64 va Aarch64 arxitekturalari uchun yaratilgan. OT Amazon ECS va AWS EKS Kubernetes klasterlarida ishlashga moslashtirilgan. Ta'minlanadi Boshqa orkestrlash vositalaridan, yadrolardan va konteynerlar uchun ishlash vaqtidan foydalanishi mumkin bo'lgan o'z yig'ilishlaringiz va nashrlaringizni yaratish uchun vositalar.

Tarqatish Linux yadrosi va minimal tizim muhitini, shu jumladan konteynerlarni ishlatish uchun zarur bo'lgan komponentlarni taqdim etadi. Loyihada ishtirok etgan paketlar qatoriga tizim menejeri systemd, Glibc kutubxonasi va montaj vositalari kiradi
Buildroot, GRUB bootloader, tarmoq konfiguratori yovuz, izolyatsiyalangan konteynerlar uchun ish vaqti konteyner, Kubernetes konteyner orkestratsiya platformasi, aws-iam-authenticator va Amazon ECS agenti.

Tarqatish atomik tarzda yangilanadi va bo'linmas tizim tasviri shaklida taqdim etiladi. Tizim uchun ikkita disk bo'limi ajratilgan, ulardan biri faol tizimni o'z ichiga oladi va yangilanish ikkinchisiga ko'chiriladi. Yangilanish o'rnatilgandan so'ng, ikkinchi bo'lim faollashadi va birinchisida, keyingi yangilanish kelgunga qadar, tizimning oldingi versiyasi saqlanadi, agar muammolar yuzaga kelsa, uni orqaga qaytarishingiz mumkin. Yangilanishlar administrator aralashuvisiz avtomatik ravishda o'rnatiladi.

Fedora CoreOS, CentOS/Red Hat Atomic Host kabi shunga o'xshash distribyutorlardan asosiy farqi bu ta'minlashga asosiy e'tibordir. maksimal xavfsizlik mumkin bo'lgan tahdidlardan tizim himoyasini kuchaytirish, OT komponentlarida zaifliklardan foydalanishni qiyinlashtirish va konteynerlarning izolyatsiyasini oshirish kontekstida. Konteynerlar standart Linux yadro mexanizmlari - guruhlar, nomlar va seccomp yordamida yaratiladi. Qo'shimcha izolyatsiya uchun tarqatish SELinux-dan "majburiy" rejimida foydalanadi va modul ildiz bo'limining yaxlitligini kriptografik tekshirish uchun ishlatiladi. dm-haqiqat. Agar bloklangan qurilma darajasida ma'lumotlarni o'zgartirishga urinish aniqlansa, tizim qayta ishga tushadi.

Ildiz bo'limi faqat o'qish uchun o'rnatiladi va /etc sozlamalari bo'limi tmpfs-ga o'rnatiladi va qayta ishga tushirilgandan so'ng asl holatiga tiklanadi. /etc/resolv.conf va /etc/containerd/config.toml kabi /etc katalogidagi fayllarni to'g'ridan-to'g'ri o'zgartirish qo'llab-quvvatlanmaydi - sozlamalarni doimiy saqlash uchun siz API dan foydalanishingiz yoki funksionallikni alohida konteynerlarga ko'chirishingiz kerak.

Aksariyat tizim komponentlari Rust-da yozilgan bo'lib, u xotiradan bo'sh bo'lgandan keyin foydalanish, null ko'rsatkichni yo'qotish va buferni haddan tashqari oshirib yuborish natijasida yuzaga keladigan zaifliklarni oldini olish uchun xotira xavfsizligini ta'minlaydi. Sukut bo'yicha qurishda, bajariladigan fayllarning manzil maydonini tasodifiylashtirish uchun "--enable-default-pie" va "--enable-default-ssp" kompilyatsiya rejimlari qo'llaniladi (Oyoq) va kanareykalarni almashtirish orqali stekning toshib ketishidan himoya qilish.
C/C++ da yozilgan paketlar uchun qo'shimcha bayroqlar kiritilgan
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" va "-fstack-clash-protection".

Konteynerni orkestrlash vositalari alohida beriladi nazorat konteyneri, bu sukut bo'yicha yoqilgan va orqali boshqariladi API va AWS SSM agenti. Asosiy tasvirda buyruq qobig'i, SSH serveri va talqin qilingan tillar yo'q (masalan, Python yoki Perl yo'q) - ma'muriy vositalar va disk raskadrovka vositalari alohida xizmat ko'rsatish konteyneri, bu sukut bo'yicha o'chirilgan.

Manba: opennet.ru

a Izoh qo'shish