Bottlerocket 1.7-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.7.0 Linux paylamasının buraxılışı nəşr edilmişdir. 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:

  • RPM paketlərini quraşdırarkən, JSON formatında proqramların siyahısını yaratmaq və mövcud paketlər haqqında məlumat əldə etmək üçün onu /var/lib/bottlerocket/inventory/application.json faylı kimi host konteynerinə quraşdırmaq mümkündür.
  • “Admin” və “nəzarət” konteynerləri yeniləndi.
  • Go və Rust dilləri üçün yenilənmiş paket versiyaları və asılılıqlar.
  • Üçüncü tərəf proqramları ilə paketlərin yenilənmiş versiyaları.
  • kmod-5.10-nvidia üçün tmpfilesd konfiqurasiya problemləri həll edildi.
  • Tuftool quraşdırarkən, asılılıq versiyaları əlaqələndirilir.

Mənbə: opennet.ru

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