Systemd 243 süsteemihalduri väljaanne

Pärast viit kuud arendustööd esitatud süsteemi halduri väljaanne systemd 243. Uute funktsioonid hõlmavad PID 1 mälu puuduse käsitleja integreerimist, oma BPF-programmide kinnitamise toetust unit-ite liikluse filtreerimiseks, arvukalt uusi valikuid systemd-networkd jaoks, võrgu liidesete läbilaskevõime jälgimise režiimi, 64-bitistes süsteemides 22-bitiste PID-numbrite vaikimisi kasutusele võtmist 16-bitiste asemel, ühtse cgroups hierarhia kasutusele võtmist, systemd-network-generatori lisamine.

Peamised muudatused:

  • PID 1 käsitlejale on lisatud tuumageneraatorite teavitamise äratundmine mälu puuduse (Out-Of-Memory, OOM) märkidest, et tõlkida üksused, mis on saavutanud mälutarbimise piiri, erilisse olekusse, võimaldades neid sundida lõpetada või peatada.
  • Unit-failidele on rakendatud uued parameetrid IPIngressFilterPath ja
    IPEgressFilterPath, mis võimaldavad kinnitada BPF-programme suvaliste töötlejatega sissetulevate ja väljuvate IP-pakettide filtreerimiseks, mida genereerivad käimasolevad protsessid, mis on seotud antud unit-iga. Pakutavad võimalused võimaldavad luua omamoodi tulemüüre systemd teenustele. Lihtsa BPF-põhise võrgu filtrite kirjutamise näide; простого сетевого фильтра на базе BPF;
  • Systemctl utili on lisatud käsk «clean», mis eemaldab vahemälu, käitamisfailid, staatusteabe ja logikatalooge;
  • Systemd-networkd on saanud toetuse MACsec, nlmon, IPVTAP ja Xfrm võrguliideste jaoks;
  • Systemd-networkd on rakendanud eraldi DHCPv4 ja DHCPv6 protokollide seadistused, kasutades konfigureerimisfailis sektsioone «[DHCPv4]» ja «[DHCPv6]». Lisatud on parameeter RoutesToDNS, mis võimaldab lisada eraldi marsruudi DNS-serverisse vastavalt DHCP-serverilt saadud parameetritele (et DNS-i liiklus saadetaks sama linki pidi, mis peamine marsruut, saadud DHCP-st). DHCPv4 jaoks on lisatud uued valikud: MaxAttempts — maksimaalne aadressi saamise päringute arv, BlackList — DHCP-serverite must nimekiri, SendRelease — DHCP RELEASE sõnumite saatmine sessiooni lõpetamisel;
  • Systemd-analyze utili on lisatud uusi käske:
    • «systemd-analyze timestamp» — aja analüüs ja teisendamine;
    • «systemd-analyze timespan» — ajavahemike analüüs ja teisendamine;
    • «systemd-analyze condition» — ConditionXYZ väljendite analüüs ja testimine;
    • «systemd-analyze exit-status» — lõpetamiskoodide analüüs ja teisendamine numbritest nimedeks ja vastupidi;
    • «systemd-analyze unit-files» — kõikide ühikute ja ühikute alias'ide failiteede loendi väljund.
  • Valikud SuccessExitStatus, RestartPreventExitStatus ja
    RestartForceExitStatus toetavad nüüd mitte ainult numbrilisi tagastuskoodide, vaid ka nende tekstidentifikaatoreid (nt «DATAERR»). Koodide ja identifikaatorite seose loendi vaatamiseks võite kasutada käsku «systemd-analyze exit-status»;
  • Tööriista networkctl on lisatud käsk «delete», et eemaldada virtuaalseid võrgu seadmeid, samuti valik «—stats», et kuvada seadmete statistikat;
  • networkd.conf-failile on lisatud seadistused SpeedMeter ja SpeedMeterIntervalSec, et perioodiliselt mõõta võrgu liideste läbilaskevõimet. Mõõtmistulemustest saadud statistikat saab vaadata käsku ‘networkctl status’ väljundis;
  • Uus tööriist systemd-network-generator on lisatud, et genereerida faile
    .network, .netdev ja .link IP-seadistuste põhjal, mis on edastatud Linuxi tuuma käivitusvalikutes Dracut seadistuste formaadis;
  • Sysctl väärtus "kernel.pid_max" 64-bitistes süsteemides on nüüd vaikimisi seatud 4194304-le (22-bitised PID-id 16-bitiste asemel), mis vähendab PID-de määramisel kokkupõrgete tõenäosust, tõstab samal ajal käivitatud protsesside arvu limiiti ja mõjutab positiivselt turvalisust. Muudatus võib potentsiaalselt põhjustada ühilduvusprobleeme, kuid praktikas ei ole sellistest probleemidest veel teatatud.
  • Vaikimisi on koostamise etapis toimunud üleminek ühtsesse cgroups-v2 hierarhiasse ("-Ddefault-hierarchy=unified"). Varasemalt oli vaikimisi seatud hübriidrežiim ("-Ddefault-hierarchy=hybrid");
  • On muudetud süsteemi kutsungite filtri (SystemCallFilter) käitumist, mis keelu korral süsteemile nüüd lõpetab kogu protsessi, mitte ainult eraldi lõime (thread), kuna eraldi lõimede lõpetamine võis põhjustada ettearvamatuid probleeme. Need muudatused kehtivad ainult, kui on olemas Linux tuum 4.14+ ja libseccomp 2.4.0+;
  • Mitteprivileegitud programmidele on antud võimalus saata ICMP Echo (ping) pakette, seadistades sysctl "net.ipv4.ping_group_range" kogu rühmade vahemikule (kõikidele protsessidele);
  • Ehki seadistuse täitmist, man-lehti genereerimine on lähteseadmest peatatud. Täieliku dokumentatsiooni koostamiseks tuleb kasutada valikut "-Dman=true" või "-Dhtml=true" HTML-vormingus juhiste jaoks. Dokumentatsiooni vaatamise lihtsustamiseks on komplektis kaks skripti build/man/man ja build/man/html juhiste genereerimiseks ja eelvaateks.
  • Rahvuslike tähestiku sümboleid sisaldavate domeeninimede töötlemiseks on lähteseadmest sisse lülitatud raamatukogu libidn2 (libidn-i tagastamiseks tuleb kasutada valikut "-Dlibidn=true");
  • Toetamine käivitatava faili /usr/sbin/halt.local, mis pakkus funktsionaalsust, mida ei ole piisavalt levinud jaotustes, on lõpetatud. Käskude käivitamise korraldamiseks töötamise lõpetamisel on soovitatav kasutada skripte /usr/lib/systemd/system-shutdown/ või määrata uus unit, mis sõltub final.target-ist;
  • Süsteemi töö lõpetamise viimases etapis suurendab systemd nüüd automaatselt logide taset sysctl-is "kernel.printk", mis lahendab probleemi sündmuste logimise kuvamisega, mis toimusid hilistes lõpetamiste etappides, kui tavapärased logimisdaemonid olid juba lõpetanud.
  • Journalctl ja muudes logide kuvamise tööriistades on hoiatused rõhutatud kollase värviga, samas kui auditi kirjed on esitatud sinisega, et need visuaalselt eristuda massist;
  • Keskkonnamuutujas $PATH on bin/ tee nüüd enne sbin/ teed, st kui mõlemates kaustades on sama nimega käivitatavad failid, siis käivitatakse fail, mis asub bin/ kaustas;
  • Systemd-logindis on tagatud SetBrightness() funktsiooni kutsumine, et turvaliselt muuta ekraani heledust iga seansi jaoks;
  • Käsku „udevadm info” on lisatud lipp „—wait-for-initialization”, et oodata seadme initsialiseerimise lõpuleviimist;
  • Süsteemi käivitamise protsessis kuvab PID 1 protsessori töötlus nüüd ekraanil unitite nimed, selle asemel, et kuvada rida nende kirjeldusest. Eelmise käitumise taastamiseks saab kasutada vahendit StatusUnitFormat failis /etc/systemd/system.conf või kerneliparameetrit systemd.status_unit_format;
  • /etc/systemd/system.conf failis on PID 1 watchdogi jaoks lisatud valik KExecWatchdogSec, mis määratleb ajapiiri taaskäivitamiseks kexeci abil. Vana seadistus
    ShutdownWatchdogSec on ümber nimetud RebootWatchdogSec-iks ja määrab ajapiiri tööde jaoks süsteemi väljalülitamise ajal või tavalisel taaskäivitamisel;
  • Teenuste jaoks on lisatud uus valik ExecCondition, mis võimaldab määrata käske, mis täidetakse enne ExecStartPre. Tuginedes käskude tagastuskoode näidatakse edasiseüksuse täitmise otsus — kui tagastus on 0, jätkab üksuse käivitamist, kui 1 kuni 254 lõpetab vaikselt ilma veateateta, kui 255 — lõpetab veateatega;
  • Lisatud uus teenus systemd-pstore.service, et andmeid välja võtta sys/fs/pstore/ ja salvestada /var/lib/pstore, et neid edasise analüüsi jaoks kasutada;
  • Uutele käsule on lisatud timedatectl utiliidi vaates NTP seadete seadmist systemd-timesyncd jaoks, mis on seotud võrguliidestega;
  • Käsus «localectl list-locales» lõpetati UTF-8-st erinevate lokaalide kuvamine;
  • Tagatud on sysctl.d/ failides muutuja määramise vigade eiramine, kui muutuja nimi algab sümboliga «-«;
  • Teenuse systemd-random-seed.service vastutab nüüd täielikult Linuxi käru valejuhuslike numbrite generaatori puu initsialiseerimise eest. Teenused, mis vajavad õigesti initsialiseeritud /dev/urandom-i, peavad käivituma pärast systemd-random-seed.service;
  • Eelistustes on systemd-bootil võimalus säilitada seed-faili juhusliku järjestusega EFI süsteemipartitsioonis (ESP);
  • Tarkvarasse bootctl on lisatud uued käsud «bootctl random-seed» seed-faili genereerimiseks ESP-s ja «bootctl is-installed» systemd-booti laadija installatsiooni kontrollimiseks. Bootctlis on ka tõhusad hoiatused vale käivitamisseadistuse kohta (nt kui kernelipilt on eemaldatud, kuid käivituskanali kirje on alles);
  • Automaatne vahetusruumi jaotuse valik une režiimi üleminekul on tagatud. Jaotus valitakse vastavalt selle seadistatud prioriteedile, ja võrdsete prioriteetide korral - vabade ruumide suuruse põhjal;
  • Faili /etc/crypttab on lisatud valik keyfile-timeout, et määrata ooteaeg krüpteerimise võtme seadmele enne parooli sisestamise taotlemist krüpteeritud jaotuse juurde pääsemiseks;
  • Lisatud on IOWeight valik sisse-/väljaandmise kaalu seadmiseks BFQ planeerija jaoks;
  • Systemd-resolvedisse on lisatud range (‘strict’) töörežiim DNS-over-TLS jaoks ning on ellu viidud võimalus vahetada positiivseid DNS-vastuseid («Cache no-negative» resolved.confis);
  • VXLAN-i jaoks on systemd-networkd-sse lisatud valik GenericProtocolExtension, et aktiveerida VXLAN-i protokolli laiendused. VXLAN-i ja GENEVE-i jaoks on lisatud valik IPDoNotFragment, et seada väljaminevate pakettide jagamise keelamise lipp;
  • Systemd-networkd-s on jaotises 「[Route]」 saanud uue valiku FastOpenNoCookie, et aktiveerida TCP ühenduste kiire avamise mehhanism (TFO — TCP Fast Open, RFC 7413) eraldi marsruutide jaoks, ning valik TTLPropagate, et seadistada TTL LSP (Label Switched Path). Valiku 「Type」 raames on tagatud toetus marsruutimise režiimidele local, broadcast, anycast, multicast, any ja xresolve;
  • Systemd-networkd-s on jaotises 「[Network]」 lisatud valik DefaultRouteOnDevice, et automaatselt seadistada vaikimisi marsruut määratud võrguseadmest;
  • Systemd-networkd-s on võrgu siltide jaoks lisatud valikud ProxyARP ja
    ProxyARPWifi, et seadistada proxy ARP-i käitumist, MulticastRouter, et määrata marsruutimise parameetreid multicast-režiimis, ning MulticastIGMPVersion, et muuta IGMP (Internet Group Management Protocol) versiooni multicast-režiimis;
  • systemd-networkd-s on UDP-tunnelitele on lisatud valikud Local, Peer ja PeerPort, et määrata kohalike ja kaugpoolsete IP-aadresse ning võrgupordi numbrit. TUN-tunnelite jaoks on lisatud valik VnetHeader, et toetada GSO (Generic Segment Offload) seadistamist.
  • systemd-networkd-s on .network ja .link failides [Match] sektsiooni lisatud Property valik, mis võimaldab määrata seadmeid nende udev-spetsiifiliste omaduste järgi.
  • systemd-networkd-s on tunnelite jaoks lisatud valik AssignToLoopback, mis reguleerib tunnelipunkti sidumist loopback-seadmega "lo".
  • systemd-networkd-s on automatiseeritud IPv6-stegi aktiveerimine juhul, kui see on sysctl disable_ipv6 kaudu blokeeritud — IPv6 aktiveeritakse, kui võrguinterfaanil on määratud IPv6 seaded (staatilised või DHCPv6), vastasel juhul jääb juba seadistatud sysctl väärtus muutumatuks.
  • Failides .network on seadistus CriticalConnection asendatud valikuga KeepConfiguration, mis pakub rohkem vahendeid olukordade määratlemiseks ("jah", "staatiline", "dhcp-on-stop", "dhcp"), kus systemd-networkd ei tohiks olemasolevaid ühendusi käivitamisel puutuda.
  • Ohutuspuudus kõrvaldatud CVE-2019-15718, mismanagement of access control to the D-Bus interface of systemd-resolved. This issue allows a non-privileged user to perform actions only available to administrators, such as changing DNS settings and redirecting DNS queries to a spoofing server;
  • Ohutuspuudus kõrvaldatud CVE-2019-9619, related to the non-inclusion of pam_systemd for non-interactive sessions, which allows for the spoofing of an active session.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster