Amazon Şirketi первый значительный выпуск специализированного Linux-dağıtım , izole edilmiş konteynerleri verimli ve güvenli bir şekilde çalıştırmak için tasarlanmıştır. Dağıtımın araçları ve kontrol bileşenleri Rust'ta yazılmıştır ve MIT ve Apache 2.0 lisansları altındadır. Proje GitHub'da geliştiriliyor ve topluluk üyelerinin katılımına açık. Sistem dağıtım görüntüsü x86_64 ve Aarch64 mimarileri için oluşturulmuştur. İşletim sistemi, Amazon ECS ve AWS EKS Kubernetes kümelerinde çalışacak şekilde uyarlanmıştır. kendi derlemelerinizi ve sürümlerinizi oluşturmaya yönelik, diğer düzenleme araçlarını, çekirdekleri ve kapsayıcılar için çalışma zamanını kullanabilen araçlar.
Дистрибутив предоставляет ядро Linux и минимальное системное окружение, включающие только компоненты, необходимые для запуска контейнеров. Среди задействованных в проекте пакетов отмечаются системный менеджер systemd, библиотека Glibc, сборочный инструментарий
Buildroot, GRUB önyükleyici, ağ yapılandırıcı , yalıtılmış kapsayıcılar için çalışma zamanı , Kubernetes konteyner düzenleme platformu, aws-iam-authenticator ve Amazon ECS aracısı.
Dağıtım atomik olarak güncellenir ve bölünmez bir sistem görüntüsü biçiminde sunulur. Sistem için biri aktif sistemi içeren iki disk bölümü ayrılır ve güncelleme ikinciye kopyalanır. Güncelleme dağıtıldıktan sonra, ikinci bölüm aktif hale gelir ve ilkinde, bir sonraki güncelleme gelene kadar, sistemin önceki sürümü kaydedilir ve sorun çıkması durumunda geri dönebilirsiniz. Güncellemeler, yönetici müdahalesi olmadan otomatik olarak yüklenir.
Fedora CoreOS gibi benzer dağıtımlardan en önemli farkı şudur: CentOS/Red Hat Atomic Host является первичная ориентация на обеспечение в контексте усиления защиты системы от возможных угроз, усложнения эксплуатации уязвимостей в компонентах ОС и повышения изоляции контейнеров. Контейнеры создаются при помощи штатных механизмов ядра Linux — cgroups, namespaces ve seccomp. Ek izolasyon için dağıtım SE kullanır.Linux в режиме «enforcing», а для криптографической верификации целостности корневого раздела задействован модуль . Blok cihazı seviyesinde veriyi değiştirmeye yönelik bir girişim tespit edilirse sistem yeniden başlatılı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.
Ç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 dosyaların adres alanının rastgele hale getirilmesini sağlamak için kullanılır () ve kanarya değişimi yoluyla yığın taşması koruması.
C/C++ ile yazılan paketler için ek işaretler bulunur
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" ve "-fstack-clash-protection".
Konteyner düzenleme araçları ayrı olarak sağlanır , varsayılan olarak etkindir ve aracılığıyla kontrol edilir ve AWS SSM Aracısı. Temel görüntüde bir komut kabuğu, SSH sunucusu ve yorumlanan diller yok (örneğin, Python veya Perl yok) - yönetim araçları ve hata ayıklama araçları , varsayılan olarak devre dışıdır.
Kaynak: opennet.ru
