Rilascio del gestore di sistema systemd 248

Dopo quattro mesi di sviluppo, è stato presentato il rilascio del gestore di sistema systemd 248. In questo nuovo rilascio è stata assicurata la supporto per le immagini che espandono le directory di sistema, il file di configurazione /etc/veritytab, l'utilità systemd-cryptenroll, lo sblocco di LUKS2 tramite chip TPM2 e token FIDO2, il lancio di unità in uno spazio isolato di identificazione IPC, il protocollo B.A.T.M.A.N. per reti mesh, e il backend nftables per systemd-nspawn. Stabilizzato systemd-oomd.

Variazioni principali:

  • È stata implementata la concezione delle immagini di estensione del sistema (System Extension), che possono essere utilizzate per espandere la gerarchia delle directory /usr/ e /opt/, e aggiungere file aggiuntivi durante il funzionamento, anche se le directory indicate sono montate in modalità sola lettura. Quando un'immagine di estensione del sistema viene collegata, il suo contenuto viene sovrapposto sulla gerarchia di /usr/ e /opt/ tramite OverlayFS.

    Per collegare, scollegare, visualizzare e aggiornare le immagini delle estensioni del sistema è stata proposta una nuova utilità systemd-sysext. Per il collegamento automatico delle immagini già installate durante l'avvio è stato aggiunto il servizio systemd-sysext.service. Nel file os-release è stato aggiunto il parametro "SYSEXT_LEVEL=" per determinare il livello delle estensioni del sistema supportate.

  • Per le unità è stata implementata la configurazione ExtensionImages, che può essere utilizzata per legare le immagini di estensione del sistema alla gerarchia degli spazi di nomi del filesystem di singoli servizi isolati.
  • È stato aggiunto il file di configurazione /etc/veritytab per configurare la verifica dei dati a livello di blocco utilizzando il modulo dm-verity. Il formato del file è simile a /etc/crypttab — "nome_partizione dispositivo_per_dati dispositivo_per_hash hash_verifica_radice opzioni". Per configurare il comportamento di dm-verity per il dispositivo radice è stato aggiunto il parametro della riga di comando del kernel systemd.verity.root_options.
  • In systemd-cryptsetup è stata aggiunta la possibilità di estrarre l'URI del token PKCS#11 e la chiave crittografata dall'intestazione dei metadati LUKS2 in formato JSON, il che consente di integrare le informazioni per l'apertura del dispositivo crittografato all'interno dello stesso dispositivo senza coinvolgere file esterni.
  • In systemd-cryptsetup è stato fornito il supporto per lo sblocco delle partizioni crittografate LUKS2 tramite chip TPM2 e token FIDO2, oltre ai token PKCS#11 già supportati. Il caricamento di libfido2 avviene tramite dlopen(), cioè la presenza viene verificata al volo, non come una dipendenza rigidamente legata.
  • Nel file /etc/crypttab per systemd-cryptsetup sono state aggiunte nuove opzioni «no-write-workqueue» e «no-read-workqueue» per abilitare l'elaborazione sincrona delle operazioni di input/output relative alla crittografia e decrittografia.
  • Nell'utilità systemd-repart è stata aggiunta la possibilità di attivare le partizioni crittografate utilizzando chip TPM2, ad esempio, per creare una partizione crittografata /var al primo avvio.
  • È stato aggiunto lo strumento systemd-cryptenroll per associare token TPM2, FIDO2 e PKCS#11 a partizioni LUKS, nonché per dissociare e visualizzare token, associare chiavi di backup e impostare una password per l'accesso.
  • È stata aggiunta l'opzione PrivateIPC, che consente di configurare l'avvio dei processi in uno spazio IPC isolato con i propri identificativi e coda di messaggi. Per connettere l'unità a uno spazio identificativo IPC già creato è stata proposta l'opzione IPCNamespacePath.
  • Sono state aggiunte le impostazioni ExecPaths e NoExecPaths, che consentono di applicare il flag noexec a parti specifiche del filesystem.
  • In systemd-networkd è stato aggiunto il supporto per il protocollo mesh B.A.T.M.A.N. («Better Approach To Mobile Adhoc Networking»), che consente di creare reti decentralizzate in cui ogni nodo è connesso tramite nodi vicini. Per la configurazione è stata proposta la sezione [BatmanAdvanced] nel file .netdev, il parametro BatmanAdvanced nei file .network e un nuovo tipo di dispositivo «batadv».
  • È stata stabilizzata l'implementazione del meccanismo di risposta tempestiva alla mancanza di memoria nel sistema systemd-oomd. È stata aggiunta l'opzione DefaultMemoryPressureDurationSec per configurare il tempo di attesa per il rilascio delle risorse prima di influenzare l'unità. Systemd-oomd utilizza la sottosistema del kernel PSI (Pressure Stall Information) e consente di individuare l'inizio dei ritardi causati dalla falta di risorse e di terminare selettivamente i processi ad alta intensità di risorse in una fase in cui il sistema non è ancora in uno stato critico e non inizia a ridurre intensamente la cache e a espellere i dati nella partizione di swap.
  • È stato aggiunto un parametro della riga di comando del kernel — «root=tmpfs», che consente di montare la partizione radice in uno storage temporaneo situato nella memoria RAM utilizzando Tmpfs.
  • Il parametro in /etc/crypttab che definisce il file con la chiave può ora puntare a socket di tipo AF_UNIX e SOCK_STREAM. In questo caso, la chiave deve essere fornita durante il collegamento al socket, il che, ad esempio, può essere utilizzato per creare servizi che forniscono dinamicamente chiavi.
  • Il nome host di riserva (fallback) da utilizzare con il gestore di sistema e systemd-hostnamed può ora essere impostato in due modi: tramite il parametro DEFAULT_HOSTNAME in os-release e tramite la variabile d'ambiente $SYSTEMD_DEFAULT_HOSTNAME. In systemd-hostnamed è stata anche implementata la gestione dell'indicazione di «localhost» nel nome host e è stata aggiunta la possibilità di esportare il nome host, oltre alle proprietà «HardwareVendor» e «HardwareModel» tramite DBus.
  • Il blocco delle variabili d'ambiente può ora essere configurato tramite la nuova opzione ManagerEnvironment in system.conf o user.conf, e non solo tramite la riga di comando del kernel e le impostazioni dei file unit.
  • Nella fase di compilazione è stata fornita la possibilità di utilizzare la syscall fexecve() invece di execve() per ridurre il ritardo tra il controllo del contesto di sicurezza e la sua applicazione.
  • Per i file unit sono state aggiunte nuove operazioni condizionali ConditionSecurity=tpm2 e ConditionCPUFeature per verificare la presenza di dispositivi TPM2 e particolari funzionalità della CPU (ad esempio, ConditionCPUFeature=rdrand può essere utilizzato per verificare il supporto da parte della CPU dell'operazione RDRAND).
  • Per i kernel disponibili è stata implementata la generazione automatica delle tabelle delle syscalls per i filtri seccomp.
  • È stata aggiunta la possibilità di montare nuovi bind mounts in spazi di nomi di montaggio esistenti dei servizi, senza dover riavviare i servizi. Il montaggio viene eseguito con i comandi ‘systemctl bind …’ e ‘systemctl mount-image …’.
  • Nelle impostazioni StandardOutput e StandardError è stata aggiunta la supporto per specificare percorsi nella forma «truncate:» per la cancellazione prima dell'uso.
  • In sd-bus è stata aggiunta la possibilità di stabilire una connessione con la sessione di un utente specifico all'interno di un contenitore locale. Ad esempio «systemctl —user -M lennart@ start quux».
  • Nei file systemd.link, nella sezione [Link] sono stati implementati i seguenti parametri:
    • Promiscuous — consente di portare il dispositivo in modalità «promiscuous» per gestire tutti i pacchetti di rete, inclusi quelli non indirizzati al sistema attuale;
    • TransmitQueues e ReceiveQueues per configurare il numero di code TX e RX;
    • TransmitQueueLength per configurare la dimensione della coda TX; GenericSegmentOffloadMaxBytes e GenericSegmentOffloadMaxSegment per impostare i limiti sull'applicazione della tecnologia GRO (Generic Receive Offload).
  • Nei file systemd.network sono state aggiunte nuove impostazioni:
    • [Network] RouteTable per scegliere la tabella di routing;
    • [RoutingPolicyRule] Type per il tipo di routing («blackhole», «unreachable», «prohibit»);
    • [IPv6AcceptRA] RouteDenyList e RouteAllowList per le liste di annunci di percorso autorizzati e bloccati;
    • [DHCPv6] UseAddress per ignorare l'indirizzo DHCP assegnato;
    • [DHCPv6PrefixDelegation] ManageTemporaryAddress;
    • ActivationPolicy per definire la politica relativa all'attività dell'interfaccia (mantenere sempre in stato UP o DOWN oppure consentire all'utente di modificare gli stati tramite il comando ‘ip link set dev’).
  • Aggiunte al file systemd.netdev le opzioni [VLAN] Protocol, IngressQOSMaps, EgressQOSMaps e [MACVLAN] BroadcastMulticastQueueLength per configurare la gestione dei pacchetti VLAN.
  • Interrotto il montaggio della directory /dev/ in modalità noexec, poiché questo causa un conflitto nell'uso del flag eseguibile con i file /dev/sgx. Per ripristinare il comportamento precedente, è possibile utilizzare l'opzione NoExecPaths=/dev.
  • I permessi del file /dev/vsock sono stati modificati in 0o666, e i file /dev/vhost-vsock e /dev/vhost-net sono stati spostati nel gruppo. kvm.
  • La base degli identificatori dell'hardware è stata ampliata con dispositivi USB per la lettura delle impronte digitali, che supportano correttamente il passaggio in modalità sleep.
  • systemd-resolved ha aggiunto supporto per l'emissione di risposte a query DNSSEC tramite lo stub resolver. I client locali possono effettuare la validazione DNSSEC da soli, mentre le esterne vengono inoltrate inalterate al server DNS padre.
  • Nel resolved.conf è stata aggiunta l'opzione CacheFromLocalhost, attivando la quale systemd-resolved utilizzerà la memorizzazione nella cache anche per le richieste al server DNS all'indirizzo 127.0.0.1 (per impostazione predefinita, la memorizzazione nella cache di tali richieste è disabilitata per evitare la doppia memorizzazione nella cache).
  • In systemd-resolved è stato aggiunto il supporto per RFC-5001 NSID nel resolver DNS locale, consentendo ai client di distinguere l'interazione con il resolver locale e altri. server DNS.
  • Nell'utilità resolvectl è stata implementata la possibilità di visualizzare dettagli sulla fonte dei dati (cache locale, richiesta di rete, risposta del gestore locale) e sull'applicazione della crittografia durante la trasmissione dei dati. Per gestire il processo di risoluzione dei nomi sono state proposte le opzioni —cache, —synthesize, —network, —zone, —trust-anchor e —validate.
  • In systemd-nspawn è stata aggiunta la possibilità di configurare il firewall usando nftables, in aggiunta al supporto già esistente per iptables. Nella configurazione IPMasquerade in systemd-networkd è stata aggiunta la possibilità di utilizzare un backend basato su nftables.
  • In systemd-localed è stata aggiunta la supporto per richiamare locale-gen per generare le località mancanti.
  • Sono state aggiunte opzioni alle varie utilità —pager/—no-pager/—json= per attivare/disattivare la visualizzazione paginata e l'uscita in formato JSON. È stata aggiunta la possibilità di impostare il numero di colori utilizzati nel terminale tramite la variabile d'ambiente SYSTEMD_COLORS («16» o «256»).
  • Sono state dichiarate obsoleti i build con gerarchie di directory separate (distinzione tra / e /usr) e il supporto per cgroup v1.
  • Il ramo principale in Git è stato rinominato da 'master' a 'main'.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster