systemd система менеджери релиз 243

Беш айдан кийин иштеп чыгуу сунушталды система менеджеринин чыгарылышы 243. Инновациялардын ичинен тутумдагы эстутумдун аздыгы үчүн иштеткичтин PID 1 интеграциясын, бирдик трафигин чыпкалоо үчүн өзүңүздүн BPF программаларыңызды тиркөөнү колдоону, systemd-networkd үчүн көптөгөн жаңы варианттарды, тармактын өткөрүү жөндөмдүүлүгүн көзөмөлдөө режимин белгилей алабыз. интерфейстер, демейки боюнча 64 биттик системаларда 22 биттиктин ордуна 16 биттик PID номерлерин иштетүү, бирдиктүү круппалар иерархиясына өтүү, системалык тармак-генераторго кошуу.

Негизги өзгөрүүлөр:

  • Эстутумдун жараксыздыгы жөнүндө ядро ​​тарабынан түзүлгөн сигналдарды таануу (Out-Of-Memory, OOM) эстутум керектөө чегине жеткен бирдиктерди атайын абалга өткөрүү үчүн PID 1 иштеткичке кошулду, аларды токтотууга мажбурлоо мүмкүнчүлүгү бар. же токтотуу;
  • Бирдик файлдары үчүн IPIngressFilterPath жана жаңы параметрлери
    IPEgressFilterPath, BPF программаларын ыктыярдуу иштеткичтер менен туташтырууга мүмкүндүк берет, бул блок менен байланышкан процесстер тарабынан түзүлгөн кирүүчү жана чыгуучу IP пакеттерин чыпкалоо. Сунушталган функциялар системалык кызматтар үчүн брандмауэрдин түрүн түзүүгө мүмкүндүк берет. Мисал жазуу BPF негизинде жөнөкөй тармак чыпкасы;

  • "Таза" буйругу systemctl утилитасына кэшти, иштөө убактысынын файлдарын, статус маалыматын жана журнал каталогдорун жок кылуу үчүн кошулду;
  • systemd-networkd MACsec, nlmon, IPVTAP жана Xfrm тармак интерфейстерин колдоону кошот;
  • systemd-networkd конфигурация файлындагы “[DHCPv4]” жана “[DHCPv6]” бөлүмдөрү аркылуу DHCPv4 жана DHCPv6 стектеринин өзүнчө конфигурациясын ишке ашырат. DHCP серверинен алынган параметрлерде көрсөтүлгөн DNS серверине өзүнчө маршрутту кошуу үчүн RoutesToDNS опциясы кошулду (ошондуктан DNSке трафик DHCPден алынган негизги маршрут менен бир эле шилтеме аркылуу жөнөтүлөт). DHCPv4 үчүн жаңы опциялар кошулду: MaxAttempts - даректи алуу үчүн суроо-талаптардын максималдуу саны, BlackList - DHCP серверлеринин кара тизмеси, SendRelease - сессия аяктаганда DHCP RELEASE билдирүүлөрүн жөнөтүүнү иштетүү;
  • Systemd-analyze утилитасына жаңы буйруктар кошулду:
    • “systemd-analyze timetamp” – убакытты талдоо жана конверсиялоо;
    • “системдик-анализ убакыт аралыгы” - убакыт аралыгын талдоо жана конвертациялоо;
    • "системалык-анализ шарты" - ConditionXYZ туюнтмаларын талдоо жана сыноо;
    • “система-анализ чыгуу-статусу” - чыгуу коддорун сандардан аттарга жана тескерисинче талдоо жана конвертациялоо;
    • "systemd-analyze unit-files" - Бирдиктер жана бирдик лакап аттар үчүн бардык файл жолдорун тизмелейт.
  • Жолдор SuccessExitStatus, RestartPreventExitStatus жана
    RestartForceExitStatus эми сандык кайтаруу коддорун гана эмес, алардын текст идентификаторлорун да колдойт (мисалы, "DATAERR"). Сиз “sytemd-analyze exit-status” буйругун колдонуу менен идентификаторлорго дайындалган коддордун тизмесин көрө аласыз;

  • “Delete” буйругу networkctl утилитасына виртуалдык тармак түзүлүштөрүн жок кылуу үчүн, ошондой эле түзмөк статистикасын көрсөтүү үчүн “—stats” опциясы кошулду;
  • SpeedMeter жана SpeedMeterIntervalSec орнотуулары тармак интерфейстеринин өткөрүү жөндөмдүүлүгүн мезгил-мезгили менен өлчөө үчүн networkd.conf сайтына кошулган. Өлчөөнүн натыйжаларынан алынган статистиканы 'networkctl status' буйругунун чыгышында көрүүгө болот;
  • Файлдарды түзүү үчүн жаңы systemd-тармак генератору кошулду
    .network, .netdev жана .link Dracut орнотуулар форматында Linux ядросунун буйрук сабы аркылуу ишке киргизилгенде IP жөндөөлөрүнө негизделген;

  • 64 биттик системалардагы sysctl "kernel.pid_max" мааниси азыр демейки боюнча 4194304 (22 биттин ордуна 16 биттик PID) болуп орнотулган, бул PIDдерди дайындоодо кагылышуулардын ыктымалдыгын азайтат, бир эле учурда сандагы чекти көбөйтөт иштеп жаткан процесстер жана коопсуздукка оң таасирин тийгизет. Өзгөртүү шайкештик көйгөйлөрүнө алып келиши мүмкүн, бирок мындай маселелер иш жүзүндө билдириле элек;
  • Демейки боюнча, куруу этабы бирдиктүү иерархияга которулат cgroups-v2 (“-Ddefault-hierarchy=unified”). Мурда демейки гибрид режими болгон («-Ddefault-hierarchy=hybrid»);
  • Системалык чалуу чыпкасынын (SystemCallFilter) жүрүм-туруму өзгөртүлдү, ал тыюу салынган тутум чалуу учурда жеке жиптерди эмес, бүт процессти токтотот, анткени жеке жиптерди токтотуу күтүүсүз көйгөйлөргө алып келиши мүмкүн. Өзгөртүүлөр сизде Linux ядросу 4.14+ жана libseccomp 2.4.0+ болсо гана колдонулат;
  • Артыкчылыксыз программаларга топтордун бардык диапазону үчүн (бардык процесстер үчүн) sysctl "net.ipv4.ping_group_range" орнотуу менен ICMP Echo (ping) пакеттерин жөнөтүү мүмкүнчүлүгү берилет;
  • Куруу процессин тездетүү үчүн, адам колдонмолорунун жаралышы демейки боюнча токтотулган (толук документацияны түзүү үчүн, html форматындагы колдонмолор үчүн “-Dman=true” же “-Dhtml=true” опциясын колдонушуңуз керек). Документтерди көрүүнү жеңилдетүү үчүн, эки скрипт камтылган: кызыктуу колдонмолорду түзүү жана алдын ала көрүү үчүн build/man/man жана build/man/html;
  • Домендик аталыштарды улуттук алфавиттердин символдору менен иштетүү үчүн демейки боюнча libidn2 китепканасы колдонулат (libidn кайтаруу үчүн “-Dlibidn=true” опциясын колдонуңуз);
  • /usr/sbin/halt.local аткарылуучу файлды колдоо, дистрибуцияларда кеңири жайылтылбаган функцияларды камсыз кылуу токтотулду. Өчүрүү учурунда буйруктарды ишке киргизүүнү уюштуруу үчүн, /usr/lib/systemd/system-shutdown/ ичинде скрипттерди колдонуу же final.target көз каранды болгон жаңы бирдикти аныктоо сунушталат;
  • Өчүрүүнүн акыркы этабында, systemd азыр автоматтык түрдө sysctl "kernel.printk" журналынын деңгээлин жогорулатат, бул өчүрүүнүн кийинки этаптарында болгон окуяларды журналда көрсөтүү менен көйгөйдү чечет, качан кадимки каттоо демондору аяктагандан кийин. ;
  • Журналдарды көрсөтүүчү journalctl жана башка утилиталарда эскертүүлөр сары түс менен, ал эми аудитордук жазуулар аларды элден визуалдык түрдө бөлүп көрсөтүү үчүн көк түс менен белгиленет;
  • $PATH чөйрө өзгөрмөсүндө bin/ жолу азыр sbin/ жолунан мурун келет, б.а. эгерде эки каталогдо тең аткарылуучу файлдардын аттары болсо, bin/ файлы аткарылат;
  • systemd-logind ар бир сессиянын негизинде экрандын жарыктыгын коопсуз өзгөртүү үчүн SetBrightness() чалуу менен камсыз кылат;
  • Түзмөктүн инициализациясын күтүү үчүн “udevadm info” буйругуна “--wait-for-initialization” желекчеси кошулду;
  • Системаны жүктөө учурунда, PID 1 иштеткич азыр алардын сүрөттөлүшү менен саптын ордуна бирдиктердин аттарын көрсөтөт. Мурунку жүрүм-турумга кайтуу үчүн, /etc/systemd/system.conf ичиндеги StatusUnitFormat опциясын же systemd.status_unit_format өзөк опциясын колдонсоңуз болот;
  • PID 1 күзөтчүсү үчүн /etc/systemd/system.conf файлына KExecWatchdogSec опциясы кошулду, ал kexec аркылуу кайра иштетүү үчүн күтүү убакытын аныктайт. Эски жөндөө
    ShutdownWatchdogSec RebootWatchdogSec деп өзгөртүлдү жана өчүрүү же кадимки кайра күйгүзүү учурунда жумуштардын күтүү убактысын аныктайт;

  • Кызматтарга жаңы опция кошулду ExecCondition, бул сизге ExecStartPre чейин аткарыла турган буйруктарды көрсөтүүгө мүмкүндүк берет. Буйрук кайтарган ката кодунун негизинде бирдикти андан ары аткаруу жөнүндө чечим кабыл алынат - эгерде 0 коду кайтарылса, агрегатты ишке киргизүү улантылат, эгерде 1ден 254кө чейин ал үзгүлтүксүз желекчесиз бүтсө, 255 менен аяктайт. ийгиликсиз желек;
  • sys/fs/pstore/ жана андан аркы талдоо үчүн сактоодон /var/lib/pstoreге маалыматтарды алуу үчүн systemd-pstore.service жаңы кызматы кошулду;
  • Тармак интерфейстерине карата systemd-timesyncd үчүн NTP параметрлерин конфигурациялоо үчүн timedatectl утилитасына жаңы буйруктар кошулду;
  • "localectl list-locales" буйругу мындан ары UTF-8ден башка тилдерди көрсөтпөйт;
  • Эгерде өзгөрмө аты “-” белгиси менен башталса, sysctl.d/ файлдарындагы өзгөрмөлөрдү дайындоо каталары этибарга алынбасын камсыздайт;
  • кызмат systemd-random-seed.service азыр Linux ядросунун псевдордук сан генераторунун энтропия пулун инициализациялоо үчүн толугу менен жооптуу. Туура инициализацияланган /dev/urandom талап кылган кызматтар systemd-random-seed.service;
  • Systemd-жүктөөчү жүктөгүч колдоо үчүн кошумча мүмкүнчүлүктү камсыз кылат үрөн файлы EFI Системалык Бөлүмүндө (ESP) туш келди ырааттуулук менен;
  • Bootctl утилитасына жаңы буйруктар кошулду: ESPде үрөн файлын түзүү үчүн "bootctl random-seed" жана systemd-жүктөөчү жүктөгүчтүн орнотулушун текшерүү үчүн "bootctl орнотулган". bootctl да туура эмес конфигурацияланган жүктөө жазуулары жөнүндө эскертүүлөрдү көрсөтүү үчүн туураланган (мисалы, ядронун сүрөтү жок кылынганда, бирок аны жүктөө үчүн жазуу калганда);
  • Система уйку режимине өткөндө своп бөлүмүн автоматтык түрдө тандоону камсыздайт. Бөлүм ал үчүн конфигурацияланган артыкчылыкка жана бирдей артыкчылыктарга жараша бош орундун көлөмүнө жараша тандалат;
  • Шифрлөө ачкычы бар түзмөк шифрленген бөлүмгө кирүү үчүн сырсөз сураганга чейин канча убакыт күтөрүн белгилөө үчүн /etc/crypttab файлына ачкыч файлын күтүү опциясы кошулду;
  • BFQ пландоочу үчүн киргизүү/чыгаруу салмагын коюу үчүн IOWeight опциясы кошулду;
  • systemd тарабынан чечилди DNS-over-TLS үчүн "катуу" режимди кошту жана оң DNS жоопторун гана кэштөө мүмкүнчүлүгүн ишке ашырды (resoled.conf ичинде "Кэш жок-негатив");
  • VXLAN үчүн, systemd-networkd VXLAN протоколунун кеңейтүүлөрүн иштетүү үчүн GenericProtocolExtension опциясын кошту. VXLAN жана GENEVE үчүн IPDoNotFragment опциясы чыгуучу пакеттерге фрагментацияга тыюу салуу желегин орнотуу үчүн кошулган;
  • systemd-networkd, "[Маршрут]" бөлүмүндө, FastOpenNoCookie опциясы TCP байланыштарын (TFO - TCP Fast Open, RFC 7413) тез ачуу механизмин жеке маршруттарга, ошондой эле TTLPropagate опциясын иштетүү үчүн пайда болду. TTL LSP конфигурациялоо үчүн (Label Switched Path ). "Түр" опциясы жергиликтүү, уктуруу, каалаган, мультикаст, каалаган жана xresolve маршруттук режимдерин колдоону камсыз кылат;
  • Systemd-networkd берилген тармак түзмөгү үчүн демейки маршрутту автоматтык түрдө конфигурациялоо үчүн “[Network]” бөлүмүндө DefaultRouteOnDevice опциясын сунуштайт;
  • Systemd-networkd ProxyARP жана кошту
    Прокси ARP жүрүм-турумун орнотуу үчүн ProxyARPWifi, мультикаст режиминде маршруттук параметрлерди орнотуу үчүн MulticastRouter, мультикаст үчүн IGMP (Internet Group Management Protocol) версиясын өзгөртүү үчүн MulticastIGMPVersion;

  • Systemd-networkd жергиликтүү жана алыскы IP даректерди, ошондой эле тармак портунун номерин конфигурациялоо үчүн FooOverUDP туннелдери үчүн Local, Peer жана PeerPort опцияларын кошту. TUN туннелдери үчүн GSO (Generic Segment Offload) колдоосун конфигурациялоо үчүн VnetHeader опциясы кошулган;
  • systemd-networkd, .network жана .link файлдарында [Матчтык] бөлүмүндө, udev ичиндеги спецификалык касиеттери боюнча түзмөктөрдү аныктоого мүмкүндүк берген Property опциясы пайда болду;
  • systemd-networkd-де туннелдер үчүн AssignToLoopback опциясы кошулган, ал туннелдин аягы “lo” кайра арткы түзүлүшкө дайындалганын көзөмөлдөйт;
  • systemd-networkd sysctl disable_ipv6 аркылуу бөгөттөлсө, IPv6 стекин автоматтык түрдө активдештирет - тармак интерфейси үчүн IPv6 орнотуулары (статикалык же DHCPv6) аныкталса, IPv6 иштетилет, антпесе буга чейин коюлган sysctl мааниси өзгөрбөйт;
  • .тармак файлдарында CriticalConnection жөндөөлөрү системалык тармак тутумдары керек болгон жагдайларды аныктоо үчүн көбүрөөк каражаттарды камсыз кылган KeepConfiguration параметри менен алмаштырылган («ооба», «статикалык», «dhcp-on-stop», «dhcp») ишке киргизүүдө учурдагы байланыштарга тийбеңиз;
  • Алсыздыгы аныкталды CVE-2019-15718, D-Bus интерфейсине кирүү контролунун жоктугунан улам келип чыккан. Маселе артыкчылыксыз колдонуучуга администраторлор үчүн гана жеткиликтүү болгон операцияларды аткарууга мүмкүндүк берет, мисалы, DNS жөндөөлөрүн өзгөртүү жана DNS сурамдарын жалган серверге багыттоо;
  • Алсыздыгы аныкталды CVE-2019-9619pam_systemd интерактивдүү эмес сеанстар үчүн иштетилбөө менен байланыштуу, бул активдүү сессияны бурмалоого мүмкүндүк берет.

Source: opennet.ru

Комментарий кошуу