systemd համակարգի մենեջերի թողարկում 243

Հինգ ամիս զարգացումից հետո ներկայացված համակարգի կառավարչի թողարկում համակարգված 243. Նորարարություններից կարելի է նշել համակարգում ցածր հիշողության համար կարգավորիչի PID 1-ին ինտեգրումը, միավորի տրաֆիկի ֆիլտրման համար սեփական BPF ծրագրերը կցելու աջակցությունը, համակարգային ցանցի բազմաթիվ նոր տարբերակներ, ցանցի թողունակության մոնիտորինգի ռեժիմ: ինտերֆեյսներ, որոնք լռելյայն հնարավորություն են տալիս 64-բիթանոց համակարգերում 22-բիթանոց PID համարներ 16-բիթանոցի փոխարեն, անցում cgroups-ի միասնական հիերարխիայի, ներառում systemd-network-generator-ում:

Խոշոր փոփոխություններ.

  • Միջուկի ստեղծած ազդանշանների ճանաչումը հիշողությունից դուրս գալու մասին (Out-Of-Memory, OOM) ավելացվել է PID 1 մշակողին՝ հիշողության սպառման սահմանաչափին հասած միավորները հատուկ վիճակ տեղափոխելու համար՝ դրանք դադարեցնելու կամընտիր ունակությամբ: կամ դադարեցնել;
  • Միավոր ֆայլերի համար նոր պարամետրեր IPIngressFilterPath և
    IPEgressFilterPath-ը, որը թույլ է տալիս միացնել BPF ծրագրերը կամայական մշակողների հետ՝ այս միավորի հետ կապված գործընթացների արդյունքում առաջացած մուտքային և ելքային IP փաթեթները զտելու համար: Առաջարկվող հնարավորությունները թույլ են տալիս ստեղծել մի տեսակ firewall systemd ծառայությունների համար: Գրելու օրինակ պարզ ցանցային զտիչ, որը հիմնված է BPF-ի վրա;

  • «Մաքուր» հրամանն ավելացվել է systemctl կոմունալ հավելվածին՝ քեշը, գործարկման ժամանակի ֆայլերը, կարգավիճակի տեղեկատվությունը և տեղեկամատյանների տեղեկատուները ջնջելու համար:
  • systemd-networkd-ն ավելացնում է MACsec, nlmon, IPVTAP և Xfrm ցանցային ինտերֆեյսերի աջակցություն;
  • systemd-networkd-ն իրականացնում է DHCPv4 և DHCPv6 կույտերի առանձին կազմաձևում՝ կազմաձևման ֆայլի «[DHCPv4]» և «[DHCPv6]» բաժինների միջոցով: Ավելացրել է RoutesToDNS տարբերակը՝ DNS սերվերին առանձին երթուղի ավելացնելու համար, որը նշված է DHCP սերվերից ստացված պարամետրերում (այնպես, որ երթևեկությունը դեպի DNS ուղարկվի նույն հղումով, ինչ DHCP-ից ստացված հիմնական երթուղին): DHCPv4-ի համար ավելացվել են նոր տարբերակներ. MaxAttempts - հասցե ստանալու հարցումների առավելագույն քանակը, BlackList - DHCP սերվերների սև ցուցակ, SendRelease - հնարավորություն է տալիս ուղարկել DHCP RELEASE հաղորդագրություններ նիստի ավարտից հետո;
  • Systemd-analyze կոմունալում ավելացվել են նոր հրամաններ.
    • «systemd-analyze timestamp» - ժամանակի վերլուծություն և փոխակերպում;
    • «systemd-analyze timepan» - ժամանակաշրջանների վերլուծություն և փոխակերպում.
    • «systemd-analyze condition» - ConditionXYZ արտահայտությունների վերլուծություն և փորձարկում;
    • «systemd-analyze exit-status» - ելքի կոդերի վերլուծություն և փոխակերպում թվերից անունների և հակառակը.
    • «systemd-analyze unit-files» - Ցուցակում է միավորների և միավորի անունների բոլոր ֆայլերի ուղիները:
  • Ընտրանքներ SuccessExitStatus, RestartPreventExitStatus և
    RestartForceExitStatus-ն այժմ աջակցում է ոչ միայն թվային վերադարձի կոդերը, այլև դրանց տեքստային նույնացուցիչները (օրինակ՝ «DATAERR»): Դուք կարող եք դիտել նույնացուցիչներին հատկացված կոդերի ցանկը՝ օգտագործելով «sytemd-analyze exit-status» հրամանը;

  • «Ջնջել» հրամանն ավելացվել է networkctl կոմունալ՝ վիրտուալ ցանցային սարքերը ջնջելու համար, ինչպես նաև «—stats» տարբերակը՝ սարքի վիճակագրությունը ցուցադրելու համար.
  • SpeedMeter-ի և SpeedMeterIntervalSec-ի կարգավորումներն ավելացվել են networkd.conf-ին՝ ցանցային միջերեսների թողունակությունը պարբերաբար չափելու համար: Չափման արդյունքներից ստացված վիճակագրությունը կարելի է դիտել «networkctl status» հրամանի ելքում;
  • Ավելացվեց նոր կոմունալ systemd-network-generator ֆայլեր ստեղծելու համար
    .network, .netdev և .link՝ հիմնված IP կարգավորումների վրա, որոնք փոխանցվել են Linux միջուկի հրամանի տողով Dracut կարգավորումների ձևաչափով գործարկվելիս;

  • Sysctl «kernel.pid_max» արժեքը 64-բիթանոց համակարգերում այժմ լռելյայն սահմանվել է 4194304 (22-բիթանոց PID-ներ 16-բիթ-ի փոխարեն), ինչը նվազեցնում է բախումների հավանականությունը PID-ներ նշանակելիս, մեծացնում է միաժամանակյա քանակի սահմանը: ընթացիկ գործընթացները և դրական ազդեցություն ունի անվտանգության վրա: Փոփոխությունը կարող է հանգեցնել համատեղելիության խնդիրների, սակայն նման խնդիրներ գործնականում դեռևս չեն հաղորդվել.
  • Լռելյայնորեն, կառուցման փուլն անցնում է միասնական հիերարխիայի cgroups-v2 («-Ddefault-hierarchy=միավորված»): Նախկինում լռելյայն հիբրիդ ռեժիմն էր (“-Ddefault-hierarchy=hybrid”);
  • Համակարգային զանգերի ֆիլտրի (SystemCallFilter) վարքագիծը փոխվել է, որն արգելված համակարգային զանգի դեպքում այժմ դադարեցնում է ամբողջ գործընթացը, այլ ոչ թե առանձին շղթաների, քանի որ առանձին շղթաների դադարեցումը կարող է հանգեցնել անկանխատեսելի խնդիրների: Փոփոխությունները կիրառվում են միայն այն դեպքում, եթե ունեք Linux միջուկ 4.14+ և libseccomp 2.4.0+;
  • Չարտոնված ծրագրերին տրվում է ICMP Echo (ping) փաթեթներ ուղարկելու հնարավորություն՝ սահմանելով sysctl «net.ipv4.ping_group_range» խմբերի ողջ տիրույթի համար (բոլոր գործընթացների համար);
  • Կառուցման գործընթացը արագացնելու համար մարդու ձեռնարկների ստեղծումը լռելյայն դադարեցվել է (ամբողջական փաստաթղթեր ստեղծելու համար անհրաժեշտ է օգտագործել «-Dman=true» կամ «-Dhtml=true» տարբերակը html ձևաչափով ձեռնարկների համար): Փաստաթղթերը դիտելը ավելի հեշտ դարձնելու համար ներառված են երկու սցենար՝ build/man/man և build/man/html՝ հետաքրքրություն ներկայացնող ձեռնարկներ ստեղծելու և նախադիտելու համար;
  • Դոմենների անունները ազգային այբուբենների նիշերով մշակելու համար լռելյայն օգտագործվում է libidn2 գրադարանը (libidn-ը վերադարձնելու համար օգտագործեք «-Dlibidn=true» տարբերակը);
  • /usr/sbin/halt.local գործարկվող ֆայլի աջակցությունը, որն ապահովում էր գործառույթներ, որոնք լայնորեն տարածված չէին բաշխումների մեջ, դադարեցվել է: Անջատման ժամանակ հրամանների գործարկումը կազմակերպելու համար խորհուրդ է տրվում օգտագործել սկրիպտներ /usr/lib/systemd/system-shutdown/-ում կամ սահմանել նոր միավոր, որը կախված է final.target-ից;
  • Անջատման վերջին փուլում systemd-ն այժմ ավտոմատ կերպով մեծացնում է log մակարդակը sysctl «kernel.printk»-ում, որը լուծում է տեղեկամատյանում ցուցադրելու խնդիրը, որոնք տեղի են ունեցել անջատման հետագա փուլերում, երբ սովորական գրանցման դևերն արդեն ավարտվել են: ;
  • Journalctl-ում և այլ կոմունալ ծառայություններում, որոնք ցուցադրում են տեղեկամատյանները, նախազգուշացումները ընդգծված են դեղինով, իսկ աուդիտի գրառումները՝ կապույտով, որպեսզի տեսողականորեն ընդգծվեն դրանք ամբոխից:
  • $PATH միջավայրի փոփոխականում դեպի bin/ ուղին այժմ գալիս է դեպի sbin/ ուղուց առաջ, այսինքն. եթե երկու դիրեկտորիաներում էլ կան գործարկվող ֆայլերի նույնական անուններ, ապա ֆայլը կկատարվի bin/-ից;
  • systemd-logind-ը ապահովում է SetBrightness() զանգ՝ յուրաքանչյուր նստաշրջանի հիման վրա էկրանի պայծառությունը անվտանգ փոխելու համար;
  • «--wait-for-initialization» դրոշը ավելացվել է «udevadm info» հրամանին՝ սպասելու սարքի սկզբնավորմանը.
  • Համակարգի բեռնման ժամանակ PID 1 մշակիչն այժմ ցուցադրում է միավորների անվանումները՝ դրանց նկարագրությամբ տողի փոխարեն: Նախկին վարքագծին վերադառնալու համար կարող եք օգտագործել StatusUnitFormat տարբերակը /etc/systemd/system.conf կամ systemd.status_unit_format միջուկի տարբերակը;
  • KExecWatchdogSec տարբերակն ավելացվել է /etc/systemd/system.conf-ին watchdog PID 1-ի համար, որը սահմանում է kexec-ի միջոցով վերագործարկման ժամկետը: Հին պարամետր
    ShutdownWatchdogSec-ը վերանվանվել է RebootWatchdogSec-ի և սահմանում է անջատման կամ նորմալ վերագործարկման ժամանակ աշխատանքների ժամանակի վերջ:

  • Ծառայությունների համար ավելացվել է նոր տարբերակ ExecCondition, որը թույլ է տալիս նշել հրամաններ, որոնք կկատարվեն ExecStartPre-ից առաջ։ Հրամանի կողմից վերադարձված սխալի կոդի հիման վրա որոշում է կայացվում միավորի հետագա կատարման մասին. եթե 0 ծածկագիրը վերադարձվում է, միավորի գործարկումը շարունակվում է, եթե 1-ից մինչև 254-ը լուռ ավարտվում է առանց ձախողման դրոշակի, եթե 255-ը ավարտվում է ձախողման դրոշ;
  • Ավելացրել է նոր ծառայություն systemd-pstore.service՝ տվյալներ sys/fs/pstore/-ից հանելու և հետագա վերլուծության համար /var/lib/pstore-ում պահպանումից:
  • Նոր հրամաններ են ավելացվել timedatectl utility-ին՝ systemd-timesyncd-ի համար NTP պարամետրերը կարգավորելու ցանցային ինտերֆեյսների հետ կապված;
  • «localectl list-locales» հրամանն այլևս չի ցուցադրում UTF-8-ից այլ տեղայնացումներ;
  • Ապահովում է, որ sysctl.d/ ֆայլերում փոփոխականների նշանակման սխալներն անտեսվեն, եթե փոփոխականի անունը սկսվում է «-» գրանշանով;
  • Ծառայություն systemd-random-seed.service այժմ ամբողջությամբ պատասխանատու է Linux միջուկի կեղծ պատահական թվերի գեներատորի էնտրոպիայի լողավազանի սկզբնավորման համար: Ծառայությունները, որոնք պահանջում են ճիշտ նախաստորագրված /dev/urandom, պետք է գործարկվեն systemd-random-seed.service-ից հետո;
  • Systemd-boot boot loader-ն ապահովում է կամընտիր աջակցության հնարավորություն սերմերի ֆայլ EFI համակարգի բաժանման (ESP) պատահական հաջորդականությամբ;
  • Նոր հրամաններ են ավելացվել bootctl կոմունալ. «bootctl random-seed»՝ ESP-ում seed ֆայլ ստեղծելու համար և «bootctl is-installed»՝ systemd-boot boot loader-ի տեղադրումը ստուգելու համար: bootctl-ը նաև հարմարեցվել է՝ ցուցադրելու նախազգուշացումներ բեռնման մուտքերի սխալ կազմաձևման մասին (օրինակ, երբ միջուկի պատկերը ջնջված է, բայց այն բեռնելու համար մուտքագրված է մնացել);
  • Ապահովում է փոխանակման բաժանման ավտոմատ ընտրություն, երբ համակարգը անցնում է քնի ռեժիմ: Բաժինն ընտրվում է կախված դրա համար կազմաձևված առաջնահերթությունից, իսկ նույնական առաջնահերթությունների դեպքում՝ ազատ տարածության քանակից.
  • /etc/crypttab-ին ավելացվել է keyfile-timeout տարբերակ՝ սահմանելու համար, թե որքան ժամանակ կսպասի գաղտնագրման բանալի ունեցող սարքը, նախքան գաղտնաբառ կպահանջի գաղտնագրված բաժին մուտք գործելու համար;
  • Ավելացվեց IOWeight տարբերակ՝ BFQ ժամանակացույցի I/O քաշը սահմանելու համար;
  • systemd-ը լուծեց ավելացրեց «խիստ» ռեժիմ DNS-over-TLS-ի համար և ներդրեց միայն դրական DNS պատասխանները քեշավորելու հնարավորությունը («Cache no-negative» solved.conf-ում);
  • VXLAN-ի համար systemd-networkd-ն ավելացրել է GenericProtocolExtension տարբերակ՝ VXLAN արձանագրության ընդլայնումները միացնելու համար: VXLAN-ի և GENEVE-ի համար IPDoNotFragment տարբերակն ավելացվել է ելքային փաթեթների մասնատման արգելքի դրոշը սահմանելու համար.
  • Systemd-networkd-ում, «[Route]» բաժնում հայտնվել է FastOpenNoCookie տարբերակը, որը հնարավորություն է տալիս TCP կապերի արագ բացման մեխանիզմը (TFO - TCP Fast Open, RFC 7413) առանձին երթուղիների հետ կապված, ինչպես նաև TTLPropagate տարբերակը: TTL LSP (Label Switched Path) կարգավորելու համար: «Տիպ» տարբերակը ապահովում է տեղական, հեռարձակման, ցանկացած հեռարձակման, բազմակի հեռարձակման, ցանկացած և xresolve երթուղային ռեժիմների աջակցություն;
  • Systemd-networkd-ն առաջարկում է DefaultRouteOnDevice տարբերակ «[Ցանց]» բաժնում՝ տվյալ ցանցային սարքի համար կանխադրված երթուղին ավտոմատ կերպով կարգավորելու համար.
  • Systemd-networkd-ն ավելացրել է ProxyARP և
    ProxyARPWifi՝ վստահված անձի ARP-ի վարքագիծը կարգավորելու համար, MulticastRouter՝ երթուղավորման պարամետրերը բազմակի հեռարձակման ռեժիմում, MulticastIGMPVersion՝ IGMP (Ինտերնետ խմբի կառավարման արձանագրություն) տարբերակը multicast-ի համար փոխելու համար;

  • Systemd-networkd-ը FooOverUDP թունելների համար ավելացրել է Local, Peer և PeerPort տարբերակներ՝ տեղական և հեռավոր IP հասցեները, ինչպես նաև ցանցի պորտի համարը կարգավորելու համար: TUN թունելների համար VnetHeader տարբերակը ավելացվել է GSO (Generic Segment Offload) աջակցությունը կարգավորելու համար;
  • systemd-networkd-ում [Match] բաժնում .network և .link ֆայլերում հայտնվել է Property տարբերակը, որը թույլ է տալիս նույնականացնել սարքերը udev-ում իրենց հատուկ հատկություններով;
  • Systemd-networkd-ում թունելների համար ավելացվել է AssignToLoopback տարբերակ, որը վերահսկում է, թե արդյոք թունելի վերջը վերագրվում է «lo» շրջադարձային սարքին;
  • systemd-networkd-ը ավտոմատ կերպով ակտիվացնում է IPv6 կույտը, եթե այն արգելափակված է sysctl disable_ipv6-ի միջոցով - IPv6-ն ակտիվանում է, եթե IPv6 կարգավորումները (ստատիկ կամ DHCPv6) սահմանված են ցանցային ինտերֆեյսի համար, հակառակ դեպքում արդեն սահմանված sysctl արժեքը չի փոխվում.
  • Ցանցային ֆայլերում CriticalConnection պարամետրը փոխարինվել է KeepConfiguration տարբերակով, որն ավելի շատ միջոցներ է տրամադրում իրավիճակների սահմանման համար («այո», «ստատիկ», «dhcp-on-stop», «dhcp»), որտեղ systemd-networkd-ը պետք է: գործարկման ժամանակ չդիպչել առկա կապերին.
  • Խոցելիությունը շտկվել է CVE-2019-15718- ը, որը պայմանավորված է D-Bus ինտերֆեյսի մուտքի վերահսկման բացակայության պատճառով համակարգային լուծում: Խնդիրը թույլ է տալիս արտոնություն չունեցող օգտվողին կատարել գործողություններ, որոնք հասանելի են միայն ադմինիստրատորներին, ինչպես օրինակ՝ փոխել DNS-ի կարգավորումները և ուղղել DNS հարցումները խարդախ սերվերին.
  • Խոցելիությունը շտկվել է CVE-2019-9619- ըկապված է pam_systemd-ը ոչ ինտերակտիվ նիստերի համար միացնելու հետ, ինչը թույլ է տալիս կեղծել ակտիվ սեսիան:

Source: opennet.ru

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