Yalıtılmış kaplara dayalı bir dağıtım olan Bottlerocket 1.3'nin piyasaya sürülmesi

İzole konteynerlerin verimli ve güvenli bir şekilde başlatılması için Amazon'un katılımıyla geliştirilen Linux dağıtımı Bottlerocket 1.3.0'ın sürümü yayınlandı. Dağıtımın araçları ve kontrol bileşenleri Rust'ta yazılmıştır ve MIT ve Apache 2.0 lisansları altında dağıtılmaktadır. Bottlerocket'in Amazon ECS, VMware ve AWS EKS Kubernetes kümelerinde çalıştırılmasını ve konteynerler için çeşitli düzenleme ve çalışma zamanı araçlarının kullanılmasına olanak tanıyan özel yapılar ve sürümler oluşturmayı destekler.

Dağıtım, yalnızca konteynerleri çalıştırmak için gerekli bileşenleri içeren, Linux çekirdeğini ve minimum sistem ortamını içeren, atomik ve otomatik olarak güncellenen, bölünemez bir sistem görüntüsü sağlar. Ortam, systemd sistem yöneticisini, Glibc kitaplığını, Buildroot derleme aracını, GRUB önyükleme yükleyicisini, kötü ağ yapılandırıcısını, yalıtılmış konteynerler için konteynerd çalışma zamanını, Kubernetes konteyner düzenleme platformunu, aws-iam-authenticator'ı ve Amazon'u içerir. ECS temsilcisi.

Konteyner düzenleme araçları, varsayılan olarak etkinleştirilen ve API ve AWS SSM Agent aracılığıyla yönetilen ayrı bir yönetim konteynerinde gelir. Temel görüntüde bir komut kabuğu, SSH sunucusu ve yorumlanan diller (örneğin, Python veya Perl yok) yoktur - yönetim araçları ve hata ayıklama araçları, varsayılan olarak devre dışı bırakılan ayrı bir hizmet kapsayıcısına yerleştirilir.

Fedora CoreOS, CentOS/Red Hat Atomic Host gibi benzer dağıtımlardan temel farkı, sistem korumasını olası tehditlere karşı güçlendirmek, işletim sistemi bileşenlerindeki güvenlik açıklarından yararlanmayı zorlaştırmak ve konteyner izolasyonunu artırmak bağlamında maksimum güvenlik sağlamaya odaklanmasıdır. . Kapsayıcılar standart Linux çekirdek mekanizmaları (cgroup'lar, ad alanları ve seccomp) kullanılarak oluşturulur. Ek izolasyon için dağıtım SELinux'u "zorlama" modunda kullanır.

Kök bölüm salt okunur olarak bağlanır ve /etc ayarlar bölümü tmpfs'ye bağlanır ve yeniden başlatmanın ardından orijinal durumuna geri yüklenir. /etc/resolv.conf ve /etc/containerd/config.toml gibi /etc dizinindeki dosyaların doğrudan değiştirilmesi desteklenmez; ayarları kalıcı olarak kaydetmek için API'yi kullanmanız veya işlevselliği ayrı kapsayıcılara taşımanız gerekir. Dm-verity modülü, kök bölümünün bütünlüğünü kriptografik olarak doğrulamak için kullanılır ve blok cihaz düzeyinde verileri değiştirmeye yönelik bir girişim tespit edilirse sistem yeniden başlatılır.

Çoğu sistem bileşeni, boş bellek erişimleri, boş işaretçi referansları ve arabellek taşmalarından kaynaklanan güvenlik açıklarını önlemek için bellek açısından güvenli özellikler sağlayan Rust'ta yazılmıştır. Varsayılan olarak oluştururken, "-enable-default-pie" ve "-enable-default-ssp" derleme modları, yürütülebilir dosya adres alanının (PIE) rastgele hale getirilmesini ve kanarya ikamesi yoluyla yığın taşmalarına karşı korumayı etkinleştirmek için kullanılır. C/C++ ile yazılmış paketler için “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” ve “-fstack-clash” bayrakları ek olarak etkin koruma".

Yeni sürümde:

  • Docker ve çalışma zamanı kapsayıcı araçlarındaki (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103) erişim haklarının yanlış ayarlanmasıyla ilgili, ayrıcalığı olmayan kullanıcıların tabanın ötesine geçmesine izin veren güvenlik açıkları düzeltildi dizini oluşturun ve harici programları çalıştırın.
  • Kubelet ve pluto'ya IPv6 desteği eklendi.
  • Ayarlarını değiştirdikten sonra konteyneri yeniden başlatmak mümkündür.
  • eni-max-pods paketine Amazon EC2 M6i bulut sunucuları için destek eklendi.
  • Open-vm-tools, Cilium araç setini temel alan cihaz filtreleri için destek ekledi.
  • X86_64 platformu için hibrit bir önyükleme modu uygulanır (EFI ve BIOS desteğiyle).
  • Rust dili için güncellenmiş paket sürümleri ve bağımlılıklar.
  • Kubernetes 8'yi temel alan aws-k1.17s-1.17 dağıtım varyantına yönelik destek durduruldu. Kubernetes 8 desteğine sahip aws-k1.21s-1.21 sürümünün kullanılması tavsiye edilir. K8s çeşitleri cgroup runtime.slice ve system.slice ayarlarını kullanır.

Kaynak: opennet.ru

Yorum ekle