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

Yalıtılmış 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.2.0'ın sürümü mevcuttur. 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:

  • Konteyner görüntüsü kayıt defteri aynaları için destek eklendi.
  • Kendinden imzalı sertifikaları kullanma yeteneği eklendi.
  • Ana bilgisayar adını yapılandırma seçeneği eklendi.
  • Yönetimsel kapsayıcının varsayılan sürümü güncellendi.
  • Kubelet için topologyManagerPolicy ve topologyManagerScope ayarları eklendi.
  • Zstd algoritmasını kullanarak çekirdek sıkıştırma desteği eklendi.
  • Sanal makineleri VMware'e OVA (Açık Sanallaştırma Formatı) formatında yükleme yeteneği sağlanmaktadır.
  • Aws-k8s-1.21 dağıtım sürümü Kubernetes 1.21 desteğiyle güncellendi. aws-k8s-1.16 desteği durduruldu.
  • Rust dili için güncellenmiş paket sürümleri ve bağımlılıklar.

Kaynak: opennet.ru

Yorum ekle