Udgivelsen af systemmanageren systemd 243

Efter fem måneders udvikling præsenteret udgivelse af systemadministrator systemd 243. Blandt nyhederne kan nævnes integrationen af en hukommelseshåndteringshandler i PID 1, muligheden for at tilknytte egne BPF-programmer til filtrering af enhedstrafik, mange nye muligheder for systemd-networkd, overvågningsmodus for netværksinterfacebåndbredde, brugen af 22-bit PID-numre som standard på 64-bit systemer i stedet for 16-bit, overgangen til en ensartet cgroups-hierarki, og inkluderingen af systemd-network-generator.

Vigtige ændringer:

  • Der er tilføjet genkendelse af kernel-genererede signaler om hukommelsesmangel (Out-Of-Memory, OOM) i PID 1-håndtereren, således at enheder, der har nået grænsen for hukommelsesforbrug, kan overgå til en særlig tilstand med en valgfri mulighed for tvangslukning eller stop;
  • For enhedsfilen er der implementeret nye parametre IPIngressFilterPath og
    IPEgressFilterPath, som gør det muligt at tilknytte BPF-programmer med vilkårlige håndtere til filtrering af indkommende og udgående IP-pakker genereret af processer, der er relateret til den pågældende enhed. De foreslåede muligheder muliggør oprettelse af en form for firewall for systemd-tjenester. Eksempel på at skrive et simpelt netværksfilter baseret på BPF;
  • Der er tilføjet en 'clean'-kommando til systemctl-værktøjet til at slette cache, runtime-filer, tilstandsoplysninger og logkataloger;
  • Der er tilføjet support for MACsec, nlmon, IPVTAP og Xfrm netværksinterfacer i systemd-networkd;
  • I systemd-networkd er der implementeret adskilt konfiguration af DHCPv4 og DHCPv6-stakke via sektionerne '[DHCPv4]' og '[DHCPv6]' i konfigurationsfilen. En ny mulighed, RoutesToDNS, er blevet tilføjet for at tilføje en separat rute til DNS-serveren angivet i de parametre, der er modtaget fra DHCP-serveren (så trafik til DNS sendes gennem samme link som den primære rute, der er modtaget fra DHCP). For DHCPv4 er der tilføjet nye muligheder: MaxAttempts — maksimalt antal anmodninger om at få en adresse, BlackList — en liste over DHCP-servere i sorte lister, SendRelease — aktivering af sending af DHCP RELEASE-beskeder ved afslutning af session;
  • Der er tilføjet nye kommandoer til systemd-analyze-værktøjet:
    • «systemd-analyze timestamp» — parsing og konvertering af tid;
    • «systemd-analyze timespan» — parsing og konvertering af tidsintervaller;
    • «systemd-analyze condition» — parsing og test af expressioner ConditionXYZ;
    • «systemd-analyze exit-status» — parsing og konvertering af exit-koder fra numre til navne og omvendt;
    • «systemd-analyze unit-files» – viser en liste over alle filsveje for enheder og pseudonymer for enheder.
  • Indstillingerne SuccessExitStatus, RestartPreventExitStatus og
    RestartForceExitStatus understøtter nu ikke kun numeriske returkoder, men også deres tekstidentifikatorer (f.eks. «DATAERR»). Listen over bindingskoder til identifikatorer kan ses via kommandoen «systemd-analyze exit-status»;
  • Utilityen networkctl har fået en ny kommando «delete» til sletning af virtuelle netværksenheder samt en option «—stats» til visning af statistik om enhederne;
  • Til networkd.conf er der tilføjet indstillingerne SpeedMeter og SpeedMeterIntervalSec til periodisk måling af båndbredden på netværksgrænsefladerne. Statistikkerne, der opnås ved målingerne, kan ses i outputtet fra kommandoen ‘networkctl status’;
  • Der er tilføjet et nyt værktøj systemd-network-generator til at generere filer
    .network, .netdev og .link baseret på IP-indstillinger, der er sendt ved opstart via kommandolinjen i Linux-kernen i Dracut-indstillingsformat;
  • Værdien af sysctl «kernel.pid_max» på 64-bit systemer er nu som standard sat til 4194304 (22-bit PID i stedet for 16-bit), hvilket reducerer sandsynligheden for kollisoner ved tildeling af PID, øger grænsen for antallet af samtidig kørende processer og har en positiv indvirkning på sikkerheden. Ændringen kan potentielt føre til kompatibilitetsproblemer, men der er indtil videre ikke rapporteret om sådanne problemer i praksis;
  • Som standard er der under opbygningen foretaget overgangen til en unified cgroups-v2-hierarki («-Ddefault-hierarchy=unified»). Tidligere var det hybride tilstand som standard («-Ddefault-hierarchy=hybrid»);
  • Adfærden for systemopkaldsfilteret (SystemCallFilter) er ændret, så når der gøres opkald til et forbudt systemopkald, afsluttes hele processen nu i stedet for kun enkelte tråde, da afslutning af enkelte tråde kunne føre til uforudsigelige problemer. Ændringerne gælder kun for Linux-kern version 4.14+ og libseccomp 2.4.0+;
  • Ikke-privilegerede programmer har fået mulighed for at sende ICMP Echo-pakker (ping) takket være indstillingen af sysctl «net.ipv4.ping_group_range» for hele gruppeintervallet (for alle processer);
  • For faster build processes, the generation of man pages is disabled by default (to build the full documentation, use the option "-Dman=true" or "-Dhtml=true" for HTML format guides). To simplify documentation viewing, two scripts have been included: build/man/man and build/man/html for generating and previewing the desired guides;
  • To handle domain names with national alphabet characters, the libidn2 library is enabled by default (to revert to libidn, the option "-Dlibidn=true" should be used);
  • Support for the executable file /usr/sbin/halt.local, which provided functionality that did not gain proper distribution in distributions, has been discontinued. It is recommended to use scripts in /usr/lib/systemd/system-shutdown/ or to define a new unit dependent on final.target for executing commands at shutdown;
  • In the final stages of the shutdown, systemd now automatically raises the log level in sysctl "kernel.printk", which resolves the issue of logging events that occurred in the late stages of shutdown when the standard logging daemons have already completed;
  • In journalctl and other log displaying utilities, warnings are highlighted in yellow, while audit records are highlighted in blue for better visual distinction;
  • In the $PATH environment variable, the path to bin/ now precedes the path to sbin/, meaning that if there are executables with the same names in both directories, the file from bin/ will be executed;
  • In systemd-logind, a call to SetBrightness() has been ensured for safely changing the screen brightness for each session;
  • A flag "—wait-for-initialization" has been added to the command "udevadm info" to wait for device initialization completion;
  • During system boot, PID 1's handler now displays the names of units on the screen instead of a description string. To revert to the previous behavior, the option StatusUnitFormat can be used in /etc/systemd/system.conf or the systemd.status_unit_format kernel parameter;
  • In /etc/systemd/system.conf, for the watchdog in PID 1, the KExecWatchdogSec option has been added, defining the timeout for rebooting using kexec. The old setting
    ShutdownWatchdogSec has been renamed to RebootWatchdogSec and defines the timeout for operations during shutdown or normal reboot;
  • A new option has been added for services ExecCondition, som gør det muligt at angive kommandoer, der skal udføres før ExecStartPre. Baseret på den returkode, som kommandoen giver, træffes der beslutning om den videre udførelse af enheden – hvis koden er 0 fortsætter opstarten af enheden, hvis den er fra 1 til 254 afsluttes den stille uden at markere en fejl, og hvis den er 255 afsluttes den med en fejlmarkering;
  • En ny service systemd-pstore.service er blevet tilføjet for at hente data fra sys/fs/pstore/ og gemme dem i /var/lib/pstore til videre analyse;
  • Der er tilføjet nye kommandoer til værktøjet timedatectl for at indstille NTP-parametre for systemd-timesyncd i forbindelse med netværksinterface;
  • Visningen af lokaliteter, der adskiller sig fra UTF-8, er blevet fjernet fra kommandoen «localectl list-locales»;
  • Der er sikret, at fejl i tildeling af variabler i sysctl.d/-filer ignoreres, hvis variabelnavnet begynder med tegnet «-«;
  • Service systemd-random-seed.service er nu fuldt ansvarlig for initialisering af puljen af tilfældighedsdata fra Linux-kerneens pseudotilfældige talgenerator. Tjenester, der har brug for korrekt initialiseret /dev/urandom, skal starte efter systemd-random-seed.service;
  • I bootloaderen systemd-boot er der sikret en valgfri mulighed for at vedligeholde seed-filen med en tilfældig sekvens i EFI System Partition (ESP);
  • Der er tilføjet nye kommandoer til værktøjet bootctl: «bootctl random-seed» til at generere seed-filen i ESP og «bootctl is-installed» til at kontrollere installationen af bootloaderen systemd-boot. I bootctl er der også implementeret advarselsudskrifter om forkert konfiguration af boot-poster (fx når kerneafbildningen er slettet, men optegnelsen for opstart er blevet tilbageblevet);
  • Der er sikret automatisk valg af swap-partition, når systemet går i dvale. Partitionen vælges baseret på den prioritet, der er indstillet for den, og i tilfælde af ens prioritet vælges partitionen med størst ledig plads;
  • I /etc/crypttab er der tilføjet en mulighed for keyfile-timeout til at angive ventetiden for en enhed med krypteringsnøgle, før der anmodes om adgangskode til den krypterede partition;
  • Der er tilføjet en mulighed for IOWeight til at indstille vægten for input/output til BFQ-planlæggeren;
  • I systemd-resolved er der tilføjet en striks (‘strict’) driftsmode for DNS-over-TLS, og muligheden for kun at cache positive DNS-svar («Cache no-negative» i resolved.conf) er implementeret;
  • For VXLAN in systemd-networkd, a GenericProtocolExtension option has been added to enable VXLAN protocol extensions. For VXLAN and GENEVE, an IPDoNotFragment option has been added to set the no-fragmentation flag for outgoing packets;
  • In systemd-networkd, the [Route] section now includes the FastOpenNoCookie option to enable the TCP Fast Open (TFO — TCP Fast Open, RFC 7413) mechanism for specific routes, as well as the TTLPropagate option for configuring TTL LSP (Label Switched Path). The Type option now supports routing modes local, broadcast, anycast, multicast, any, and xresolve;
  • In systemd-networkd, the [Network] section has introduced the DefaultRouteOnDevice option for the automatic configuration of the default route for a specified network device;
  • In systemd-networkd, options ProxyARP and
    ProxyARPWifi have been added for configuring proxy ARP behavior, MulticastRouter for setting routing parameters in multicast mode, and MulticastIGMPVersion for changing the IGMP (Internet Group Management Protocol) version for multicast;
  • In systemd-networkd, for FooOverUDP tunnels, the Local, Peer, and PeerPort options have been added for configuring the IP addresses of the local and remote sides, as well as the network port number. For TUN tunnels, the VnetHeader option has been added to configure GSO (Generic Segment Offload) support;
  • In systemd-networkd, the .network and .link files in the [Match] section now include the Property option, which allows devices to be identified by their specific properties in udev;
  • In systemd-networkd, for tunnels, the AssignToLoopback option has been added to manage binding the tunnel end to the loopback device "lo";
  • In systemd-networkd, the activation of the IPv6 stack has been automated in cases where it is blocked through sysctl disable_ipv6 — IPv6 is activated if IPv6 settings (static or DHCPv6) are defined for the network interface; otherwise, the already set sysctl value remains unchanged;
  • In .network files, the CriticalConnection setting has been replaced by the KeepConfiguration option, providing more means to define situations ("yes", "static", "dhcp-on-stop", "dhcp") in which systemd-networkd should not touch already established connections upon starting;
  • Sikkerhedsfejl rettet CVE-2019-15718, caused by a lack of access control to the D-Bus interface of systemd-resolved. This issue allows an unprivileged user to perform operations only available to administrators, such as changing DNS settings and directing DNS requests to a spoofing server;
  • Sikkerhedsfejl rettet CVE-2019-9619, der relaterer til deaktivering af pam_systemd for ikke-interaktive sessioner, som muliggør spoofing af den aktive session.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster