Izdanje Bottlerocketa 1.1, distribucije zasnovane na izolovanim kontejnerima

Доступен выпуск Linux-дистрибутива Bottlerocket 1.1.0, развиваемого при участии компании Amazon для эффективного и безопасного запуска изолированных контейнеров. Инструментарий и управляющие компоненты дистрибутива написаны на языке Rust и распространяются под лицензиями MIT и Apache 2.0. Поддерживается запуск Bottlerocket в кластерах Amazon ECS и AWS EKS Kubernetes, а также создание произвольных сборок и редакций, допускающих применение различных инструментов оркестровки и runtime для контейнеров.

Distribucija pruža atomski i automatski ažuriranu nedjeljivu sliku sistema koja uključuje Linux kernel i minimalno sistemsko okruženje, uključujući samo komponente potrebne za pokretanje kontejnera. Okruženje uključuje systemd upravitelja sistema, Glibc biblioteku, alat za pravljenje Buildroot, GRUB pokretač, konfigurator opake mreže, vrijeme izvođenja kontejnera za izolovane kontejnere, platformu za orkestraciju Kubernetes kontejnera, aws-iam-authenticator i Amazon ECS agent.

Alati za orkestraciju kontejnera dolaze u zasebnom kontejneru za upravljanje koji je podrazumevano omogućen i kojim se upravlja preko API-ja i AWS SSM agenta. Osnovnoj slici nedostaju komandna školjka, SSH server i interpretirani jezici (na primjer, bez Python-a ili Perl-a) - administrativni alati i alati za otklanjanje grešaka smješteni su u poseban servisni kontejner, koji je po defaultu onemogućen.

Ključna razlika u odnosu na slične distribucije kao što su Fedora CoreOS, CentOS/Red Hat Atomic Host je primarni fokus na pružanju maksimalne sigurnosti u kontekstu jačanja zaštite sistema od mogućih prijetnji, što otežava iskorištavanje ranjivosti u komponentama OS-a i povećava izolaciju kontejnera. . Kontejneri se kreiraju korištenjem standardnih mehanizama jezgre Linuxa - cgroups, namespaces i seccomp. Za dodatnu izolaciju, distribucija koristi SELinux u "prisilnom" načinu.

Korijenska particija se montira samo za čitanje, a /etc settings particija se montira u tmpfs i vraća u prvobitno stanje nakon ponovnog pokretanja. Direktna modifikacija datoteka u /etc direktoriju, kao što su /etc/resolv.conf i /etc/containerd/config.toml, nije podržana - da biste trajno sačuvali postavke, morate koristiti API ili premjestiti funkcionalnost u zasebne spremnike. Modul dm-verity se koristi za kriptografsku provjeru integriteta root particije, a ako se otkrije pokušaj izmjene podataka na razini blok uređaja, sistem se ponovo pokreće.

Većina sistemskih komponenti je napisana u Rustu, koji pruža funkcije sigurne za memoriju kako bi se izbjegle ranjivosti uzrokovane naknadnim pristupima memoriji, nultim dereferencijama pokazivača i prekoračenjem bafera. Kada se gradi po defaultu, koriste se načini kompilacije "-enable-default-pie" i "-enable-default-ssp" kako bi se omogućila randomizacija adresnog prostora izvršne datoteke (PIE) i zaštita od prekoračenja steka kroz kanarsku supstituciju. Za pakete napisane na C/C++, zastavice “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” i “-fstack-clash” su dodatno omogućena -zaštita".

U novom izdanju:

  • Предложено два новых варианта дистрибутива aws-k8s-1.20 и vmware-k8s-1.20 c поддержкой Kubernetes 1.20. В данных вариантах, а также в обновлённом варианте aws-ecs-1, задействован новый выпуск ядра Linux 5.10. Режим lockdown по умолчанию переведён в значение «integrity» (блокируются возможности, позволяющие вносить изменения в работающее ядро из пространства пользователя). Прекращена поддержка варианта aws-k8s-1.15 на базе Kubernetes 1.15.
  • Для Amazon ECS реализована поддержка сетевого режима awsvpc, позволяющего выделять отдельные сетевых интерфейсы и внутренние IP-адреса для каждой задачи.
  • Добавлены настройки для управления различными параметрами Kubernetes, включая QPS, лимиты на пулы и возможность подключения к облачным провайдерам, отличным от AWS.
  • В bootstrap-контейнере обеспечено ограничение доступа к данным пользователя при помощи SELinux.
  • Добавлена утилита resize2fs.

izvor: opennet.ru

Dodajte komentar