Itusilẹ ti Bottlerocket 1.2, pinpin ti o da lori awọn apoti ti o ya sọtọ

Itusilẹ ti Linux pinpin Bottlerocket 1.2.0 wa, ni idagbasoke pẹlu ikopa ti Amazon fun imudara ati ifilọlẹ aabo ti awọn apoti ti o ya sọtọ. Awọn irinṣẹ pinpin ati awọn paati iṣakoso ni a kọ sinu Rust ati pinpin labẹ awọn iwe-aṣẹ MIT ati Apache 2.0. O ṣe atilẹyin ṣiṣiṣẹ Bottlerocket lori Amazon ECS, VMware ati AWS EKS Kubernetes awọn iṣupọ, bakannaa ṣiṣẹda aṣa aṣa ati awọn atẹjade ti o gba laaye lilo awọn oriṣiriṣi orchestration ati awọn irinṣẹ akoko asiko fun awọn apoti.

Pipinpin n pese aworan eto aibikita ati imudojuiwọn laifọwọyi ti o pẹlu ekuro Linux ati agbegbe eto iwonba, pẹlu awọn paati pataki lati ṣiṣe awọn apoti. Ayika naa pẹlu oluṣakoso eto eto, ile-ikawe Glibc, ohun elo Kọ Buildroot, agberu bata GRUB, oluṣeto nẹtiwọọki buburu, akoko asiko ti a fi sinu apoti fun awọn apoti ti o ya sọtọ, pẹpẹ orchestration eiyan Kubernetes, aws-iam-authenticator, ati Amazon. ECS oluranlowo.

Apoti irinṣẹ orchestration wa ni lọtọ isakoso eiyan ti o ti wa ni sise nipa aiyipada ati isakoso nipasẹ awọn API ati AWS SSM Aṣoju. Aworan ipilẹ ko ni ikarahun aṣẹ kan, olupin SSH ati awọn ede itumọ (fun apẹẹrẹ, ko si Python tabi Perl) - awọn irinṣẹ iṣakoso ati awọn irinṣẹ n ṣatunṣe aṣiṣe ni a gbe sinu apoti iṣẹ lọtọ, eyiti o jẹ alaabo nipasẹ aiyipada.

Iyatọ bọtini lati awọn ipinpinpin ti o jọra gẹgẹbi Fedora CoreOS, CentOS/ Red Hat Atomic Host jẹ idojukọ akọkọ lori ipese aabo ti o pọju ni aaye ti o lagbara aabo eto lati awọn irokeke ti o ṣeeṣe, ti o jẹ ki o nira diẹ sii lati lo awọn ailagbara ni awọn paati OS ati jijẹ ipinya eiyan. . A ṣẹda awọn apoti ni lilo awọn ọna ṣiṣe ekuro Linux boṣewa - awọn akojọpọ, awọn aaye orukọ ati awọn aaya. Fun ipinya afikun, pinpin nlo SELinux ni ipo “fifipa” ipo.

Awọn ipin root ti wa ni gbigbe kika-nikan, ati / ati be be lo ti gbe awọn eto ni tmpfs ati mu pada si ipo atilẹba rẹ lẹhin atunbere. Iyipada taara ti awọn faili ni /etc directory, gẹgẹ bi awọn /etc/resolv.conf ati /etc/containerd/config.toml, ko ni atilẹyin - lati fi awọn eto pamọ patapata, o gbọdọ lo API tabi gbe iṣẹ naa sinu awọn apoti lọtọ. module dm-verity ti wa ni lilo lati cryptographicly mọ daju awọn iyege ti awọn root ipin, ati ti o ba ohun igbiyanju lati yipada data ni awọn Àkọsílẹ ẹrọ ipele ti wa ni ri, awọn eto atunbere.

Pupọ julọ awọn paati eto ni a kọ sinu Rust, eyiti o pese awọn ẹya ailewu-iranti lati yago fun awọn ailagbara ti o ṣẹlẹ nipasẹ awọn iraye si iranti ọfẹ, awọn ifisilẹ itọka asan, ati awọn ifasilẹ ifipamọ. Nigbati o ba n kọle nipasẹ aiyipada, awọn ipo iṣakojọpọ “-enable-default-pie” ati “-enable-default-ssp” ni a lo lati jẹki aileto ti aaye adirẹsi faili ti o ṣiṣẹ (PIE) ati aabo lodi si ṣiṣan ṣiṣan nipasẹ iyipada canary. Fun awọn idii ti a kọ sinu C/C++, awọn asia “-Odi”, “-Werror=aabo-kika”, “-Wp,-D_FORTIFY_SOURCE=2”, “-Wp,-D_GLIBCXX_ASSERTIONS” ati “-fstack-clash” jẹ afikun. sise -idaabobo".

Ninu itusilẹ tuntun:

  • Atilẹyin ti a ṣafikun fun awọn digi iforukọsilẹ aworan eiyan.
  • Ṣe afikun agbara lati lo awọn iwe-ẹri ti ara ẹni.
  • Aṣayan ti a ṣafikun lati tunto orukọ olupin.
  • Ẹya aiyipada ti eiyan iṣakoso ti ni imudojuiwọn.
  • Fi kun topologyManagerPolicy ati topologyManagerScope eto fun kubelet.
  • Atilẹyin ti a ṣafikun fun funmorawon ekuro nipa lilo algoridimu zstd.
  • Agbara lati gbe awọn ẹrọ foju sinu VMware ni ọna kika OVA (Open Virtualization) ti pese.
  • Ẹya pinpin aws-k8s-1.21 ti ni imudojuiwọn pẹlu atilẹyin fun Kubernetes 1.21. Atilẹyin fun aws-k8s-1.16 ti dawọ duro.
  • Awọn ẹya akojọpọ imudojuiwọn ati awọn igbẹkẹle fun ede Rust.

orisun: opennet.ru

Fi ọrọìwòye kun