Amazon stel Bottlerocket 1.0.0 vry, Linux-verspreiding gebaseer op geïsoleerde houers

Amazon Maatskappy aangebied eerste beduidende vrystelling van 'n toegewyde Linux-verspreiding Botteldop 1.0.0, ontwerp om geïsoleerde houers doeltreffend en veilig te laat loop. Die verspreiding se gereedskap en beheerkomponente is geskryf in Rust en versprei onder MIT- en Apache 2.0-lisensies. Die projek word op GitHub ontwikkel en is beskikbaar vir deelname deur gemeenskapslede. Die stelselontplooiingsbeeld word gegenereer vir x86_64- en Aarch64-argitekture. Die bedryfstelsel is aangepas om op Amazon ECS en AWS EKS Kubernetes-klusters te loop. Word voorsien gereedskap om jou eie samestellings en uitgawes te skep, wat ander orkestrasie-instrumente, pitte en looptyd vir houers kan gebruik.

Die verspreiding verskaf die Linux-kern en 'n minimale stelselomgewing, insluitend slegs die komponente wat nodig is om houers uit te voer. Onder die pakkette wat by die projek betrokke is, is die stelselbestuurder systemd, die Glibc-biblioteek en die monteergereedskap
Buildroot, GRUB selflaaiprogram, netwerkkonfigurator goddelose, looptyd vir geïsoleerde houers bevat, Kubernetes-houerorkestrasieplatform, aws-iam-authenticator, en Amazon ECS-agent.

Die verspreiding word atomies opgedateer en word in die vorm van 'n ondeelbare stelselbeeld gelewer. Twee skyfpartisies word vir die stelsel toegeken, waarvan een die aktiewe stelsel bevat, en die opdatering word na die tweede gekopieer. Nadat die opdatering ontplooi is, word die tweede partisie aktief, en in die eerste, totdat die volgende opdatering arriveer, word die vorige weergawe van die stelsel gestoor, waarna jy kan terugrol as probleme opduik. Opdaterings word outomaties geïnstalleer sonder administrateur ingryping.

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, wat dit moeiliker maak om kwesbaarhede in OS-komponente te ontgin en die isolasie van houers te verhoog. Houers word geskep met behulp van standaard Linux-kernmeganismes - cgroups, naamruimtes en seccomp. Vir addisionele isolasie gebruik die verspreiding SELinux in die "afdwingende" modus, en die module word gebruik vir kriptografiese verifikasie van die integriteit van die wortelpartisie dm-waarheid. As 'n poging om data op die bloktoestelvlak te wysig bespeur word, herlaai die stelsel.

Die wortelpartisie is leesalleen gemonteer, en die /etc-instellingspartisie 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.

Die meeste stelselkomponente is in Rust geskryf, wat geheue-veilige kenmerke bied om kwesbaarhede te vermy wat veroorsaak word deur navrye geheuetoegang, nulwyserverwysings en bufferoorskryding. Wanneer by verstek gebou word, word die "--enable-default-pie" en "--enable-default-ssp" samestellingsmodusse gebruik om ewekansigheid van die adresspasie van uitvoerbare lêers (PIE) en stapel oorloopbeskerming deur kanarievervanging.
Vir pakkette wat in C/C++ geskryf is, is bykomende vlae ingesluit
"-Wall", "-Werror=formaat-sekuriteit", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" en "-fstack-clash-protection".

Houer orkestrasie gereedskap word afsonderlik verskaf beheerhouer, wat by verstek geaktiveer en beheer word via API en AWS SSM Agent. Die basisbeeld het nie 'n opdragdop, SSH-bediener en geïnterpreteerde tale nie (byvoorbeeld geen Python of Perl nie) - administratiewe gereedskap en ontfoutingsnutsgoed is geleë in aparte dienshouer, wat by verstek gedeaktiveer is.

Bron: opennet.ru

Voeg 'n opmerking