Bottlerocket 1.1 izlaišana, izplatīšana, kuras pamatā ir izolēti konteineri

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

Izplatījums nodrošina atomiski un automātiski atjauninātu nedalāmu sistēmas attēlu, kas ietver Linux kodolu un minimālu sistēmas vidi, ieskaitot tikai konteineru palaišanai nepieciešamos komponentus. Vidē ietilpst sistēmas sistēmas pārvaldnieks, Glibc bibliotēka, Buildroot veidošanas rīks, GRUB sāknēšanas ielādētājs, ļaunā tīkla konfigurators, konteineru izpildlaiks izolētiem konteineriem, Kubernetes konteineru orķestrēšanas platforma, aws-iam-autentifikators un Amazon. ECS aģents.

Konteinera orķestrēšanas rīki ir iekļauti atsevišķā pārvaldības konteinerā, kas ir iespējots pēc noklusējuma un tiek pārvaldīts, izmantojot API un AWS SSM aģentu. Bāzes attēlam trūkst komandu apvalka, SSH servera un tulkotās valodas (piemēram, nav Python vai Perl) - administratīvie rīki un atkļūdošanas rīki tiek ievietoti atsevišķā pakalpojuma konteinerā, kas pēc noklusējuma ir atspējots.

Galvenā atšķirība no līdzīgiem izplatījumiem, piemēram, Fedora CoreOS, CentOS/Red Hat Atomic Host, galvenā uzmanība tiek pievērsta maksimālas drošības nodrošināšanai saistībā ar sistēmas aizsardzības stiprināšanu pret iespējamiem draudiem, apgrūtinot OS komponentu ievainojamību izmantošanu un palielinot konteineru izolāciju. . Konteineri tiek veidoti, izmantojot standarta Linux kodola mehānismus – cgroups, namespaces un seccomp. Papildu izolācijai izplatīšana izmanto SELinux “piespiedu” režīmā.

Saknes nodalījums ir uzstādīts tikai lasāms, un /etc iestatījumu nodalījums tiek montēts tmpfs un pēc restartēšanas tiek atjaunots tā sākotnējā stāvoklī. Tieša failu pārveidošana direktorijā /etc, piemēram, /etc/resolv.conf un /etc/containerd/config.toml, netiek atbalstīta - lai pastāvīgi saglabātu iestatījumus, ir jāizmanto API vai jāpārvieto funkcionalitāte atsevišķos konteineros. Dm-verity modulis tiek izmantots, lai kriptogrāfiski pārbaudītu saknes nodalījuma integritāti, un, ja tiek atklāts mēģinājums modificēt datus blokierīces līmenī, sistēma tiek restartēta.

Lielākā daļa sistēmas komponentu ir rakstīti valodā Rust, kas nodrošina atmiņai drošus līdzekļus, lai izvairītos no ievainojamībām, ko izraisa pēcbrīva piekļuve atmiņai, nulles rādītāja novirzīšana un bufera pārtēriņš. Veidojot pēc noklusējuma, tiek izmantoti kompilācijas režīmi "-enable-default-pie" un "-enable-default-ssp", lai iespējotu izpildāmā faila adrešu telpas (PIE) randomizāciju un aizsardzību pret steku pārpildīšanu, izmantojot kanāriju aizstāšanu. Pakotnēm, kas rakstītas C/C++ valodā, papildus tiek izmantoti karodziņi “-Wall”, “-Werror=format-security”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” un “-fstack-clash”. iespējota -aizsardzība".

Jaunajā laidienā:

  • Предложено два новых варианта дистрибутива 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.

Avots: opennet.ru

Pievieno komentāru