Liberigo de Bottlerocket 1.1, distribuo bazita sur izolitaj ujoj

La liberigo de la Linuksa distribuo Bottlerocket 1.1.0 disponeblas, evoluigita kun la partopreno de Amazon por la efika kaj sekura lanĉo de izolitaj ujoj. La iloj kaj kontrolkomponentoj de la distribuo estas skribitaj en Rust kaj distribuitaj sub la MIT kaj Apache 2.0-licencoj. Ĝi subtenas ruladon de Bottlerrocket en Amazon ECS kaj AWS EKS Kubernetes-aretoj, kaj ankaŭ krei kutimajn konstruojn kaj eldonojn, kiuj permesas la uzon de diversaj instrumentaj kaj rultempaj iloj por ujoj.

La distribuo provizas atome kaj aŭtomate ĝisdatigitan nedivideblan sistembildon, kiu inkluzivas la Linuksan kernon kaj minimuman sisteman medion, inkluzive de nur la komponantoj necesaj por ruli ujojn. La medio inkluzivas la systemd-administranton, la Glibc-bibliotekon, la Buildroot-konstruilon, la GRUB-ŝargilon, la malvirtan retan agordilon, la containerd-rultempon por izolitaj ujoj, la Kubernetes-ujon orkestra platformo, la aws-iam-authenticator kaj la Amazon ECS. agento.

Iloj de orkestrado de ujoj venas en aparta administrada ujo, kiu estas ebligita defaŭlte kaj administrita per la API kaj AWS SSM-Agente. Al la baza bildo mankas komanda ŝelo, SSH-servilo kaj interpretitaj lingvoj (ekzemple sen Python aŭ Perl) - administraj iloj kaj sencimigaj iloj estas metitaj en apartan servan ujo, kiu estas defaŭlte malŝaltita.

La ŝlosila diferenco de similaj distribuoj kiel Fedora CoreOS, CentOS/Red Hat Atomic Host estas la ĉefa fokuso pri disponigado de maksimuma sekureco en la kunteksto de plibonigo de sistemo-protekto kontraŭ eblaj minacoj, malfaciligante ekspluati vundeblecojn en OS-komponentoj kaj pliigante ujo-izoladon. . Ujoj estas kreitaj per normaj Linukso-kernaj mekanismoj - cgroups, nomspacoj kaj seccomp. Por plia izolado, la distribuo uzas SELinux en "deviga" reĝimo.

La radikdisko estas muntita nurlegebla, kaj la /etc-agorda diskparto estas muntita en tmpfs kaj restarigita al sia origina stato post rekomenco. Rekta modifo de dosieroj en la dosierujo /etc, kiel /etc/resolv.conf kaj /etc/containerd/config.toml, ne estas subtenata - por konstante konservi agordojn, vi devas uzi la API aŭ movi la funkciojn en apartajn ujojn. La modulo dm-verity estas uzata por kriptografie kontroli la integrecon de la radika sekcio, kaj se oni detektas provon modifi datumojn ĉe la bloka aparato, la sistemo rekomencas.

La plej multaj sistemkomponentoj estas skribitaj en Rust, kiu disponigas memor-sekurajn funkciojn por eviti vundeblecojn kaŭzitajn de post-liberaj memoraliroj, nulmontriloj dereferences, kaj bufrotropasoj. Konstruante defaŭlte, la kompilreĝimoj "-enable-default-pie" kaj "-enable-default-ssp" estas uzataj por ebligi hazardigon de la plenumebla dosiera adresspaco (PIE) kaj protekton kontraŭ staksuperfluoj per kanaria anstataŭigo. Por pakaĵoj skribitaj en C/C++, la flagoj "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" kaj "-fstack-clash" estas aldone ebligita -protekto".

En la nova eldono:

  • Du novaj distribuopcioj aws-k8s-1.20 kaj vmware-k8s-1.20 kun subteno por Kubernetes 1.20 estis proponitaj. Ĉi tiuj variantoj, same kiel la ĝisdatigita versio aws-ecs-1, uzas la novan eldonon de Linukso-kerno 5.10. La ŝlosila reĝimo estas agordita al "integreco" defaŭlte (kapabloj kiuj permesas ŝanĝojn al la kuranta kerno de uzantspaco estas blokitaj). Subteno por la varianto aws-k8s-1.15 bazita sur Kubernetes 1.15 estis nuligita.
  • Amazon ECS subtenas awsvpc-reĝimon, kiu ebligas al vi asigni apartajn retajn interfacojn kaj internajn IP-adresojn por ĉiu tasko.
  • Aldonitaj agordoj por kontroli diversajn Kubernetes-parametrojn, inkluzive de QPS, naĝejo-limoj kaj la kapablo konekti al nubaj provizantoj krom AWS.
  • La bootstrap-ujo disponigas limigon de aliro al uzantdatenoj uzante SELinux.
  • Aldonita resize2fs ilo.

fonto: opennet.ru

Aldoni komenton