Amazon оқшауланған контейнерлерге негізделген Linux дистрибуциясы Bottlerocket 1.0.0 нұсқасын шығарады

Амазонка ұсынылған арнайы Linux дистрибутивінің бірінші маңызды шығарылымы Бөтелке қалтасы 1.0.0, оқшауланған контейнерлерді тиімді және қауіпсіз іске қосуға арналған. Бөлу құралдары мен басқару құрамдастары Rust және тілінде жазылған кеңейтіңіз MIT және Apache 2.0 лицензиялары бойынша. Жоба GitHub сайтында әзірленуде және қауымдастық мүшелерінің қатысуы үшін қолжетімді. Жүйені орналастыру кескіні x86_64 және Aarch64 архитектуралары үшін жасалады. ОЖ Amazon ECS және AWS EKS Kubernetes кластерлерінде жұмыс істеуге бейімделген. қамтамасыз етілген басқа оркестрлік құралдарды, ядроларды және контейнерлер үшін орындалу уақытын пайдалана алатын жеке жинақтар мен басылымдарды жасауға арналған құралдар.

Тарату Linux ядросын және ең аз жүйелік ортаны, соның ішінде контейнерлерді іске қосу үшін қажетті құрамдастарды ғана қамтамасыз етеді. Жобаға қатысатын пакеттердің арасында жүйелік менеджер systemd, Glibc кітапханасы және құрастыру құралдары бар
Buildroot, GRUB жүктеушісі, желі конфигураторы зұлым, оқшауланған контейнерлер үшін жұмыс уақыты контейнер, Kubernetes контейнерлік оркестрі платформасы, aws-iam-аутентификатор және Amazon ECS агенті.

Бөлу атомдық түрде жаңартылады және бөлінбейтін жүйе кескіні түрінде жеткізіледі. Жүйе үшін екі диск бөлімі бөлінген, олардың біреуі белсенді жүйені қамтиды, ал жаңарту екіншісіне көшіріледі. Жаңарту енгізілгеннен кейін екінші бөлім белсенді болады және біріншісінде, келесі жаңарту келгенше, жүйенің алдыңғы нұсқасы сақталады, егер проблемалар туындаса, оны кері қайтаруға болады. Жаңартулар әкімшінің араласуынсыз автоматты түрде орнатылады.

Fedora CoreOS, CentOS/Red Hat Atomic Host сияқты ұқсас дистрибутивтерден басты айырмашылығы - қамтамасыз етудегі басты назар. максималды қауіпсіздік ықтимал қауіптерден жүйені қорғауды күшейту, ОЖ компоненттеріндегі осалдықтарды пайдалануды қиындату және контейнерлердің оқшаулануын арттыру аясында. Контейнерлер Linux ядросының стандартты механизмдерін – топтарды, аттар кеңістігін және секкомпты пайдалана отырып жасалады. Қосымша оқшаулау үшін дистрибуция SELinux-ты «міндетті түрде орындау» режимінде пайдаланады, ал модуль түбірлік бөлімнің тұтастығын криптографиялық тексеру үшін пайдаланылады. dm-шындық. Құрылғыны блоктау деңгейінде деректерді өзгерту әрекеті анықталса, жүйе қайта жүктеледі.

Түбірлік бөлім тек оқу үшін орнатылады, ал /etc параметрлері бөлімі tmpfs ішінде орнатылады және қайта іске қосқаннан кейін бастапқы күйіне қалпына келтіріледі. /etc/resolv.conf және /etc/containerd/config.toml сияқты /etc каталогындағы файлдарды тікелей өзгертуге қолдау көрсетілмейді - параметрлерді біржола сақтау үшін API пайдалануыңыз немесе функцияны бөлек контейнерлерге жылжытуыңыз керек.

Жүйелік құрамдастардың көпшілігі бос жадқа кіруден, нөлдік көрсеткіш сілтемелерінен және буферден асып кетуден туындаған осалдықтарды болдырмау үшін жад үшін қауіпсіз мүмкіндіктерді қамтамасыз ететін Rust тілінде жазылған. Әдепкі бойынша құрастыру кезінде орындалатын файлдардың мекенжай кеңістігін рандомизациялауды қосу үшін «--enable-default-pie» және «--enable-default-ssp» компиляция режимдері пайдаланылады (PIE) және канарларды ауыстыру арқылы стектің толып кетуінен қорғау.
C/C++ тілінде жазылған пакеттер үшін қосымша жалаушалар қосылады
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" және "-fstack-clash-protection".

Контейнерді оркестрлеу құралдары бөлек жеткізіледі бақылау контейнері, ол әдепкі бойынша қосылады және арқылы басқарылады API және AWS SSM агенті. Негізгі кескінде пәрмен қабығы, SSH сервері және түсіндірілетін тілдер жоқ (мысалы, Python немесе Perl жоқ) - әкімшілік құралдар мен жөндеу құралдары орналасқан. бөлек қызмет көрсету контейнері, ол әдепкі бойынша өшірілген.

Ақпарат көзі: opennet.ru

пікір қалдыру