Bottlerocket 1.2-nin buraxılması, təcrid olunmuş konteynerlərə əsaslanan paylama

İzolyasiya edilmiş konteynerlərin səmərəli və təhlükəsiz işə salınması üçün Amazon-un iştirakı ilə hazırlanmış Bottlerocket 1.2.0 Linux paylamasının buraxılışı mövcuddur. Dağıtım alətləri və nəzarət komponentləri Rust-da yazılmışdır və MIT və Apache 2.0 lisenziyaları altında paylanmışdır. O, Amazon ECS, VMware və AWS EKS Kubernetes klasterlərində Bottlerocket-in işlədilməsini dəstəkləyir, həmçinin konteynerlər üçün müxtəlif orkestrləşdirmə və iş vaxtı alətlərindən istifadə etməyə imkan verən fərdi quruluşlar və nəşrlər yaradır.

Dağıtım, yalnız konteynerləri işə salmaq üçün lazım olan komponentlər daxil olmaqla, Linux nüvəsini və minimal sistem mühitini özündə birləşdirən atomik və avtomatik yenilənmiş bölünməz sistem şəklini təmin edir. Ətraf mühitə systemd sistem meneceri, Glibc kitabxanası, Buildroot qurma aləti, GRUB yükləmə yükləyicisi, pis şəbəkə konfiquratoru, təcrid olunmuş konteynerlər üçün konteynerin işləmə vaxtı, Kubernetes konteyner orkestrasiyası platforması, aws-iam-authenticator və Amazon daxildir. ECS agenti.

Konteyner orkestrasiyası alətləri defolt olaraq aktivləşdirilən və API və AWS SSM Agenti vasitəsilə idarə olunan ayrıca idarəetmə konteynerində gəlir. Əsas təsvirdə əmr qabığı, SSH serveri və tərcümə edilmiş dillər yoxdur (məsələn, Python və ya Perl yoxdur) - inzibati alətlər və sazlama alətləri defolt olaraq söndürülmüş ayrı bir xidmət konteynerinə yerləşdirilir.

Fedora CoreOS, CentOS/Red Hat Atomic Host kimi oxşar paylamalardan əsas fərq, sistemin mümkün təhdidlərdən qorunmasının gücləndirilməsi kontekstində maksimum təhlükəsizliyin təmin edilməsi, OS komponentlərində zəifliklərin istismarını çətinləşdirən və konteyner izolyasiyasının artırılmasında əsas diqqət mərkəzindədir. . Konteynerlər standart Linux nüvə mexanizmlərindən istifadə etməklə yaradılır - qruplar, ad boşluqları və seccomp. Əlavə izolyasiya üçün paylama SELinux-dan “məcburetmə” rejimində istifadə edir.

Kök bölməsi yalnız oxumaq üçün quraşdırılır və /etc parametrləri bölməsi tmpfs-də quraşdırılır və yenidən başladıqdan sonra orijinal vəziyyətinə qaytarılır. /etc/resolv.conf və /etc/containerd/config.toml kimi /etc qovluğunda faylların birbaşa modifikasiyası dəstəklənmir - parametrləri daimi saxlamaq üçün API-dən istifadə etməli və ya funksionallığı ayrı konteynerlərə köçürməlisiniz. dm-verity modulu kök bölmənin bütövlüyünü kriptoqrafik olaraq yoxlamaq üçün istifadə olunur və blok cihaz səviyyəsində məlumatların dəyişdirilməsi cəhdi aşkar edilərsə, sistem yenidən işə düşür.

Əksər sistem komponentləri pulsuz yaddaşa daxil olma, boş göstərici istinadları və bufer aşması nəticəsində yaranan zəifliklərin qarşısını almaq üçün yaddaş üçün təhlükəsiz funksiyaları təmin edən Rust dilində yazılmışdır. Defolt olaraq qurarkən, "-enable-default-pie" və "-enable-default-ssp" kompilyasiya rejimləri icra edilə bilən fayl ünvan sahəsinin (PIE) təsadüfiləşdirilməsini və kanar əvəzetmə yolu ilə yığın daşqınlarından qorunmağı təmin etmək üçün istifadə olunur. C/C++ dilində yazılmış paketlər üçün “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” və “-fstack-clash” bayraqları əlavə olaraq verilir. aktivləşdirildi - qorunma".

Yeni buraxılışda:

  • Konteyner təsviri reyestrinin güzgüləri üçün əlavə dəstək.
  • Öz-özünə imzalanmış sertifikatlardan istifadə etmək imkanı əlavə edildi.
  • Host adını konfiqurasiya etmək üçün seçim əlavə edildi.
  • İnzibati konteynerin standart versiyası yeniləndi.
  • Kubelet üçün topologyManagerPolicy və topologyManagerScope parametrləri əlavə edildi.
  • Zstd alqoritmindən istifadə edərək nüvənin sıxılması üçün əlavə dəstək.
  • Virtual maşınları OVA (Açıq Virtualizasiya Formatı) formatında VMware-ə yükləmək imkanı verilir.
  • aws-k8s-1.21 paylama versiyası Kubernetes 1.21 dəstəyi ilə yeniləndi. aws-k8s-1.16 üçün dəstək dayandırılıb.
  • Rust dili üçün yenilənmiş paket versiyaları və asılılıqlar.

Mənbə: opennet.ru

Добавить комментарий