Bottlerocket 1.1 kaleratzea, ontzi isolatuetan oinarritutako banaketa

Bottlerocket 1.1.0 Linux banaketaren bertsioa eskuragarri dago, Amazon-en parte-hartzearekin garatua, isolatutako edukiontzien abiarazte eraginkor eta segurua lortzeko. Banaketaren tresnak eta kontrol osagaiak Rust-en idatzita daude eta MIT eta Apache 2.0 lizentzien arabera banatzen dira. Bottlerocket exekutatzen onartzen du Amazon ECS eta AWS EKS Kubernetes klusterretan, baita edukiontzietarako orkestrazio eta exekuziorako hainbat tresna erabiltzeko aukera ematen duten eraikuntza eta edizio pertsonalizatuak sortzea ere.

Banaketak atomikoki eta automatikoki eguneratutako sistemaren irudi banaezina eskaintzen du, Linux nukleoa eta sistema gutxieneko ingurunea barne hartzen dituena, edukiontziak exekutatzeko beharrezkoak diren osagaiak soilik barne. Inguruneak systemd sistema-kudeatzailea, Glibc liburutegia, Buildroot eraikitzeko tresna, GRUB abiarazte-kargatzailea, sare-konfiguratzaile gaiztoa, edukiontzi isolatuen edukiontzien exekuzio-denbora, Kubernetes edukiontzien orkestrazio plataforma, aws-iam-authenticator eta Amazon biltzen ditu. ECS agentea.

Edukiontziak orkestratzeko tresnak kudeatzeko edukiontzi bereizi batean datoz, lehenespenez gaituta dagoena eta APIaren eta AWS SSM Agentearen bidez kudeatzen dena. Oinarrizko irudiak komando-shell, SSH zerbitzaria eta interpretatutako hizkuntzak ez ditu (adibidez, Python edo Perl ez) - administrazio-tresnak eta arazketa-tresnak zerbitzu-edukiontzi bereizi batean jartzen dira, lehenespenez desgaituta dagoena.

Fedora CoreOS, CentOS/Red Hat Atomic Host bezalako antzeko banaketekiko aldea funtsezkoa da segurtasun handiena eskaintzea mehatxu posibleetatik sistemaren babesa indartzeko testuinguruan, sistema eragilearen osagaien ahuleziak ustiatzea eta edukiontzien isolamendua areagotzea zailagoa bihurtuz. . Edukiontziak Linux nukleoaren mekanismo estandarrak erabiliz sortzen dira - cgroups, namespaces eta seccomp. Isolamendu gehigarrirako, banaketak SELinux erabiltzen du "betearazteko" moduan.

Erro-partizioa irakurtzeko soilik muntatzen da, eta /etc settings partizioa tmpfs-en muntatzen da eta berrabiarazi ondoren jatorrizko egoerara berrezartzen da. /etc direktorioko fitxategiak zuzenean aldatzea, hala nola /etc/resolv.conf eta /etc/containerd/config.toml, ez da onartzen; ezarpenak betiko gordetzeko, APIa erabili behar duzu edo funtzionalitatea edukiontzi bereizietara eraman behar duzu. dm-verity modulua erro-partizioaren osotasuna kriptografikoki egiaztatzeko erabiltzen da, eta bloke gailu mailan datuak aldatzeko saiakera bat hautematen bada, sistema berrabiarazi egiten da.

Sistemaren osagai gehienak Rust-en idatzita daude, eta horrek memoriarako seguruak diren funtzioak eskaintzen ditu, memoria librearen ondorengo sarbideek, erakusle nuluen deserreferentziak eta buffer gainditzeak eragindako ahultasunak saihesteko. Lehenespenez eraikitzen denean, "-enable-default-pie" eta "-enable-default-ssp" konpilazio moduak erabiltzen dira fitxategi exekutagarriaren helbide-espazioa (PIE) ausazko aukeratzeko eta pila-gainetik babesteko kanariar ordezkapenaren bidez. C/C++-n idatzitako paketeetarako, "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" eta "-fstack-clash" markak ere badira. gaituta - babesa".

Argitalpen berrian:

  • Kubernetes 8rako euskarria duten aws-k1.20s-8 eta vmware-k1.20s-1.20 banaketa aukera berri bi proposatu dira. Aldaera hauek, baita aws-ecs-1 bertsio eguneratuak ere, Linux kernel 5.10 bertsio berria erabiltzen dute. Blokeatzeko modua "osotasuna" ezarrita dago lehenespenez (erabiltzaileen espaziotik martxan dagoen nukleoan aldaketak egiteko aukera ematen duten gaitasunak blokeatuta daude). Kubernetes 8-en oinarritutako aws-k1.15s-1.15 aldaeraren laguntza eten egin da.
  • Amazon ECS-k awsvpc sare modua onartzen du, eta horrek zeregin bakoitzerako sare-interfazeak eta barneko IP helbideak esleitzeko aukera ematen du.
  • Kubernetes-en hainbat parametro kontrolatzeko ezarpenak gehitu dira, besteak beste, QPS, igerilekuen mugak eta AWS ez den hodeiko hornitzaileetara konektatzeko gaitasuna.
  • Bootstrap edukiontziak erabiltzaileen datuetarako sarbidea mugatzen du SELinux erabiliz.
  • Resize2fs erabilgarritasuna gehitu da.

Iturria: opennet.ru

Gehitu iruzkin berria