Vrystelling van Bottlerocket 1.2, 'n verspreiding gebaseer op geïsoleerde houers

Die vrystelling van die Linux-verspreiding Bottlerocket 1.2.0 is beskikbaar, ontwikkel met die deelname van Amazon vir die doeltreffende en veilige bekendstelling van geïsoleerde houers. Die verspreiding se gereedskap en beheerkomponente is in Rust geskryf en onder die MIT- en Apache 2.0-lisensies versprei. Dit ondersteun die loop van Bottlerocket op Amazon ECS-, VMware- en AWS EKS Kubernetes-klusters, sowel as die skep van pasgemaakte bouwerk en uitgawes wat die gebruik van verskeie orkestrasie- en looptydnutsmiddels vir houers moontlik maak.

Die verspreiding verskaf 'n atomies en outomaties bygewerkte ondeelbare stelselbeeld wat die Linux-kern insluit en 'n minimale stelselomgewing wat slegs die komponente insluit wat nodig is om houers te laat loop. Die omgewing sluit die systemd-stelselbestuurder, die Glibc-biblioteek, die Buildroot-bounutsding, die GRUB-selflaaier, die bose netwerkkonfigureerder, die containerd-geïsoleerde houer-looptyd, die Kubernetes-houerorkestrasieplatform, die aws-iam-authenticator en die Amazon ECS-agent in .

Die houer-orkestrasie-nutsgoed kom in 'n aparte bestuurshouer wat by verstek geaktiveer is en bestuur word deur die API en AWS SSM Agent. Die basisbeeld het nie 'n opdragdop, 'n SSH-bediener en geïnterpreteerde tale nie (byvoorbeeld geen Python of Perl nie) - administratiewe en ontfoutingsnutsgoed word na 'n aparte dienshouer geskuif, wat by verstek gedeaktiveer is.

Die belangrikste verskil van soortgelyke verspreidings soos Fedora CoreOS, CentOS/Red Hat Atomic Host is die primêre fokus op die verskaffing van maksimum sekuriteit in die konteks van die versterking van stelselbeskerming teen moontlike bedreigings, bemoeilik die uitbuiting van kwesbaarhede in OS-komponente en die verhoging van houer-isolasie. Houers word geskep deur die gewone meganismes van die Linux-kern te gebruik - cgroups, namespaces en seccomp. Vir addisionele isolasie gebruik die verspreiding SELinux in die "afdwingende" modus.

Die wortelpartisie word in leesalleen-modus gemonteer, en die partisie met /etc-instellings word in tmpfs gemonteer en na 'n herbegin na sy oorspronklike toestand herstel. Direkte wysiging van lêers in die /etc-gids, soos /etc/resolv.conf en /etc/containerd/config.toml, word nie ondersteun nie - om instellings permanent te stoor, moet jy die API gebruik of die funksionaliteit na aparte houers skuif. Vir kriptografiese verifikasie van die integriteit van die wortelpartisie, word die dm-verity-module gebruik, en as 'n poging om data op die bloktoestelvlak te wysig bespeur word, herlaai die stelsel.

Die meeste stelselkomponente is in Rust geskryf, wat geheue-veilige nutsmiddels verskaf om kwesbaarhede te vermy wat veroorsaak word deur die aanspreek van 'n geheue-area nadat dit vrygestel is, nulwysers af te lei, en bufferoorskryding. Wanneer daar gebou word, word die samestellingmodusse "--enable-default-pie" en "--enable-default-ssp" by verstek gebruik om adresspasie-randomisering van uitvoerbare lêers (PIE) en beskerming teen stapeloorloop deur kanarie-etiketvervanging moontlik te maak. Vir pakkette geskryf in C/C++, is die "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" en "-fstack-clash" vlae addisioneel ingesluit -beskerming.

In die nuwe vrystelling:

  • Bygevoeg ondersteuning vir houer beeld register spieëls.
  • Bygevoeg die vermoë om self-ondertekende sertifikate te gebruik.
  • Bygevoeg opsie om gasheernaam op te stel.
  • Die verstekweergawe van die administratiewe houer is opgedateer.
  • Bygevoeg topologyManagerPolicy en topologyManagerScope instellings vir kubelet.
  • Bygevoeg ondersteuning vir kern kompressie met behulp van die zstd algoritme.
  • Die vermoë om virtuele masjiene in VMware in die OVA (Open Virtualization Format)-formaat te laai, word verskaf.
  • Die verspreidingsweergawe aws-k8s-1.21 is opgedateer met ondersteuning vir Kubernetes 1.21. Ondersteuning vir aws-k8s-1.16 is gestaak.
  • Opgedateerde pakketweergawes en afhanklikhede vir die Rust-taal.

Bron: opennet.ru

Voeg 'n opmerking