Süsteemihalduri systemd 243 väljaanne

Pärast viie kuu arendustööd esitati süsteemi haldurite väljalase systemd 243. Uutele omadustele kuuluvad PID 1-te mälupuuduse töötleja integreerimine, enda BPF-programmide kinnitamise toetamine unit-ide liikluse filtreerimiseks, arvukad uued valikud systemd-networkd jaoks, võrguinterf.ee ribalaiuse jälgimise režiim, 64-bitistes süsteemides vaikimisi 22-bitiste PID-numbrite kasutamine 16-bitiste asemel, ühtse cgroups hierarhia kasutuselevõtt, ja systemd-network-generator'i kaasamine.

Peamised muudatused:

  • PID 1 töötlejasse on lisatud tuumast genereeritud Out-Of-Memory (OOM) signaalide tuvastamine, et viia mälu piiri saavutanud üksused spetsiifilisse seisundisse ning võimalus nende sundlõpetamiseks või peatamiseks.
  • Unit-failide jaoks on rakendatud uued parameetrid IPIngressFilterPath ja
    IPEgressFilterPath, mis võimaldavad BPF-programmide kinnitamist igasuguste töötlejatega sissetulevate ja väljaminevate IP-pakettide filtreerimiseks, mis genereeritakse antud üksuse seotud protsesside poolt. Pakutavad võimalused võimaldavad luua omamoodi võrgu tulemüüre systemd teenustele. Näide lihtsa võrgu filtri kirjutamisest BPF-alusel;
  • Systemctl utiliiti on lisatud käsk «clean» vahemälu, runtime-failide, olekuinfo ja logikataloogide kustutamiseks;
  • Systemd-networkd-s on lisatud MACsec, nlmon, IPVTAP ja Xfrm võrguliideste tugi;
  • Systemd-networkd-s on rakendatud DHCPv4 ja DHCPv6 protokollide eraldi seadistamine konfiguratsioonifailis olevates sektsioonides «[DHCPv4]» ja «[DHCPv6]». Marsruudi lisamise võimalus RoutesToDNS on lisatud DNS-serverile, mille seaded on saadud DHCP-serverilt (nii et DNS-i liiklus saadetakse sama linki pidi, mis põhimarsruut saadakse DHCP-lt). DHCPv4-le on lisatud uued valikud: MaxAttempts — maksimaalne aadressi taotlemise katsete arv, BlackList — DHCP-serverite must nimekiri, SendRelease — DHCP RELEASE sõnumite saatmise lubamine sessiooni lõpetamisel;
  • Systemd-analyze utiliiti on lisatud uued käsklused:
    • «systemd-analyze timestamp» — aja analüüs ja vormindamine;
    • «systemd-analyze timespan» — ajavahemike analüüs ja vormindamine;
    • «systemd-analyze condition» — ConditionXYZ väljendite analüüs ja testimine;
    • «systemd-analyze exit-status» — lõpetamisoodikute analüüs ja vormindamine numbritest nimedeks ja vastupidi;
    • «systemd-analyze unit-files» – kuvab kõigi üksuste failide teed ja üksuste pseudonüüdide loend.
  • Valikud SuccessExitStatus, RestartPreventExitStatus ja
    RestartForceExitStatus toetavad nüüd mitte ainult numbrilisi väljastuskoodide, vaid ka nende tekstilisi identifikaatoreid (näiteks «DATAERR»). Identifikaatorite ja koodide sidumise loendi nägemiseks kasutage käsku «systemd-analyze exit-status»;
  • Utility networkctl on saanud käsu «delete» virtuaalsete võrguseadmete kustutamiseks ning valiku «—stats» seadmete statistika väljundiks;
  • faili networkd.conf on lisatud seadistused SpeedMeter ja SpeedMeterIntervalSec, et mõõta võrgu liidesete läbilaskevõimet perioodiliselt. Saadud statistikat saab vaadata käsu ‘networkctl status’ väljundis;
  • Uus utiliit systemd-network-generator on lisatud, et genereerida faile
    .network, .netdev ja .link IP seadistuste põhjal, mis on edastatud Linuxi tuuma käsureal Dracuti seadistuste formaadis;
  • sysctl väärtus «kernel.pid_max» 64-bitistes süsteemides seatakse nüüd vaikimisi 4194304 (22-bitised PID-d 16-bitiste asemel), mis vähendab PID määramise kokkulangevuse tõenäosust, suurendab samal ajal käivitatud protsesside arvu limiiti ja mõjub positiivselt turvalisusele. Muudatus võib potentsiaalselt põhjustada ühilduvusprobleeme, kuid praktiliselt pole selliste probleemide kohta seni teateid saabunud;
  • Vaikimisi on koostamisfaasis üle mindud ühisele cgroups-v2 hierarhiale (-Ddefault-hierarchy=unified). Varasemalt oli vaikimisi määratud hübriidrežiim (-Ddefault-hierarchy=hybrid);
  • Süsteemikutsungite filtreerimise käitumine (SystemCallFilter) on muudetud nii, et keelatud süsteemikutsungi korral lõpetatakse kogu protsess, mitte ainult eraldi lõime (thread), kuna eraldi lõimede lõpetamine võiks põhjustada ettearvamatuid probleeme. Muudatused kehtivad ainult juhul, kui kasutusel on Linuxi tuum 4.14+ ja libseccomp 2.4.0+;
  • Privilegiseerimata programmidele on antud võimalus saata ICMP Echo (ping) pakette, seades sysctl väärtuse «net.ipv4.ping_group_range» kogu rühmade vahemikule (kõikidele protsessidele);
  • Kogumise protsessi kiirendamiseks on vaikimisi peatatud man-juhtmete genereerimine (kogu dokumentatsiooni koostamiseks tuleb kasutada valikut «-Dman=true» või «-Dhtml=true» html-formaadis juhiste jaoks). Dokumentatsiooni lihtsustamiseks on kaasatud kaks skripti build/man/man ja build/man/html, et genereerida ja eelvaadata soovitud juhiseid;
  • Rahvuslike tähestike sümbolitega domeeninimede töötlemiseks on vaikimisi kaasatud teek libidn2 (libidn-i tagastamiseks tuleks kasutada valikut «-Dlibidn=true»);
  • Toetamine täidetava faili /usr/sbin/halt.local on lõpetatud, kuna selle funktsionaalsust ei ole distributsioonides laialdaselt kasutatud. Kommando käivitamiseks sulgemise ajal soovitatakse kasutada skripte /usr/lib/systemd/system-shutdown/ või määrata uus unit, mis sõltub final.target;
  • Viimasel sulgemise etapil suurendab systemd nüüd automaatselt logitaseme sysctl-is «kernel.printk», mis lahendab probleemi sündmuste logimisega hilisemates sulgemise etappides, kui tavapärased logimise demonid on juba lõpetanud;
  • journalctl-is ja muudes logide kuvamise utiliitides on hoiatused esile tõstetud kollase värviga ning auditi kirjed sinisega, et visuaalselt eristada neid ülejäänud hulgast;
  • Keskkonnamuutujas $PATH on tee bin/ nüüd enne teed sbin/, st kui mõlemas kataloogis on samme defineeritud inimeste nimed, siis teostatakse bin/ fail;
  • systemd-logind-is on tagatud SetBrightness() funktsiooni kutse ekraani heleduse ohutuks muutmiseks iga seansi jaoks;
  • Käsk «udevadm info» on saanud lipu «—wait-for-initialization», et oodata seadme algatamise lõpuleviimist;
  • Süsteemi käivitamise protsessi käigus väljendab PID 1 nüüd ekraanil unit-ide nimesid nende kirjelduse rea asemel. Eelmise käitumise jaoks võib kasutada valikut StatusUnitFormat failis /etc/systemd/system.conf või kernel'i parameetrit systemd.status_unit_format;
  • Failis /etc/systemd/system.conf on PID 1 watchdogi jaoks lisatud valik KExecWatchdogSec, mis määratleb taaskäivitamise ajavahemiku kexec-i abil. Vanem seade
    ShutdownWatchdogSec on ümber nimetatud RebootWatchdogSec-iks ning määrab ajavahemiku tööde jaoks sulgemise protsessis või tavaliseks taaskäivituseks;
  • Teenustele on lisatud uus valik ExecCondition, mis võimaldab määrata käske, mis täidetakse enne ExecStartPre. Vastavalt käsu väljastatud veakoodile otsustatakse teenuse edasise täitmise üle — kui tagastatud kood on 0, jätkub teenuse käivitamine, kui 1 kuni 254, siis lõpetatakse vaikselt ilma vea märketa, ja kui 255, siis lõpetatakse vea märkega;
  • Uus teenus systemd-pstore.service on lisatud, et eraldada andmeid sys/fs/pstore/ ja salvestada need /var/lib/pstore, et neid saaks hiljem analüüsida;
  • Utility'sse timedatectl on lisatud uued käsud NTP seadete konfigureerimiseks systemd-timesyncd jaoks, mis seonduvad võrguliideste kaupa;
  • Käsk «localectl list-locales» ei näita enam locale, mis ei ole UTF-8;
  • Veateateid muutuja määramistest sysctl.d/ failides on nüüd ignoreeritud, kui muutuja nimi algab sümboliga «-«;
  • Teenuseid systemd-random-seed.service vastutab nüüd täielikult Linuxi tuuma pseudojuhuslike arvu generaatori entropia basseini algatamise eest. Teenused, mis vajavad korralikult algatatud /dev/urandom, peavad käivituma pärast systemd-random-seed.service;
  • systemd-booti laadijas on tagatud valikuline toetus seed-faili juhusliku järjestusega EFI süsteemiosakonna (ESP) sektsioonis;
  • Utility'sse bootctl on lisatud uued käsud «bootctl random-seed» seed-faili genereerimiseks ESP-s ja «bootctl is-installed» systemd-booti laadija installatsiooni kontrollimiseks. Samuti on bootctl's leitud hoiatused vale käivituskirje seadistuse kohta (näiteks kui tuuma pilt on kustutatud, kuid käivituskirje on jäänud);
  • Automaatne vahetusruumi osakonna valik on tagatud süsteemi uinudes. Osakond valitakse vastavalt selle seadistatud prioriteedile, ja sama prioriteedi korral — vaba ruumi suurusele;
  • Faili /etc/crypttab on lisatud valik keyfile-timeout, et määrata ooteaeg krüpteerimise võtmega seadmest enne parooli küsitakse krüpteeritud osakonna juurde pääsemiseks;
  • Lisatud on IOWeight valik sisend-/väljundkaalu määramiseks BFQ ajakava jaoks;
  • systemd-resolvedis on lisatud range (‘strict’) töörežiim DNS-over-TLS jaoks, samuti on rakendatud ainult positiivsete DNS-vastuste vahemälu võimalus («Cache no-negative» failis resolved.conf);
  • VXLAN-i jaoks lisati systemd-networkd-sse suvand GenericProtocolExtension, et lubada VXLAN-protokolli laiendusi. VXLAN-i ja GENEVE-i jaoks lisati suvand IPDoNotFragment, et määrata fragmentatsiooni keelamise lipp väljaminevatele pakkidele;
  • Systemd-networkd-sse tuli sektsioonis '[Route]' suvand FastOpenNoCookie, et aktiveerida TCP-ühenduste kiire avamise mehhanism (TFO — TCP Fast Open, RFC 7413) seoses eraldi marsruutidega, samuti suvand TTLPropagate TTL LSP (Label Switched Path) seadistamiseks. Suvandi 'Type' puhul tagatakse marsruutimisrežiimide local, broadcast, anycast, multicast, any ja xresolve toe;
  • Systemd-networkd-sse on sektsioonis '[Network]' lisatud suvand DefaultRouteOnDevice, et automaatselt seadistada vaikimisi marsruut antud võrguseadme jaoks;
  • Systemd-networkd-sse on lisatud võrgu sildadele suvandid ProxyARP ja
    ProxyARPWifi, et seadistada proxy ARP-i käitumist, MulticastRouter, et määrata marsruutimisparameetreid multicast-režiimis, ning MulticastIGMPVersion, et muuta IGMP (Internet Group Management Protocol) versiooni multicast-režiimis;
  • Systemd-networkd-sse on FooOverUDP tunnelitele lisatud suvandid Local, Peer ja PeerPort, et seadistada kohalikke ja kaugeid IP-aadresse, samuti võrguporti numbreid. TUN tunnelitele on lisatud suvand VnetHeader, et seadistada GSO (Generic Segment Offload) toetust;
  • Systemd-networkd-s on failides .network ja .link sektsioonis [Match] lisatud suvand Property, mis võimaldab määrata seadmeid nende spetsiifiliste udev omaduste järgi;
  • Systemd-networkd-sse on tunnelitele lisatud suvand AssignToLoopback, mis haldab tunnelite lõpu sidumist loopback seadmestikuga 'lo';
  • Systemd-networkd-s on automatiseeritud IPv6-protokolli aktiveerimine, kui see on blokeeritud sysctl disable_ipv6 kaudu — IPv6 aktiveeritakse, kui võrguliidese jaoks on määratud IPv6 seaded (staatilised või DHCPv6), muidu eelnevalt seatud sysctl väärtust ei muudetud;
  • FAILIDES .network on suvand CriticalConnection asendatud suvandi KeepConfiguration-ga, mis pakub rohkem võimalusi olukordade määratlemiseks ('yes', 'static', 'dhcp-on-stop', 'dhcp'), milles systemd-networkd ei tohiks olemasolevaid ühendusi käivitamisel muuta;
  • Rikkumine on kõrvaldatud CVE-2019-15718, mis on tingitud ligipääsukontrolli puudumisest systemd-resolved D-Bus liidesele. Probleem võimaldab madala privileegiga kasutajal teostada toiminguid, mis on saadaval ainult administraatoritele, näiteks DNS-seadete muutmine ja DNS-päringute suunamine vale serverisse;
  • Rikkumine on kõrvaldatud CVE-2019-9619, mis seotud pam_systemd mittesümpaatsete seansside väljalülitamisega, mis võimaldab korraldada aktiivse seansi petmist.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster