Објавување на systemd system manager 252 со поддршка UKI (Unified Kernel Image).

По пет месеци развој, беше претставено изданието на системскиот менаџер systemd 252 Клучната промена во новата верзија беше интеграцијата на поддршката за модернизиран процес на подигање, што ви овозможува да ги потврдите не само кернелот и подигнувачот, туку и компонентите. на основната системска средина со користење на дигитални потписи.

Предложениот метод вклучува употреба на унифицирана слика на јадрото UKI (Unified Kernel Image) при вчитување, која комбинира обработувач за вчитување на јадрото од UEFI (UEFI boot stub), слика на јадрото Linux и initrd, системска околина вчитана во меморијата, која се користи за иницијализација пред монтирање на root датотечниот систем. Сликата UKI е спакувана како единствена извршна датотека во PE формат, која може да се вчита со користење на традиционални bootloaders или директно да се повика од UEFI фирмверот. Кога се повикува од UEFI, интегритетот и автентичноста не само на јадрото, туку и на содржината на initrd може да се потврдат со користење на дигитален потпис.

За да се пресметаат параметрите на регистрите на TPM PCR (Trusted Platform Module Platform Configuration Register) што се користат за следење на интегритетот и генерирање на дигитален потпис на сликата UKI, вклучена е нова алатка системска мерка. Јавниот клуч и придружните информации за PCR што се користат во потписот може да се вградат директно во сликата за подигање UKI (клучот и потписот се зачувани во датотека PE во полињата „.pcrsig“ и „.pcrkey“) и да се извлечат од неа со надворешен или внатрешни комунални услуги.

Особено, алатките systemd-cryptenroll, systemd-cryptenroll и systemd-creds се приспособени да ги користат овие информации, со кои можете да се осигурате дека шифрираните партиции на дискот се врзани за дигитално потпишано јадро (во овој случај, пристап до шифрирана партиција се обезбедува само ако сликата UKI поминала верификација со дигитален потпис врз основа на параметрите лоцирани во TPM).

Дополнително, вклучена е алатката systemd-pcrphase, која ви овозможува да го контролирате врзувањето на различни фази на подигање со параметрите лоцирани во меморијата на криптопроцесорите кои ја поддржуваат спецификацијата TPM 2.0 (на пример, можете да го направите клучот за декрипција на партицијата LUKS2 достапен само во почетната слика и блокирајте го пристапот до неа во подоцнежните фази преземања).

Некои други промени:

  • Осигурува дека стандардната локација е C.UTF-8, освен ако не е наведено друга локација во поставките.
  • Сега е можно да се изврши целосна операција за претходно поставена услуга („systemctl preset“) за време на првото подигање. Овозможувањето на претходно поставените поставки за време на подигање бара градење со опцијата „-Dfirst-boot-full-preset“, но се планира стандардно да се овозможи во идните изданија.
  • Единиците за управување со корисници вклучуваат контролер на ресурси на процесорот, кој овозможи да се осигура дека поставките за CPU Weight се применуваат на сите делови што се користат за поделба на системот на делови (app.slice, background.slice, session.slice) за да се изолираат ресурсите помеѓу различни кориснички услуги, кои се натпреваруваат за ресурси на процесорот. CPUWeight, исто така, ја поддржува вредноста „неактивен“ за да го активира соодветниот режим за обезбедување ресурси.
  • Во привремените („преодни“) единици и во алатката systemd-repart, се дозволуваат преовладувачки поставки со создавање на паѓачки датотеки во директориумот /etc/systemd/system/name.d/.
  • За сликите на системот, се поставува знаменцето со крајна поддршка, одредувајќи го овој факт врз основа на вредноста на новиот параметар „SUPPORT_END=“ во датотеката /etc/os-release.
  • Додадени се поставките „ConditionCredential=“ и „AssertCredential=“, кои може да се користат за игнорирање или паѓање на единици ако одредени ингеренции не се присутни во системот.
  • Додадени се поставките „DefaultSmackProcessLabel=“ и „DefaultDeviceTimeoutSec=“ на system.conf и user.conf за да се дефинира стандардното ниво на безбедност на SMACK и истек на активирање на единицата.
  • Во поставките „ConditionFirmware=“ и „AssertFirmware=“, додадена е способноста да се наведат поединечни полиња SMBIOS, на пример, да се стартува единица само ако полето /sys/class/dmi/id/board_name ја содржи вредноста „Custom Табла“, можете да наведете „ConditionFirmware=smbios“ -field(board_name = „Custom Board“)“.
  • Процесот на иницијализација (PID 1) сега има можност за увоз на акредитиви од SMBIOS полиња (Тип 11, „OEM добавувач низи“) покрај нивното дефинирање преку qemu_fwcfg, што го олеснува обезбедувањето на акредитиви. виртуелни машини и ја елиминира потребата од алатки од трети страни како што се cloud-init и ignition.
  • За време на исклучувањето, логиката за демонтирање на виртуелни датотечни системи (proc, sys) е променета и информациите за процесите што го блокираат демонтирањето на датотечните системи се зачувуваат во дневникот.
  • Филтерот за системски повик (SystemCallFilter) стандардно овозможува пристап до системскиот повик riscv_flush_icache.
  • sd-boot bootloader-от сега има можност за подигнување во мешан режим, во кој 64-битното јадро Linux Стартува од 32-битен UEFI фирмвер. Додадена е експериментална функција за автоматско применување на SecureBoot клучеви од датотеки пронајдени на ESP (EFI системска партиција).
  • Додадени се нови опции во алатката bootctl: „—all-architectures“ за инсталирање бинарни датотеки за сите поддржани EFI архитектури, „—root=“ и „—image=“ за работа со директориум или слика на дискот, „—install-source =” за дефинирање на изворот за инсталација, "-efi-boot-option-description=" за контрола на имињата на записите за подигање.
  • Командата „list-automounts“ е додадена во алатката systemctl за прикажување листа на автоматски монтирани директориуми и опцијата „--image=" за извршување на команди во однос на наведената слика на дискот. Додадени се опциите "--state=" и "--type=" на командите "прикажи" и "статус".
  • systemd-networkd додаде опции „TCPCongestionControlAlgorithm=“ за избирање на алгоритам за контрола на застојот на TCP, „KeepFileDescriptor=“ за зачувување на дескрипторот на датотеката на интерфејсите TUN/TAP, „NetLabel=“ за поставување NetLabels, „RapidCommit=“ за забрзување на конфигурацијата преку D (RFC 6). Параметарот „RouteTable=“ овозможува одредување на имињата на рутирачките табели.
  • systemd-nspawn овозможува користење на релативни патеки на датотеки во опциите "--bind=" и "--overlay=". Додадена е поддршка за параметарот „rootidmap“ на опцијата „--bind=" за да се поврзе root корисничкиот ID во контејнерот со сопственикот на монтираниот директориум на страната на домаќинот.
  • systemd-resolved стандардно користи OpenSSL како своја заднина за шифрирање (поддршката за gnutls се задржува како опција). Неподдржаните DNSSEC алгоритми сега се третираат како небезбедни наместо да враќаат грешка (SERVFAIL).
  • systemd-sysusers, systemd-tmpfiles и systemd-sysctl ја имплементираат способноста за пренос на поставки преку механизам за складирање акредитиви.
  • Додадена е команда „compare-versions“ за systemd-analyze за споредување низи со броеви на верзии (слично на „rpmdev-vercmp“ и „dpkg --compare-versions“). Додадена е способност за филтрирање единици со маска на командата „systemd-analyze dump“.
  • При изборот на повеќестепен режим на мирување (суспендирај-па-хибернирај), времето поминато во режим на подготвеност сега се избира врз основа на прогнозата за преостанатото траење на батеријата. Инстант премин во режим на мирување се случува кога останува помалку од 5% полнење на батеријата.
  • Нов излезен режим „-o short-delta“ е додаден во „journalctl“, прикажувајќи ја временската разлика помеѓу различните пораки во дневникот.
  • systemd-repart додава поддршка за креирање партиции со датотечен систем Squashfs и партиции за dm-verity, вклучително и со дигитални потписи.
  • Додадена е поставката „StopIdleSessionSec=" на systemd-logind за да се прекине неактивна сесија по одредено време.
  • Systemd-cryptenroll додаде опција „--unlock-key-file=" за да го извлече клучот за дешифрирање од датотека наместо да го поттикнува корисникот.
  • Сега е можно да се стартува алатката systemd-growfs во средини без udev.
  • systemd-backlight ја подобри поддршката за системи со повеќе графички картички.
  • Лиценцата за примерите на кодови дадени во документацијата е променета од CC0 во MIT-0.

Промени кои ја нарушуваат компатибилноста:

  • Кога го проверувате бројот на верзијата на јадрото користејќи ја директивата ConditionKernelVersion, сега се користи едноставна споредба на низи во операторите '=' и '!=', и ако операторот за споредба воопшто не е наведен, совпаѓањето на глоб-маска може да се користи со помош на знаци „*“, „?“ И '[', ']'. За да ги споредите верзиите на стилот stverscmp(), користете ги операторите '<', '>', '<=' и '>='.
  • SE етикетаLinux, што се користи за проверка на пристапот од единечна датотека, сега се чита во фазата на вчитување на датотеката, наместо во фазата на проверка на пристап.
  • Условот „ConditionFirstBoot“ сега се активира при првото подигање на системот само директно во фазата на подигање и враќа „неточно“ кога се повикуваат единици откако ќе заврши подигањето.
  • Во 2024 година, systemd планира да престане да го поддржува механизмот за ограничување на ресурсите cgroup v1, кој беше застарен во systemd изданието 248. На администраторите им се препорачува однапред да се грижат за мигрирање на услугите базирани на cgroup v2 во cgroup v1. Клучната разлика помеѓу cgroups v2 и v1 е употребата на заедничка хиерархија на cgroups за сите видови ресурси, наместо посебни хиерархии за распределба на ресурсите на процесорот, за регулирање на потрошувачката на меморија и за I/O. Посебните хиерархии доведуваат до тешкотии во организирањето на интеракцијата помеѓу ракувачите и до дополнителни трошоци за ресурсите на јадрото при примена на правила за процес референциран во различни хиерархии.
  • Во втората половина на 2023 година, планираме да ја прекинеме поддршката за хиерархиите на поделени директориуми, каде што /usr е монтиран одделно од коренот, или /bin и /usr/bin, /lib и /usr/lib се одвоени.

Извор: opennet.ru

Купете доверлив хостинг за сајтови со DDoS заштита, VPS VDS сервери 🔥 Купете сигурен веб-хостинг со DDoS заштита, VPS VDS сервери | ProHoster