systemd rendszerkezelő 243-es kiadás

Öt hónapos fejlesztés után bemutatott rendszerkezelő kiadás rendszer 243. Az újítások között említhetjük a rendszerben kevés memória kezelésére szolgáló kezelő PID 1-be történő integrálását, saját BPF programok csatolásának támogatását az egységforgalom szűrésére, számos új lehetőséget a systemd-networkd számára, a hálózat sávszélességének figyelésére szolgáló módot. interfészek, amelyek 64 bites rendszereken alapértelmezés szerint 22 bites PID számokat tesznek lehetővé 16 bites helyett, áttérnek az egységes cgroups hierarchiára, bekerülnek a systemd-network-generatorba.

Nagy változások:

  • A kernel által generált memóriahiányról szóló jelzések felismerése (Out-Of-Memory, OOM) hozzáadásra került a PID 1 kezelőhöz, hogy a memóriafelhasználási határt elérő egységeket speciális állapotba vigye, és opcionálisan leállításra kényszeríthető. vagy megállj;
  • Az egységfájlokhoz új paraméterek IPIngressFilterPath és
    IPEgressFilterPath, amely lehetővé teszi a BPF programok összekapcsolását tetszőleges kezelőkkel az egységhez kapcsolódó folyamatok által generált bejövő és kimenő IP-csomagok szűrésére. A javasolt szolgáltatások lehetővé teszik egyfajta tűzfal létrehozását a rendszerszolgáltatásokhoz. Íráspélda egy egyszerű hálózati szűrő BPF alapú;

  • A „clean” parancs hozzáadásra került a systemctl segédprogramhoz a gyorsítótár, a futásidejű fájlok, az állapotinformációk és a naplókönyvtárak törléséhez;
  • A systemd-networkd támogatja a MACsec, nlmon, IPVTAP és Xfrm hálózati csatolókat;
  • A systemd-networkd a DHCPv4 és DHCPv6 veremek külön konfigurációját valósítja meg a konfigurációs fájl „[DHCPv4]” és „[DHCPv6]” szakaszain keresztül. Hozzáadtuk a RoutesToDNS opciót, amellyel a DHCP-kiszolgálótól kapott paraméterekben megadott DNS-kiszolgálóhoz külön útvonalat adhatunk (így a DNS-be irányuló forgalom ugyanazon a linken keresztül kerül továbbításra, mint a DHCP-től kapott fő útvonal). Új opciók kerültek hozzáadásra a DHCPv4-hez: MaxAttempts - a cím megszerzésére irányuló kérések maximális száma, BlackList - a DHCP-kiszolgálók fekete listája, SendRelease - engedélyezi a DHCP RELEASE üzenetek küldését a munkamenet végén;
  • Új parancsok kerültek hozzáadásra a systemd-analyze segédprogramhoz:
    • „systemd-analyze timestamp” – időelemzés és konverzió;
    • „systemd-analyze timespan” – időintervallumok elemzése és konvertálása;
    • „systemd-analyze condition” – ConditionXYZ kifejezések elemzése és tesztelése;
    • „systemd-analyze exit-status” - kilépési kódok elemzése és konvertálása számokból nevekké és fordítva;
    • "systemd-analyze unit-files" – Felsorolja az egységek és egységálnevek összes fájlútvonalát.
  • Opciók SuccessExitStatus, RestartPreventExitStatus és
    A RestartForceExitStatus mostantól nem csak a numerikus visszatérési kódokat támogatja, hanem azok szöveges azonosítóit is (például "DATAERR"). Az azonosítókhoz rendelt kódok listáját a „sytemd-analyze exit-status” paranccsal tekintheti meg;

  • A „delete” parancs hozzáadásra került a networkctl segédprogramhoz a virtuális hálózati eszközök törléséhez, valamint a „—stats” opció az eszközstatisztikák megjelenítéséhez;
  • A SpeedMeter és a SpeedMeterIntervalSec beállításai hozzáadásra kerültek a networkd.conf fájlhoz a hálózati interfészek átviteli sebességének időszakos mérésére. A mérési eredményekből kapott statisztikák a 'networkctl status' parancs kimenetében tekinthetők meg;
  • Új segédprogram, a systemd-network-generator hozzáadva a fájlok generálásához
    .network, .netdev és .link a Linux kernel parancssorán keresztül, Dracut beállítások formátumban átadott IP-beállítások alapján;

  • A sysctl "kernel.pid_max" értéke a 64 bites rendszereken alapértelmezés szerint 4194304 (22 bites PID-k 16 bites helyett), ami csökkenti az ütközések valószínűségét a PID-ek hozzárendelése során, és növeli az egyidejű azonosítók számának korlátját. folyamatokat, és pozitív hatással van a biztonságra. A változás potenciálisan kompatibilitási problémákhoz vezethet, de ilyen problémákról a gyakorlatban még nem számoltak be;
  • Alapértelmezés szerint az összeállítási szakasz a cgroups-v2 egyesített hierarchiára vált („-Ddefault-hierarchy=unified”). Korábban az alapértelmezett hibrid mód volt ("-Ddefault-hierarchy=hibrid");
  • Módosult a rendszerhívás szűrő (SystemCallFilter) viselkedése, amely tiltott rendszerhívás esetén a teljes folyamatot leállítja, nem pedig az egyes szálakat, mivel az egyes szálak lezárása előre nem látható problémákhoz vezethet. A változtatások csak akkor érvényesek, ha Linux kernel 4.14+ és libseccomp 2.4.0+;
  • A nem jogosult programok ICMP Echo (ping) csomagokat küldhetnek a sysctl "net.ipv4.ping_group_range" beállításával a csoportok teljes tartományára (minden folyamatra);
  • Az összeállítási folyamat felgyorsítása érdekében a man kézikönyvek generálása alapértelmezés szerint leállt (a teljes dokumentáció elkészítéséhez a „-Dman=true” vagy a „-Dhtml=true” opciót kell használnia html formátumú kézikönyvekhez). A dokumentáció könnyebb áttekinthetősége érdekében két szkriptet tartalmaz: build/man/man és build/man/html az érdeklődésre számot tartó kézikönyvek generálásához és előnézetéhez;
  • A nemzeti ábécé karaktereit tartalmazó tartománynevek feldolgozásához alapértelmezés szerint a libidn2 könyvtárat használjuk (a libidn visszaadásához használja a „-Dlibidn=true” opciót);
  • Megszűnt a /usr/sbin/halt.local futtatható fájl támogatása, amely olyan funkciókat biztosított, amelyek a disztribúciókban nem terjedtek el széles körben. A parancsok leállításkor történő elindításának megszervezéséhez javasolt a /usr/lib/systemd/system-shutdown/ fájlban található szkriptek használata, vagy egy új egység meghatározása, amely a final.target függvénytől függ;
  • A leállítás utolsó szakaszában a systemd automatikusan megnöveli a naplózási szintet a sysctl "kernel.printk" fájlban, ami megoldja a naplóban történő megjelenítés problémáját, amely a leállítás későbbi szakaszaiban történt, amikor a szokásos naplózó démonok már befejeződtek. ;
  • A Journalctl-ben és más, naplókat megjelenítő segédprogramokban a figyelmeztetések sárgával, az ellenőrzési rekordok pedig kékkel vannak kiemelve, hogy vizuálisan kiemeljék őket a tömegből;
  • A $PATH környezeti változóban a bin/ elérési útja most az sbin/ elérési útja elé kerül, azaz. ha mindkét könyvtárban azonos nevek vannak a végrehajtható fájloknak, akkor a bin/ fájl kerül végrehajtásra;
  • A systemd-logind egy SetBrightness() hívást biztosít a képernyő fényerejének munkamenetenkénti biztonságos módosításához;
  • A „--wait-for-inicialization” jelző hozzáadásra került az „udevadm info” parancshoz, hogy megvárja az eszköz inicializálását;
  • A rendszerindítás során a PID 1 kezelő mostantól az egységek neveit jeleníti meg a leírásukkal ellátott sor helyett. A korábbi viselkedéshez való visszatéréshez használhatja a StatusUnitFormat beállítást az /etc/systemd/system.conf fájlban vagy a systemd.status_unit_format kernelbeállítást;
  • Hozzáadtuk a KExecWatchdogSec beállítást az /etc/systemd/system.conf fájlhoz a watchdog PID 1-hez, amely meghatározza a kexec használatával történő újraindítás időtúllépését. Régi beállítás
    A ShutdownWatchdogSec átnevezve RebootWatchdogSec-re, és időtúllépést határoz meg a feladatokhoz a leállítás vagy a normál újraindítás során;

  • Új opcióval bővült a szolgáltatások ExecCondition, amely lehetővé teszi az ExecStartPre előtt végrehajtandó parancsok megadását. A parancs által visszaadott hibakód alapján döntés születik az egység további végrehajtásáról - 0 kód visszaadása esetén az egység indítása folytatódik, ha 1-től 254-ig csendben hibajelző nélkül, 255 esetén pedig hibajelző;
  • Hozzáadott egy új systemd-pstore.service szolgáltatást, amely adatokat nyer ki a sys/fs/pstore/ fájlból és a /var/lib/pstore mappába menti a további elemzéshez;
  • A timedatectl segédprogram új parancsokkal bővült a systemd-timesyncd NTP-paramétereinek konfigurálására a hálózati interfészekkel kapcsolatban;
  • A "localectl list-locales" parancs már nem jelenít meg az UTF-8-tól eltérő területi beállításokat;
  • Biztosítja, hogy a rendszer figyelmen kívül hagyja a sysctl.d/ fájlok változó-hozzárendelési hibáit, ha a változó neve „-“ karakterrel kezdődik;
  • Szolgáltatás systemd-random-seed.service most már teljes mértékben felelős a Linux kernel pszeudovéletlenszám-generátor entrópiakészletének inicializálásáért. A megfelelően inicializált /dev/urandom-ot igénylő szolgáltatásokat a systemd-random-seed.service után kell elindítani;
  • A systemd-boot boot loader opcionális támogatást biztosít vetőmag fájl véletlenszerű sorrenddel az EFI rendszerpartícióban (ESP);
  • Új parancsok kerültek a bootctl segédprogramba: „bootctl random-seed” egy kezdőfájl létrehozásához az ESP-ben, és „bootctl is-installed” a systemd-boot betöltő telepítésének ellenőrzéséhez. A bootctl-t úgy is beállították, hogy figyelmeztetéseket jelenítsen meg a rendszerindítási bejegyzések helytelen konfigurációjára vonatkozóan (például ha a kernelkép törlődik, de a betöltéshez szükséges bejegyzés megmarad);
  • Biztosítja a swap partíció automatikus kiválasztását, amikor a rendszer alvó módba lép. A partíció kiválasztása a hozzá konfigurált prioritástól, és azonos prioritások esetén a szabad hely mennyiségétől függően történik;
  • A kulcsfájl időtúllépési opciója hozzáadva az /etc/crypttab fájlhoz annak beállításához, hogy a titkosítási kulccsal rendelkező eszköz mennyi ideig várjon, mielőtt jelszót kérne a titkosított partíció eléréséhez;
  • Hozzáadott IOWeight opció a BFQ ütemező I/O súlyának beállításához;
  • systemd-resolved hozzáadott "szigorú" módot a DNS-over-TLS-hez, és megvalósította a csak pozitív DNS-válaszok gyorsítótárazásának lehetőségét ("Cache no-negative" a megoldott.conf fájlban);
  • A VXLAN esetében a systemd-networkd hozzáadott egy GenericProtocolExtension opciót a VXLAN protokollbővítmények engedélyezéséhez. A VXLAN és a GENEVE esetében az IPDoNotFragment opció hozzáadásra került a kimenő csomagok töredezettségtiltó jelzőjének beállításához;
  • A systemd-networkd „[Útvonal]” szakaszában megjelent a FastOpenNoCookie opció, amely lehetővé teszi a TCP-kapcsolatok gyors megnyitásának mechanizmusát (TFO - TCP Fast Open, RFC 7413) az egyes útvonalak vonatkozásában, valamint a TTLPropagate opciót. a TTL LSP (Label Switched Path) beállításához. A „Típus” opció támogatja a helyi, broadcast, anycast, multicast, any és xresolve útválasztási módokat;
  • A Systemd-networkd egy DefaultRouteOnDevice opciót kínál a „[Network]” részben, hogy automatikusan konfigurálja az alapértelmezett útvonalat egy adott hálózati eszközhöz;
  • A Systemd-networkd hozzáadta a ProxyARP-t és
    ProxyARPWifi a proxy ARP viselkedésének beállításához, MulticastRouter az útválasztási paraméterek beállításához multicast módban, MulticastIGMPVersion az IGMP (Internet Group Management Protocol) verzió módosításához csoportos küldéshez;

  • A Systemd-networkd Local, Peer és PeerPort opciókat adott a FooOverUDP alagutakhoz a helyi és távoli IP-címek, valamint a hálózati portszám konfigurálásához. A TUN alagutak esetében a VnetHeader opció hozzáadásra került a GSO (Generic Segment Offload) támogatás konfigurálásához;
  • A systemd-networkd-ben a .network és .link fájlokban a [Match] szakaszban megjelent egy Property opció, amely lehetővé teszi az eszközök azonosítását az udev-ben lévő konkrét tulajdonságaik alapján;
  • A systemd-networkd-ben egy AssignToLoopback opció került hozzáadásra az alagutakhoz, amely szabályozza, hogy az alagút vége hozzá legyen-e rendelve a „lo” visszahurkolási eszközhöz;
  • A systemd-networkd automatikusan aktiválja az IPv6 veremét, ha a sysctl disable_ipv6-on keresztül blokkolva van - az IPv6 akkor aktiválódik, ha IPv6 beállítások (statikus vagy DHCPv6) vannak megadva a hálózati interfészhez, ellenkező esetben a már beállított sysctl érték nem változik;
  • A .network fájlokban a CriticalConnection beállítást a KeepConfiguration opció váltotta fel, amely több lehetőséget biztosít azon helyzetek meghatározásához ("igen", "statikus", "dhcp-on-stop", "dhcp"), amelyekben a systemd-networkd indításkor ne érintse meg a meglévő kapcsolatokat;
  • A sebezhetőség javítva CVE-2019 15718-, amelyet a rendszer által feloldott D-Bus interfész hozzáférés-vezérlésének hiánya okoz. A probléma lehetővé teszi a jogosulatlan felhasználók számára, hogy olyan műveleteket hajtsanak végre, amelyek csak a rendszergazdák számára érhetők el, mint például a DNS-beállítások módosítása és a DNS-lekérdezések gazemberhez irányítása;
  • A sebezhetőség javítva CVE-2019 9619-azzal kapcsolatos, hogy a pam_systemd nem engedélyezi a nem interaktív szekciókhoz, ami lehetővé teszi az aktív munkamenet meghamisítását.

Forrás: opennet.ru

Hozzászólás