Lëshimi i menaxherit sistemik systemd 243

Pas pesë muajsh zhvillimi u paraqit rilizimi i menaxherit sistemik systemd 243. Një nga veçoritë e reja është integrimi në PID 1 i trajtuesit për mungesë memorie në sistem, mbështetje për ngjitjen e programeve BPF për filtrimin e trafikut të njësive, shumë mundësi të reja për systemd-networkd, një mod për monitorimin e kapacitetit të ndërfaqeve rrjet, angazhimi automatik në sisteme 64-bit të numrave PID 22-bit në vend të atyre 16-bit, kalimi në një hierarki të unifikuar cgroups, përfshirja në systemd-network-generator.

Ndryshimet kryesore:

  • Në trajtuesin PID 1 është shtuar njohja e sinjaleve të gjeneruara nga bërthama për mungesë memorie (Out-Of-Memory, OOM) për të transferuar njësitë që kanë arritur kufirin e konsumit të memories në një gjendje të veçantë me mundësinë optionale për t'i përfunduar ose ndaluar ato me forcë;
  • Për skedarët e njësive janë zbatuar parametrat e rinj IPIngressFilterPath dhe
    IPEgressFilterPath, të cilat lejojnë lidhjen e programeve BPF me trajtues të rastësishëm për filtrimin e paketa IP në hyrje dhe dalje, të gjeneruara nga proceset e lidhura me këtë njësinë. Mundësitë e propozuara lejojnë krijimin e një lloj muri mbrojtës për shërbimet systemd. Shembulli i shkruarjes i një filtrit të thjeshtë rrjeti mbi BPF;
  • Në utilitarin systemctl është shtuar komandë «clean» për të hequr cache, skedarët runtime, informacionin e gjendjes dhe katalogët me regjistrat;
  • Në systemd-networkd është shtuar mbështetje për ndërfaqet rrjet MACsec, nlmon, IPVTAP dhe Xfrm;
  • Në systemd-networkd është zbatuar konfigurimi i ndarë i grupeve DHCPv4 dhe DHCPv6 përmes seksioneve «[DHCPv4]» dhe «[DHCPv6]» në skedarin e konfigurimit. Është shtuar opsioni RoutesToDNS për të shtuar një rrugë të veçantë për serverin DNS, i caktuar nga parametrat e marrë nga serveri DHCP (në mënyrë që trafiku për DNS të dërgohej përmes të njëjtit lidhje si rruga kryesore, e marrë nga DHCP). Për DHCPv4 janë shtuar opsione të reja: MaxAttempts — numri maksimal i kërkesave për të marrë adresën, BlackList — lista e zezë e serverëve DHCP, SendRelease — aktivizimi i dërgimit të mesazheve DHCP RELEASE kur seanca përfundon;
  • Në utilitarin systemd-analyze janë shtuar komanda të reja:
    • «systemd-analyze timestamp» — analizimi dhe përkthimi i kohës;
    • «systemd-analyze timespan» — analizimi dhe përkthimi i intervaleve të kohës;
    • «systemd-analyze condition» — analizimi dhe testimi i shprehjeve ConditionXYZ;
    • «systemd-analyze exit-status» — analiza dhe transformimi i kodëve përfundimtarë nga numra në emra dhe anasjelltas;
    • «systemd-analyze unit-files» — del një listë e të gjitha rrugëve të skedarëve për njësite dhe pseudonimet e njësiteve.
  • Opsionet SuccessExitStatus, RestartPreventExitStatus dhe
    RestartForceExitStatus tani mbështesin jo vetëm kodet numerike të rikthimit, por edhe identifikuesit e tyre tekstualë (p.sh. «DATAERR»). Lista e përputhshmërisë së kodëve me identifikuesit mund të shikohet përmes komandës «systemd-analyze exit-status»;
  • Në utilitarin networkctl është shtuar komanda «delete» për të fshirë pajisjet virtuale rrjetërore, si dhe opsioni «—stats» për të nxjerrë statistika mbi pajisjet;
  • Në networkd.conf janë shtuar konfigurimet SpeedMeter dhe SpeedMeterIntervalSec për matjen periodike të kapacitetit të interface-ve të rrjetit. Statistikat e marra nga rezultatet e matjeve mund të shihen në daljen e komandës ‘networkctl status’;
  • Është shtuar një utilitar i ri systemd-network-generator për gjenerimin e skedarëve
    .network, .netdev dhe .link mbi bazën e konfigurimeve IP, të transmetuara gjatë nisjes përmes komandës në bërthamën Linux në formatin e konfigurimeve Dracut;
  • Vlera sysctl «kernel.pid_max» në sistemet 64-bit tani vendoset standart në 4194304 (PID 22-bit në vend të 16-bit), e cila zvogëlon mundësinë e kolizioneve gjatë caktimit të PID, rrit kufirin e numrit të proceseve të nisura njëkohësisht dhe ndikon pozitivisht në siguri. Ndryshimi mund të shkaktojë probleme me ndërveprueshmërinë, por në praktikë deri tani nuk janë raportuar probleme të tilla;
  • Në mënyrë standart në fazën e ndërtimit është kaluar në h jerarkinë e unifikuar cgroups-v2 («-Ddefault-hierarchy=unified»). Më parë standart shikohej një mod i hibrid («-Ddefault-hierarchy=hybrid»);
  • Sjellja e filtrit të thirrjeve sistemore (SystemCallFilter) është ndryshuar, i cili në rastin e një thirrjeje të ndaluar tani përfundon të gjithë procesin, dhe jo individuale thonjëza (thread), pasi përfundimi i thonjëzave individuale mund të shkaktonte probleme të paparashikueshme. Ndryshimet vlejnë vetëm për prani të bërthamës Linux 4.14+ dhe libseccomp 2.4.0+;
  • Programet pa privilegje tani kanë mundësinë të dërgojnë paketa ICMP Echo (ping) për shkak të vendosjes së sysctl «net.ipv4.ping_group_range» për të gjithë gamën e grupeve (për të gjithë proceset);
  • Për të përshpejtuar procesin e ndërtimit, është e ndalur për default gjenerimi i manualeve (për të ndërtuar dokumentacionin e plotë, përdorni opsionin «-Dman=true» ose «-Dhtml=true» për manualet në formatin html). Për të thjeshtuar shikimin e dokumentacionit, janë përfshirë dy skripta build/man/man dhe build/man/html për gjenerimin dhe parashikimin e manualeve që janë interesante;
  • Për trajtimin e emrave të domain-eve me simbole të alfabeteve kombëtare, për default është aktivizuar библиотека libidn2 (për të kthyer libidn, duhet të përdorni opsionin «-Dlibidn=true»);
  • Përkrahja e skedarit ekzekutiv /usr/sbin/halt.local është ndalur, e cila ndihmonte një funksionalitet që nuk kishte përhapje të mjaftueshme në distro. Për të organizuar ekzekutimin e komandave gjatë mbylljes, rekomandohet të përdoren skriptat në /usr/lib/systemd/system-shutdown/ ose të përcaktohet një njësi e re, të varur nga final.target;
  • Në fazën e fundit të mbylljes, systemd tani automatikisht rrit nivelin e log-eve në sysctl «kernel.printk», e cila zgjidh problemin me shfaqjen në log të ngjarjeve që ndodhin në fazat e vonshme të mbylljes, kur demonët standardë të mbajtjes së log-eve janë përfunduar;
  • Në journalctl dhe utilitetet e tjera që shfaqin log-e, është siguruar ndriçimi i paralajmërimeve me ngjyrë të verdhë, dhe regjistrimet e auditeve me ngjyrë të kaltër për t'i dalluar ato nga masa e përgjithshme;
  • Në variablën e ambientit $PATH, rruga për bin/ tani vjen përpara rrugës për sbin/, domethënë, në rast se ekzistojnë emra të njëjtë të skedarëve ekzekutivë në të dy katalogët, do të ekzekutohet skedari nga bin/;
  • Në systemd-logind është siguruar thirrja e SetBrightness() për ndryshimin e sigurt të ndriçimit të ekranit për çdo seancë;
  • Në komandën «udevadm info» është shtuar flamuri «—wait-for-initialization» për të pritur për përfundimin e inicializimit të pajisjes;
  • Gjatë ngarkimit të sistemit, procesori PID 1 tani shfaq emrat e njësive në ekran, në vend të një rreshti me përshkrimin e tyre. Për të rikthyer sjelljen e mëparshme, mund të përdorni opsionin StatusUnitFormat në /etc/systemd/system.conf ose parametrin kernel systemd.status_unit_format;
  • Në /etc/systemd/system.conf për watchdog në PID 1 është shtuar opsioni KExecWatchdogSec, i cili përcakton kohën e mbajtjes për rindërtimin duke përdorur kexec. Cilësimi i vjetër
    ShutdownWatchdogSec është rinominuar në RebootWatchdogSec dhe përcakton kohën e mbajtjes për operacionet gjatë mbylljes ose rinisjes normale;
  • Për shërbimet është shtuar një opsion i ri ExecCondition, që lejon të japësh komanda që do të ekzekutohen para ExecStartPre. Bazuar në kodin e gabimit të kthyer nga komanda vendoset nëse vazhdohet ekzekutimi i njësisë — nëse kodi është 0, vazhdon lançimi i njësisë, nëse është midis 1 dhe 254 përfundon pa shenja dështimi, dhe nëse është 255 — përfundon me shenjën e dështimit;
  • Shtuar shërbimi i ri systemd-pstore.service për të nxjerrë të dhëna nga sys/fs/pstore/ dhe për t'i ruajtur ato në /var/lib/pstore për analizë të mëtejshme;
  • Në utilitarin timedatectl janë shtuar komanda të reja për të konfiguruar parametrat NTP për systemd-timesyncd në lidhje me ndërfaqet rrjet.
  • Në komandën 'localectl list-locales' është ndalur shfaqja e lokaleve që nuk janë UTF-8;
  • Siguruar injorimin e gabimeve të caktimit të variablave në skedarët sysctl.d/, nëse emri i variablës fillon me simbolin '-';
  • Shërbimi systemd-random-seed.service tashmë përgjigjet plotësisht për inicializimin e grumbullit të entropisë së gjeneruesit të numrave të rastësishëm të bërthamës Linux. Shërbimet që kërkojnë një /dev/urandom të inicializuar siç duhet duhet të fillojnë pas systemd-random-seed.service;
  • Në ngarkuesin systemd-boot është siguruar mundësia opsionale për mbajtjen e seed-file me një varg të rastësishëm në partitionin e sistemit EFI (ESP);
  • Në utilitarin bootctl janë shtuar komanda të reja 'bootctl random-seed' për të gjeneruar seed-file në ESP dhe 'bootctl is-installed' për të verifikuar instalimin e ngarkuesit systemd-boot. Në bootctl gjithashtu janë vendosur paralajmërime për konfigurimin e pasaktë të të dhënave të ngarkimit (për shembull, kur imazhi i bërthamës është fshirë, ndërsa regjistrimi për ngarkimin e saj është lënë);
  • Siguruar përzgjedhja automatike e partitionit swap kur sistemi kalon në gjumë. Partitioni përzgjidhet në varësi të prioriteteve të caktuara për të, dhe në rast prioriteteve të njëjta — madhësisë së hapësirës së lirë;
  • Në /etc/crypttab është shtuar opsioni keyfile-timeout për të caktuar kohën e pritjes për pajisjen me çelësin e enkriptimit para paraqitjes së kërkesës për fjalëkalim për akses në partitionin e enkriptuar;
  • Shtuar opsioni IOWeight për të caktuar peshën e hyrje/daljes për planifikuesin BFQ;
  • Në systemd-resolved është shtuar një mod ‘strikt’ për DNS-over-TLS dhe është realizuar mundësia e memorizimit vetëm të përgjigjeve pozitive DNS ('Cache no-negative' në resolved.conf);
  • Për VXLAN në systemd-networkd është shtuar opsioni GenericProtocolExtension për aktivizimin e zgjerimeve të protokollit VXLAN. Për VXLAN dhe GENEVE është shtuar opsioni IPDoNotFragment për vendosjen e flamurit për ndalimin e fragmentimit për paketat dalëse;
  • Në systemd-networkd në seksionin «[Route]» është krijuar opsioni FastOpenNoCookie për aktivizimin e mekanizmit të hapjes së shpejtë të lidhjeve TCP (TFO — TCP Fast Open, RFC 7413) në lidhje me rrugë specifike, si dhe opsioni TTLPropagate për konfigurimin e TTL LSP (Label Switched Path). Në opsionin «Type» është siguruar mbështetje për modet e rrugëzimit local, broadcast, anycast, multicast, any dhe xresolve;
  • Në systemd-networkd në seksionin «[Network]» është propozuar opsioni DefaultRouteOnDevice për konfigurimin automatik të rrugës të parazgjedhur për një pajisje të caktuar rjet;
  • Në systemd-networkd për urat rrjetore janë shtuar opsionet ProxyARP dhe
    ProxyARPWifi për konfigurimin e sjelljes së proxy ARP, MulticastRouter për vendosjen e parametrave të rrugëzimit në modin multicast, MulticastIGMPVersion për ndryshimin e versionit IGMP (Internet Group Management Protocol) për multicast;
  • Në systemd-networkd për tunelët FooOverUDP janë shtuar opsionet Local, Peer dhe PeerPort për konfigurimin e adreseve IP të anëve lokale dhe të largëta, si dhe numrit të portit rrjetor. Për tunelët TUN është shtuar opsioni VnetHeader për konfigurimin e mbështetjes për GSO (Generic Segment Offload);
  • Në systemd-networkd në skedarët .network dhe .link në seksionin [Match] është krijuar opsioni Property, i cili lejon përcaktimin e pajisjeve sipas vetive specifike për to në udev;
  • Në systemd-networkd për tunelët është shtuar opsioni AssignToLoopback, i cili menaxhon lidhjen e skarës së tunelit me pajisjen loopback "lo";
  • Në systemd-networkd është automatizuar aktivizimi i stekut IPv6 në rast se është bllokuar nëpërmjet sysctl disable_ipv6 — IPv6 aktivizohet, nëse për ndërfaqen rrjetore janë përcaktuar konfigurime IPv6 (statike ose DHCPv6), përndryshe vlera e tanishme sysctl nuk ndryshohet;
  • Në skedarët .network konfigurimi CriticalConnection është zëvendësuar me opsionin KeepConfiguration, i cili ofron më shumë mjete për të përcaktuar situatat («yes», «static», «dhcp-on-stop», «dhcp») në të cilat systemd-networkd nuk duhet të preki lidhjet ekzistuese gjatë aktivizimit;
  • Janë eliminuar dobësitë CVE-2019-15718, e shkaktuar nga mungesa e kontrollit të aksesit në ndërfaqen D-Bus të systemd-resolved. Problemi lejon një përdorues pa privilegje të kryejë operacione të disponueshme vetëm për administratorët, për shembull, mund të ndryshojë konfigurimet DNS dhe të drejtojë kërkesat DNS në një server të rremë;
  • Janë eliminuar dobësitë CVE-2019-9619, e lidhur me mosaktivizimin e pam_systemd për seancat jo interaktive, e cila mundëson organizimin e spfingut të seancës aktive.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster