Amazon-ը հրապարակում է Bottlerocket 1.0.0-ը՝ Linux բաշխում, որը հիմնված է մեկուսացված կոնտեյներների վրա

Amazon- ը ներկայացրել Linux-ի հատուկ բաշխման առաջին նշանակալից թողարկումը Շշերի կաթսա 1.0.0, որը նախատեսված է մեկուսացված բեռնարկղերը արդյունավետ և անվտանգ գործարկելու համար: Բաշխման գործիքները և կառավարման բաղադրիչները գրված են Rust և տարածվել MIT և Apache 2.0 լիցենզիաների ներքո: Նախագիծը մշակվում է GitHub-ում և հասանելի է համայնքի անդամների մասնակցության համար: Համակարգի տեղակայման պատկերը ստեղծվում է x86_64 և Aarch64 ճարտարապետությունների համար: ՕՀ-ն հարմարեցված է Amazon ECS և AWS EKS Kubernetes կլաստերներում աշխատելու համար: Տրամադրված են գործիքներ՝ ստեղծելու ձեր սեփական հավաքները և հրատարակությունները, որոնք կարող են օգտագործել այլ նվագախմբային գործիքներ, միջուկներ և բեռնարկղերի գործարկման ժամանակ:

Բաշխումն ապահովում է Linux միջուկը և նվազագույն համակարգի միջավայրը, ներառյալ միայն այն բաղադրիչները, որոնք անհրաժեշտ են կոնտեյներներ գործարկելու համար: Նախագծում ներգրավված փաթեթներից են՝ system manager systemd-ը, Glibc գրադարանը և հավաքման գործիքները:
Buildroot, GRUB bootloader, ցանցի կոնֆիգուրատոր չար, մեկուսացված բեռնարկղերի գործարկման ժամանակը տարաներով, Kubernetes կոնտեյներային նվագախմբի հարթակ, aws-iam-authenticator և Amazon ECS գործակալ։

Բաշխումը թարմացվում է ատոմային եղանակով և առաքվում է անբաժանելի համակարգի պատկերի տեսքով: Համակարգին հատկացված է սկավառակի երկու բաժին, որոնցից մեկը պարունակում է ակտիվ համակարգը, իսկ թարմացումը պատճենվում է երկրորդին: Թարմացումը տեղակայելուց հետո երկրորդ բաժինն ակտիվանում է, իսկ առաջինում՝ մինչև հաջորդ թարմացման գալը, պահպանվում է համակարգի նախորդ տարբերակը, որին կարող եք հետ գլորել, եթե խնդիրներ առաջանան: Թարմացումները տեղադրվում են ավտոմատ կերպով՝ առանց ադմինիստրատորի միջամտության:

Հիմնական տարբերությունը նմանատիպ բաշխումներից, ինչպիսիք են Fedora CoreOS-ը, CentOS/Red Hat Atomic Host-ը, հիմնական ուշադրությունն է տրամադրման վրա: առավելագույն անվտանգություն հնարավոր սպառնալիքներից համակարգի պաշտպանությունն ուժեղացնելու համատեքստում, ինչը դժվարացնում է ՕՀ-ի բաղադրիչների խոցելիության օգտագործումը և բեռնարկղերի մեկուսացումը: Կոնտեյներները ստեղծվում են Linux միջուկի ստանդարտ մեխանիզմների միջոցով՝ cgroups, namespaces և seccomp: Լրացուցիչ մեկուսացման համար բաշխումն օգտագործում է SELinux «պարտադրման» ռեժիմում, իսկ մոդուլն օգտագործվում է արմատային բաժանման ամբողջականության գաղտնագրային ստուգման համար։ dm-verity. Եթե ​​հայտնաբերվի սարքի արգելափակման մակարդակում տվյալները փոփոխելու փորձ, համակարգը վերագործարկվում է:

Արմատային միջնորմը տեղադրվում է միայն կարդալու համար, իսկ /etc կարգավորումների բաժինը տեղադրվում է tmpfs-ով և վերագործարկումից հետո վերականգնվում է իր սկզբնական վիճակին: /etc գրացուցակում ֆայլերի ուղղակի փոփոխությունները, ինչպիսիք են /etc/resolv.conf և /etc/containerd/config.toml, չեն աջակցվում. կարգավորումները մշտապես պահպանելու համար դուք պետք է օգտագործեք API-ն կամ ֆունկցիոնալությունը տեղափոխեք առանձին բեռնարկղեր:

Համակարգի բաղադրիչներից շատերը գրված են Rust-ով, որն ապահովում է հիշողության համար անվտանգ գործառույթներ՝ խուսափելու համար խոցելիություններից, որոնք առաջանում են հիշողության ազատ մուտքերից, զրո ցուցիչի մատնանշումներից և բուֆերի գերազանցումից: Լռելյայն կառուցելիս «--enable-default-pie» և «-enable-default-ssp» կոմպիլյացիայի ռեժիմներն օգտագործվում են գործարկվող ֆայլերի հասցեների տարածության պատահականությունը հնարավոր դարձնելու համար (Կարկանդակ) և կույտերի արտահոսքի պաշտպանություն դեղձանիկի փոխարինման միջոցով:
C/C++-ով գրված փաթեթների համար ներառված են լրացուցիչ դրոշներ
«-Wall», «-Werror=format-security», «-Wp,-D_FORTIFY_SOURCE=2», «-Wp,-D_GLIBCXX_ASSERTIONS» և «-fstack-clash-protection»:

Կոնտեյներային նվագախմբային գործիքները տրամադրվում են առանձին հսկիչ կոնտեյներ, որը լռելյայն միացված է և վերահսկվում է միջոցով API և AWS SSM գործակալ: Հիմնական պատկերում բացակայում է հրամանի վահանակը, SSH սերվերը և մեկնաբանվող լեզուներ (օրինակ՝ ոչ Python կամ Perl) - վարչական գործիքները և վրիպազերծման գործիքները գտնվում են առանձին սպասարկման կոնտեյներ, որը լռելյայն անջատված է:

Source: opennet.ru

Добавить комментарий