Amazon yritys ensimmäinen merkittävä julkaisu Linux-jakelulle , joka on suunniteltu erillisten säilöjen tehokkaaseen ja turvalliseen käyttöön. Jakelun työkalut ja ohjauskomponentit on kirjoitettu Rust- ja Lisensoitu MIT- ja Apache 2.0 -lisensseillä. Projektia kehitetään GitHubissa ja se on avoin yhteisön osallistumisille. Järjestelmän käyttöönottokuva on rakennettu x86_64- ja Aarch64-arkkitehtuureille. Käyttöjärjestelmä on mukautettu toimimaan Amazon ECS- ja AWS EKS Kubernetes -klustereissa. työkaluja mukautettujen koontiversioiden ja versioiden luomiseen, jotka voivat käyttää muita orkestrointityökaluja, ytimiä ja säilöjen suoritusympäristöjä.
Jakelu tarjoaa Linux-ytimen ja minimaalisen järjestelmäympäristön, joka sisältää vain konttien suorittamiseen tarvittavat komponentit. Projektissa käytettyihin paketteihin kuuluvat systemd-järjestelmänhallinta, Glibc-kirjasto ja käännöstyökalut.
Buildroot, GRUB-käynnistyslataaja, verkkokonfiguraattori , erillisten säilöjen ajonaikainen käyttö , Kubernetes-konttien orkestrointialusta, aws-iam-authenticator-todennustyökalu ja Amazon ECS -agentti.
Jakelu päivittyy atomisesti ja toimitetaan jakamattomana järjestelmäkuvana. Järjestelmälle on varattu kaksi levyosiota, joista toinen sisältää aktiivisen järjestelmän ja toista käytetään päivityksen kopioimiseen. Päivityksen asentamisen jälkeen toinen osio aktivoituu, kun taas ensimmäinen osio tallentaa järjestelmän edellisen version seuraavaan päivitykseen asti, jolloin käyttäjät voivat palata siihen, jos ongelmia ilmenee. Päivitykset asennetaan automaattisesti ilman järjestelmänvalvojan toimia.
Keskeinen ero vastaaviin jakeluihin, kuten Fedora CoreOS ja CentOS/Red Hat Atomic Host, on ensisijainen keskittyminen tarjoamaan Järjestelmän suojauksen vahvistamiseksi potentiaalisia uhkia vastaan, käyttöjärjestelmäkomponenttien haavoittuvuuksien hyödyntämisen vaikeuttamiseksi ja säilöjen eristämisen lisäämiseksi säilöt luodaan käyttämällä Linux-ytimen vakiomekanismeja – cgroups, namespaces ja seccomp. Lisäeristystä varten jakelu käyttää SELinuxia "valvovassa" tilassa, ja juuriosion eheyden kryptografiseen varmentamiseen käytetään moduulia. Jos lohkolaitetasolla havaitaan yritys muokata tietoja, järjestelmä käynnistyy uudelleen.
Juuriosio liitetään vain luku -tilassa, ja /etc-määritysosio liitetään tmpfs-osioon ja palauttaa alkuperäisen tilaansa uudelleenkäynnistyksen jälkeen. /etc-hakemiston tiedostojen, kuten /etc/resolv.conf ja /etc/containerd/config.toml, suoraa muokkaamista ei tueta. Jos haluat säilyttää asetukset, käytä API:a tai siirrä tämä toiminto erillisiin säilöihin.
Useimmat järjestelmäkomponentit on kirjoitettu Rust-kielellä, joka tarjoaa muistia turvaavia ominaisuuksia, jotka estävät haavoittuvuuksia, joita aiheuttavat use-after-free-toiminto, null-osoittimen viittausvirhe ja puskurin ylivuoto. Oletuskoonti käyttää "--enable-default-pie"- ja "--enable-default-ssp"-käännöstiloja osoiteavaruuden satunnaistamisen mahdollistamiseksi suoritettaville tiedostoille () ja pinon ylivuotosuojaus canary-substituution avulla.
C/C++:lla kirjoitettujen pakettien osalta on lisätty asetuksia.
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" ja "-fstack-clash-protection".
Konttien orkestrointityökalut toimitetaan erikseen , joka on oletuksena käytössä ja jota ohjataan ja AWS SSM Agent. Peruslevykuvasta puuttuu komentotulkki, SSH-palvelin ja tulkitut kielet (esimerkiksi ei Pythonia tai Perliä) – järjestelmänvalvojan työkalut ja virheenkorjaustyökalut sijaitsevat , joka on oletuksena poistettu käytöstä.
Lähde: opennet.ru
