systemd stelselbestuurder vrystelling 243

Na vyf maande van ontwikkeling aangebied stelselbestuurder vrystelling systemd 243. Onder die innovasies kan ons let op die integrasie in PID 1 van die buite-geheue-hanteerder in die stelsel, ondersteuning vir die aanheg van eie BPF-programme om die verkeer van eenhede te filter, talle nuwe opsies vir systemd-networkd, 'n modus vir die monitering van die bandwydte van netwerkkoppelvlakke, wat by verstek op 64-bis-stelsels 22-bis PID's in plaas van 16-bis moontlik maak, skuif na verenigde cgroups-hiërargie, ingesluit in systemd-network-generator.

Belangrikste veranderinge:

  • Herkenning van buite-geheue-seine wat deur die kern gegenereer word (Out-Of-Memory, OOM) by die PID 1-hanteerder gevoeg om eenhede wat die limiet in geheueverbruik bereik het in 'n spesiale toestand te plaas met die opsie om hulle te dwing om te beëindig of stop;
  • Nuwe parameters IPIngressFilterPath en
    IPEgressFilterPath, wat jou toelaat om BPF-programme met arbitrêre hanteerders te koppel om inkomende en uitgaande IP-pakkies te filter wat gegenereer word deur prosesse wat met hierdie eenheid geassosieer word. Die voorgestelde kenmerke laat jou toe om 'n soort firewalls vir stelseldienste te skep. Skryf voorbeeld 'n eenvoudige netwerkfilter gebaseer op BPF;

  • Bygevoeg "skoon" opdrag by systemctl nut om kas, runtime lêers, status inligting en log dopgehou te verwyder;
  • Bygevoeg ondersteuning vir MACsec, nlmon, IPVTAP en Xfrm netwerk koppelvlakke by systemd-networkd;
  • systemd-networkd implementeer 'n aparte konfigurasie van die DHCPv4- en DHCPv6-stapels deur die "[DHCPv4]"- en "[DHCPv6]"-afdelings in die konfigurasielêer. Bygevoeg opsie RoutesToDNS om 'n aparte roete by die DNS-bediener by te voeg wat gespesifiseer is in die parameters wat van die DHCP-bediener ontvang word (sodat verkeer na DNS deur dieselfde skakel gestuur word as die hoofroete wat van DHCP ontvang is). Nuwe opsies bygevoeg vir DHCPv4: MaxAttempts - maksimum aantal versoeke om 'n adres te verkry, BlackList - swart lys van DHCP-bedieners, SendRelease - maak dit moontlik om DHCP RELEASE-boodskappe te stuur wanneer 'n sessie eindig;
  • Nuwe opdragte is by die systemd-analyze-hulpmiddel gevoeg:
    • "systemd-analyze timestamp" - ontleding en omskakeling van tyd;
    • "systemd-analyze timespan" - ontleed en omskakeling van tydspanne;
    • "systemd-analyze condition" - ontleed en toets ConditionXYZ uitdrukkings;
    • "systemd-analyze exit-status" - ontleed en omskakeling van uittreekodes van nommers na name en omgekeerd;
    • "systemd-analyze unit-files" - lys alle lêerpaaie vir eenhede en eenheidaliasse.
  • Opsies SuccessExitStatus, RestartPreventExitStatus en
    RestartForceExitStatus ondersteun nou nie net numeriese terugkeerkodes nie, maar ook hul teksidentifiseerders (bv. "DATAERR"). Jy kan die lys van bindende kodes aan identifiseerders sien deur die "sytemd-analyze exit-status" opdrag;

  • Die "delete"-opdrag is by die networkctl-nutsmiddel gevoeg om virtuele netwerktoestelle te verwyder, sowel as die "-stats"-opsie om toestelstatistieke te vertoon;
  • Het SpeedMeter en SpeedMeterIntervalSec instellings by networkd.conf gevoeg om periodiek die deurset van netwerk koppelvlakke te meet. Die statistieke verkry uit die metingsresultate kan gesien word in die uitvoer van die 'networkctl status' opdrag;
  • Bygevoeg nuwe systemd-netwerk-generator nut om lêers te genereer
    .network, .netdev en .link gebaseer op die IP-instellings wat by opstart geslaag is via die Linux-kern-opdragreël in die Dracut-instellingsformaat;

  • Die waarde van sysctl "kernel.pid_max" op 64-bis stelsels is nou by verstek gestel na 4194304 (22-bis PID's in plaas van 16-bis), wat die waarskynlikheid van botsings verminder wanneer PID's toegewys word, verhoog die limiet op die aantal gelyktydig loop prosesse, en het 'n positiewe uitwerking op sekuriteit. Die verandering kan moontlik tot versoenbaarheidskwessies lei, maar in die praktyk is sulke probleme nog nie aangemeld nie;
  • By verstek, in die boustadium, is die oorgang na die verenigde cgroups-v2-hiërargie ("-Ddefault-hierarchy=unified") gemaak. Voorheen is die bastermodus by verstek gestel ("-Ddefault-hierarchy=hibrid");
  • Die gedrag van die stelseloproepfilter (SystemCallFilter) is verander, wat, in die geval van 'n verbode stelseloproep, nou die hele proses beëindig, en nie individuele drade (draad) nie, aangesien die beëindiging van individuele drade tot onvoorspelbare probleme kan lei . Hierdie verandering is slegs geldig as jy 'n Linux-kern 4.14+ en libsecomp 2.4.0+ het;
  • Onbevoorregte programme kry die vermoë om ICMP Echo (ping) pakkies te stuur deur sysctl "net.ipv4.ping_group_range" vir die hele reeks groepe (vir alle prosesse) in te stel;
  • Om die bouproses te bespoedig, word generering van man-handleidings by verstek gestop (om volledige dokumentasie te bou, moet jy die "-Dman=true" of "-Dhtml=true" opsie vir handleidings in html-formaat gebruik). Om dit makliker te maak om deur die dokumentasie te blaai, is twee skrifte ingesluit, bou/man/man en bou/man/html, om die handleidings van belang te genereer en voor te bekyk;
  • Om domeinname met karakters van nasionale alfabette te verwerk, word die libidn2-biblioteek by verstek gebruik (om libidn terug te gee, gebruik die "-Dlibidn=true" opsie);
  • Ondersteuning vir die /usr/sbin/halt.local uitvoerbare lêer, wat funksionaliteit verskaf het wat nie wyd in verspreidings versprei is nie, is gestaak. Om die bekendstelling van opdragte tydens afsluiting te organiseer, word dit aanbeveel om skrifte in /usr/lib/systemd/system-shutdown/ te gebruik of 'n nuwe eenheid te definieer wat afhanklik is van final.target;
  • By die laaste stadium van afsluiting verhoog systemd nou outomaties die aantekenvlak in sysctl "kernel.printk", wat die probleem oplos met die vertoon van gebeure in die logboek wat plaasgevind het in die laat stadiums van afskakeling, wanneer die gereelde aantekendaemons reeds voltooi is ;
  • In journalctl en ander nutsprogramme wat logs vertoon, word waarskuwings in geel uitgelig, en ouditrekords word in blou uitgelig om dit visueel uit die skare uit te lig;
  • In die $PATH omgewingsveranderlike kom die pad na bin/ nou voor die pad na sbin/, d.w.s. as daar identiese name van uitvoerbare lêers in beide dopgehou is, sal die lêer vanaf bin/ uitgevoer word;
  • systemd-logind bied 'n SetBrightness () oproep om die helderheid van die skerm veilig op 'n per-sessie basis te verander;
  • Bygevoeg "--wag-vir-inisialisering"-vlag by "udevadm info"-opdrag om te wag vir die inisialisering van die toestel om te voltooi;
  • Tydens stelsellaai wys die PID 1-hanteerder nou die name van die eenhede, in plaas van 'n reël met hul beskrywing. Om vorige gedrag terug te keer, kan jy die StatusUnitFormat-opsie in /etc/systemd/system.conf of die systemd.status_unit_format-kernopsie gebruik;
  • Bygevoeg opsie KExecWatchdogSec by /etc/systemd/system.conf vir waghond in PID 1 om uitteltyd te spesifiseer vir herbegin met behulp van kexec. Ou omgewing
    ShutdownWatchdogSec hernoem na RebootWatchdogSec en definieer 'n uitteltyd vir take tydens afskakeling of normale herbegin;

  • Nuwe opsie bygevoeg vir dienste Uitvoerende toestand, wat jou toelaat om opdragte te spesifiseer wat voor ExecStartPre uitgevoer sal word. Op grond van die foutkode wat deur die opdrag teruggestuur word, word 'n besluit geneem oor die verdere uitvoering van die eenheid - as kode 0 teruggestuur word, gaan die bekendstelling van die eenheid voort, as dit van 1 tot 254 stilweg voltooi word sonder om die voorkoms van 'n druip, indien 255 voltooi word met 'n nasien van die voorkoms van 'n mislukking;
  • Bygevoeg 'n nuwe diens systemd-pstore.service om data van sys/fs/pstore/ te haal en dit te stoor na /var/lib/pstore vir verdere ontleding;
  • Nuwe opdragte is by die timedatectl-nutsmiddel gevoeg om NTP-instellings vir systemd-timesyncd in te stel met betrekking tot netwerkkoppelvlakke;
  • Hou op om nie-UTF-8-lokale te wys in "localectl list-locales"-opdrag;
  • Implementeer ignoreer veranderlike toewysing foute in sysctl.d/ lêers as die veranderlike naam begin met 'n "-" karakter;
  • Service systemd-random-seed.service is nou ten volle verantwoordelik vir die inisiasie van die entropiepoel van die Linux-kern pseudo-ewekansige getalgenerator. Dienste wat 'n behoorlik geïnisialiseerde /dev/urandom vereis, moet begin na systemd-random-seed.service;
  • Die systemd-boot selflaaiprogram het die opsie om te onderhou saad lêer met 'n ewekansige volgorde in die EFI System Partition (ESP);
  • Nuwe opdragte "bootctl random-seed" is by die bootctl-nutsding gevoeg om 'n saadlêer in ESP te genereer en "bootctl is-geïnstalleer" om die installasie van die systemd-boot-selflaaiprogram na te gaan. Bootctl verskaf ook waarskuwings oor foutief gekonfigureerde opstartinskrywings (byvoorbeeld wanneer die kernprent uitgevee word, maar die inskrywing vir die selflaai daarvan word verlaat);
  • Voorsien outomatiese keuse van die ruilpartisie wanneer die stelsel in slaapmodus gaan. 'n Partisie word gekies afhangende van die prioriteit wat daarvoor opgestel is, en in die geval van identiese prioriteite, die hoeveelheid vrye spasie;
  • Het die sleutellêer-uittelopsie by /etc/crypttab gevoeg om te stel hoe lank die toestel met die enkripsiesleutel wag voordat 'n wagwoord gevra word om toegang tot die geënkripteerde partisie te kry;
  • Bygevoeg IOWeight opsie om I/O gewig vir BFQ skeduleerder in te stel;
  • systemd-opgelos het 'streng' werkingsmodus vir DNS-oor-TLS bygevoeg en die vermoë geïmplementeer om slegs positiewe DNS-antwoorde te kas ("Cache no-negative" in resolved.conf);
  • Vir VXLAN is 'n GenericProtocolExtension-opsie by systemd-networkd gevoeg om VXLAN-protokoluitbreidings te aktiveer. Vir VXLAN en GENEVE is die IPDoNotFragment opsie bygevoeg om die geen fragmentasie vlag vir uitgaande pakkies te stel;
  • In systemd-networkd, in die "[Roete]"-afdeling, het die FastOpenNoCookie-opsie verskyn om die TCP Fast Open (TFO - RFC 7413) vinnige verbindingsmeganisme in verhouding tot individuele roetes te aktiveer, sowel as die TTLPropagate-opsie om TTL LSP te konfigureer (Etiket-geskakelde pad). Die "Type" opsie bied ondersteuning vir plaaslike, uitsaai, anycast, multicast, enige en xresolve roetemodusse;
  • systemd-networkd bied 'n DefaultRouteOnDevice-opsie in die "[Netwerk]"-afdeling om outomaties 'n verstekroete vir 'n gegewe netwerktoestel op te stel;
  • Bygevoeg ProxyARP-opsies by systemd-networkd vir netwerkbrûe en
    ProxyARPWifi om proxy ARP-gedrag op te stel, MulticastRouter om roeteerparameters in multicast-modus in te stel, MulticastIGMPVersion om IGMP (Internet Group Management Protocol) weergawe vir multicast te verander;

  • Systemd-netwerk het plaaslike, eweknie- en peerpoort-opsies vir FooOverUDP-tonnels bygevoeg om plaaslike en afgeleë IP-adresse en netwerkpoortnommer op te stel. Bygevoeg VnetHeader opsie vir TUN tonnels om GSO (Generic Segment Offload) ondersteuning op te stel;
  • In systemd-networkd, in die .network- en .link-lêers, in die [Match]-afdeling, het 'n Eiendom-opsie verskyn, wat jou toelaat om toestelle te bepaal volgens eienskappe wat spesifiek vir hulle in udev is;
  • Het die AssignToLoopback-opsie by systemd-networkd gevoeg vir tonnels om te beheer of die einde van die tonnel aan die "lo" teruglustoestel gebind is;
  • systemd-networkd aktiveer die IPv6-stapel outomaties as dit geblokkeer word via sysctl disable_ipv6 - IPv6 word geaktiveer as IPv6-instellings (staties of DHCPv6) vir die netwerkkoppelvlak gedefinieer is, anders verander die reeds gestelde sysctl-waarde nie;
  • In .network-lêers is die CriticalConnection-instelling vervang met die KeepConfiguration-opsie, wat meer maniere bied om situasies te definieer ("ja", "staties", "dhcp-on-stop", "dhcp") waarin systemd-networkd moet nie aan bestaande verbindings raak tydens opstart nie;
  • Kwesbaarheid vasgestel CVE-2019-15718, veroorsaak deur die gebrek aan toegangsbeheer tot die systemd-opgeloste D-Bus-koppelvlak. Die probleem laat 'n onbevoorregte gebruiker toe om bewerkings uit te voer wat slegs administrateurs kan uitvoer, soos om DNS-instellings te verander en DNS-navrae na 'n dummy-bediener te rig;
  • Kwesbaarheid vasgestel CVE-2019-9619verband hou met die aktivering van pam_systemd vir nie-interaktiewe sessies, wat aktiewe sessie-spoofing toelaat.

Bron: opennet.ru

Voeg 'n opmerking