Capitolo 5. Problemi di cui essere al corrente per buster

Indice

5.1. Aspetti specifici dell'aggiornamento a buster
5.1.1. Opzione di mount hidepid per procfs non supportata
5.1.2. l'avvio di upbind fallisce con -no-dbus
5.1.3. sshd fallisce l'autenticazione
5.1.4. Fallisce l'avvio dei demoni o il sistema sembra bloccato durante l'avvio
5.1.5. Migrazione dai sorpassati nomi delle interfacce di rete
5.1.6. Configurazione dei moduli per interfacce fittizie e di bonding
5.1.7. Versione predefinita e livello di sicurezza di OpenSSL aumentati
5.1.8. Alcune applicazioni non funzionano in GNOME con Wayland
5.1.9. Pacchetti obsoleti degni di nota
5.1.10. Componenti deprecati per buster
5.1.11. Cose da fare dopo l'aggiornamento prima di riavviare
5.1.12. Pacchetti relativi a SysV init non più necessari
5.2. Limitazione nel supporto per la sicurezza
5.2.1. Stato della sicurezza dei browser web e dei loro motori di rendering
5.2.2. Pacchetti basati su Go
5.3. Problemi relativi a specifici pacchetti
5.3.1. Glibc richiede un kernel Linux 3.2 o successivo
5.3.2. Semantica cambiata per usare variabili d'ambiente per su
5.3.3. I database PostgreSQL esistenti devono essere reindicizzati
5.3.4. mutt e neomutt
5.3.5. Accesso all'applicazione delle Impostazioni di GNOME senza mouse
5.3.6. gnome-disk-utility fails to change LUKS password causing permanent data loss (buster 10.0 only)
5.3.7. evolution-ews è stato abbandonato e le caselle di posta che usano server Outlook, Exchange o Office365 verranno rimosse
5.3.8. L'installatore di Calamares lascia le chiavi di cifratura del disco leggibili
5.3.9. Cambiamento dell'URL S3QL per i bucket Amazon S3

A volte i cambiamenti introdotti da un nuovo rilascio comportano effetti collaterali che non si possono ragionevolmente evitare o che espongono errori da altre parti. In questa sezione sono documentati i problemi noti. Si leggano anche le errata corrige, la documentazione dei pacchetti interessati, le segnalazioni di errori e altre informazioni riportate in Sezione 6.1, «Ulteriori letture».

5.1. Aspetti specifici dell'aggiornamento a buster

Questa sezione tratta le voci relative all'aggiornamento da stretch a buster.

5.1.1. Opzione di mount hidepid per procfs non supportata

È noto che l'opzione di montaggio hidepid per /proc causa problemi con l'attuale versione di systemd ed è considerata dagli autori originali di systemd come una configurazione non supportata. Agli utenti che hanno modificato /etc/fstab per abilitare questa opzione viene suggerito di disabilitarla prima dell'aggiornamento, per assicurare che le sessioni di login funzionino su buster. (Una possibile soluzione per riabilitarla è descritta nella pagina Hardening del wiki.)

5.1.2. l'avvio di upbind fallisce con -no-dbus

Le opzioni predefinite di ypbind sono cambiate. Tuttavia, se questo file è stato modificato i vecchi valori predefiniti non verranno aggiornati e ci si deve accertare che l'opzione YPBINDARGS= in /etc/default/nis non includa -no-dbus. Se -no-dbus è presente l'avvio di ypbind fallirà e potrebbe non essere possibile fare il login. Per maggiori informazioni vedere il bug n.906436.

5.1.3. sshd fallisce l'autenticazione

La semantica di PubkeyAcceptedKeyTypes e delle opzioni simili HostbasedAcceptedKeyTypes per sshd è cambiata. Ora specificano algoritmi di firma che sono accettati per i rispettivi meccanismi di autenticazione, mentre prima specificavano i tipi di chiave accettati. Questa distinzione è importante quando si usano algoritmi di firma RSA/SHA2 rsa-sha2-256, rsa-sha2-512 e le loro controparti certificato. Le configurazioni che sovrascrivono queste opzioni, ma omettono questi nomi di algoritmi possono causare fallimenti inattesi delle autenticazioni.

Non è necessaria alcuna azione per le configurazioni che accettano i valori predefiniti per queste opzioni.

5.1.4. Fallisce l'avvio dei demoni o il sistema sembra bloccato durante l'avvio

Poiché systemd ha bisogno di entropia durante l'avvio e il kernel tratta tali chiamate come bloccanti quando l'entropia disponibile è poca, il sistema può bloccarsi per un tempo da qualche minuto fino ad ore fino a che il sottosistema della casualità è sufficientemente inizializzato (random: crng init done). Per i sistemi amd64 con supporto per l'istruzione RDRAND questo problema viene evitato dal kernel Debian che usa tale istruzione in modo predefinito (CONFIG_RANDOM_TRUST_CPU).

I sistemi non amd64 e alcuni tipi di macchine virtuali devono fornire una fonte diversa di entropia per continuare l'avvio velocemente. haveged è stato scelto a questo scopo all'interno del progetto dell'Installatore Debian e può essere una valida opzione se l'entropia hardwae non è disponibile sul sistema. Nelle macchine virtuali considerare l'inoltro dell'entropia dall'host alle VM attraverso virtio_rng.

Se si legge questo documento dopo aver fatto l'aggiornamento di un sistema remoto a buster, fare ping al sistema in rete continuamente dato che ciò aggiunge entropia al pool della casualità e il sistema diventerà da ultimo nuovamente raggiungibile via ssh.

Vedere il wiki e la panoramica di DLange sul problema per altre opzioni.

5.1.5. Migrazione dai sorpassati nomi delle interfacce di rete

Se il proprio sistema è stato aggiornato da un rilascio precedente e usa ancora i nomi delle interfacce di rete vecchio stile che sono stati deprecati a partire da stretch (come eth0 o wlan0) si dovrebbe tenere a mente che il meccanismo di definizione dei loro nomi attraverso /etc/udev/rules.d/70-persistent-net.rules non è più ufficialmente supportato da udev in buster (sebbene possa ancora funzionare in alcuni casi). Per evitare il pericolo che la macchina perda la connettività di rete dopo l'aggiornamento a buster, è raccomandata la migrazione in anticipo al nuovo schema di nomi (solitamente ciò significa nomi come enp0s1 o wlp2s5 che incorporano bus PCI e numeri di slot). Assicurarsi di aggiornare ogni nome di interfaccia codificato in modo fisso nella configurazione per firewall, ifupdown e così via.

The alternative is to switch to a supported mechanism for enforcing the old naming scheme, such as a systemd .link file (see systemd.link(5)). The net.ifnames=0 kernel commandline option might also work for systems with only one network interface (of a given type).

Per trovare i nomi nel nuovo stile che saranno utilizzati, trovare prima i nomi attuali delle interfacce interessate:

$ echo /sys/class/net/[ew]*
    

Per ciascuno di questi nomi controllare se è utilizzato in file di configurazione e quale nome udev preferirebbe usare per esso:

$ sudo rgrep -w eth0 /etc
$ udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null
    

This should give enough information to devise a migration plan. (If the udevadm output includes an «onboard» or «slot» name, that takes priority; MAC-based names are normally treated as a fallback, but may be needed for USB network hardware.)

Una volta che si è pronti a fare il passaggio, disabilitare 70-persistent-net.rules rinominandolo o commentando le singole righe. Nelle macchine virtuali è necessario rimuovere i file /etc/systemd/network/99-default.link e (se si usano devide di rete virtio) /etc/systemd/network/50-virtio-kernel-names.link. Poi ricreare il file initrd:

$ sudo update-initramfs -u
    

e riavviare. Il sistema dovrebbe avere ora i nomi di interfacce di rete nel nuovo stile. Aggiustare ogni file di configurazione rimanente e testare il sistema.

See the wiki, upstream documentation, and the udev README.Debian for further information.

5.1.6. Configurazione dei moduli per interfacce fittizie e di bonding

I sistemi che usano interfacce fittizie ("dummy") e/o bonding dei canali per esempio per configurare una macchina come router, possono incontrare problemi nell'aggiornamento a buster. Le nuove versioni di systemd installano un file /lib/modprobe.d/systemd.conf (pensato per semplificare la configurazione attraverso systemd-networkd) contenente le righe

 options bonding max_bonds=0
 options dummy numdummies=0
    

Gli amministratori che dipendo da valori diversi devono assicurarsi di averli impostati in modo corretto in modo che abbiano la precedenza. Un file in /etc/modprobe.d scavalcherà uno con lo stesso nome in /lib/modprobe.d, ma i nomi sono elaborati in ordine alfabetico, perciò /lib/modprobe.d/systemd.conf segue e sovrascrive le impostazioni (ad esempio) di /etc/modprobe.d/dummy.conf. Assicurarsi che qualsiasi file locale abbia un nome che viene ordinato dopo «systemd.conf», come «/etc/modprobe.d/zz-local.conf».

5.1.7. Versione predefinita e livello di sicurezza di OpenSSL aumentati

Seguendo diverse raccomandazioni di sicurezza la versione minima predefinita di TLS è stata modificata da TLSv1 a TLSv1.2.

Anche il livello di sicurezza predefinito per le connessioni TLS è stato aumentato dal livello 1 al 2. Ciò sposta dal livello di sicurezza a 80 bit a quello a 112 bit e richiede chiavi RSA e DHE a minimo 2048, chiavi ECC a minimo 224 bit e SHA-2.

Le impostazioni a livello di sistema possono essere modificate in /etc/ssl/openssl.cnf. Inoltre le applicazioni possono avere un modo specifico per ciascuna applicazione di scavalcare i valori predefiniti.

Nel file /etc/ssl/openssl.cnf predefinito è presente una riga MinProtocol e una CipherString. CipherString può anche impostare il livello di sicurezza. Informazioni sui livelli di sicurezza possono essere trovate nella magina di manuale SSL_CTX_set_security_level(3ssl). L'elenco delle stringhe valide per la versione minima del protocollo può essere trovato in SSL_CONF_cmd(3ssl). Ulteriori informazioni possono essere trovate in ciphers(1ssl) e config(5ssl).

Si possono modificare i valori predefiniti a livello di sistema in /etc/ssl/openssl.cnf ai loro valori precedenti impostando:

        MinProtocol = None
        CipherString = DEFAULT
      

È raccomandato contattare il sito remoto se i valori predefiniti causano problemi.

5.1.8. Alcune applicazioni non funzionano in GNOME con Wayland

GNOME in buster ha cambiato il suo server di visualizzazione predefinito da Xorg a Wayland (vedere Sezione 2.2.11, «GNOME usa in modo predefinito Wayland»). Alcune applicazioni, incluso il popolare gestore di pacchetti synaptic, il metodo di input predefinito per il cinese semplificato, fcitx, e la maggior parte delle applicazioni per registrare lo schermo, non sono state aggiornate per funzionare correttamente in Wayland. Per poter usare questi pacchetti è necessario fare il login con una sessione di GNOME in Xorg.

5.1.9. Pacchetti obsoleti degni di nota

Quello che segue è un elenco di pacchetti obsoleti noti e degni di nota (vedere Sezione 4.8, «Pacchetti obsoleti» per una descrizione).

L'elenco dei pacchetti obsoleti comprende:

  • Il pacchetto mcelog non è più supportato con le versioni del kernel più recenti di 4.12. rasdaemon può essere usato come suo rimpiazzo.

  • Il pacchetto revelation, che è usato per archiviare password, non è incluso in buster. keepass2 può importare file XML di password precedentemente esportati da revelation. Assicurarsi di esportare i propri dati da revelation prima dell'aggiornamento, per evitare di perdere l'accesso alle proprie password.

  • Il pacchetto phpmyadmin non è incluso in buster.

  • ipsec-toolse raconn sono stati rimossi da buster dato che la fonte originale è in ritardo con gli adattamenti ai nuovi pericoli.

    È consigliato agli utente di migrare a libreswan, che ha una più ampia compatibilità del protocollo ed è attivamente mantenuto dagli autori originali a monte.

    libreswan dovrebbe essere completamente compatibile in termini di protocolli di comunicazione dato che implementa un sovrainsieme dei protocolli supportati da racoon.

  • Il semplice MTA ssmtp è stato abbandonato per buster. Ciò a causa del fatto che attualmente con convalida i certificati TLS; vedere il bug n.662960.

  • Il pacchetto ecryptfs-utils non fa parte di buster a causa di un grave bug non risolto (nr. 765854). Al momento della stesura di questo paragrafo non esiste un chiaro suggerimento per gli utenti di eCryptfs, a parte non aggiornare.

5.1.10. Componenti deprecati per buster

Con il prossimo rilascio di Debian 11 (nome in codice bullseye) alcune funzionalità diventeranno deprecate. Gli utenti dovranno migrare ad altre alternative per evitare problemi nell'aggiornamento a Debian 11.

Ciò include le seguenti funzionalità:

  • Python 2 non verrà più supportato dagli autori a monte a partire dal 1° gennaio 2020. Debian spera di abbandonare python-2.7 per Debian 11. Se gli utenti hanno funzionalità che si basano su python dovrebbero prepararsi a migrare a python3.

  • Icinga 1.x ha raggiunto la sua fine vita (EOL) per gli autori originali a partire dal 2018-12-31, mentre il pacchetto icinga è sempre presente; gli utenti dovrebbero usare la durata di vita di buster per migrare ad Icinga 2 (pacchetto icinga2) e Icinga Web 2 (pacchetto icingaweb2). Il pacchetto icinga2-classicui è ancora presente per usare l'interfaccia web CGI di Icinga 1.x con Icinga 2, ma il supporto per esso verrà rimosso in Icinga 2.11. Si dovrebbe usare invece Icinga Web 2.

  • La versione 3 della suite del gestore di mailing-list Mailman è disponibile per la prima volta in questo rilascio. Mailman è stato diviso in vari componenti; la parte principale è disponibile nel pacchetto mailman3 e la suite completa può essere ottenuta tramite il metapacchetto mailman3-full.

    La versione datata 2.1 di Mailman rimane disponibile in questo rilascio nel pacchetto mailman, perciò è possibile migrare le installazioni esistenti seguendo i propri ritmi. Il pacchetto di Mailman 2.1 verrà mantenuto in buone condizioni per il prossimo futuro, ma non vedrà grandi modifiche o migliorie. Verrà rimosso dal primo rilascio di Debian successivo all'interruzione del supporto a tale ramo da parte degli autori originali.

    È raccomandato a tutti di aggiornare a Mailman 3, il rilascio moderno in fase di attivo sviluppo.

  • I pacchetti spf-milter-python e dkim-milter-python non sono più mantenuti dagli autori originali a monte, ma sono disponibili in buster i loro rimpiazzi più ricchi di funzionalità: pyspf-milter e dkimpy-milter. Gli utenti dovrebbero migrare ai nuovi pacchetti prima che i vecchi vengano rimossi in bullseye.

5.1.11. Cose da fare dopo l'aggiornamento prima di riavviare

Quando apt full-upgrade ha terminato, l'aggiornamento è «formalmente» completo. Per l'aggiornamento a buster non ci sono azioni speciali necessarie prima di effettuare un riavvio.

5.1.12. Pacchetti relativi a SysV init non più necessari

[Nota]Nota

Questa sezione non si applica a coloro che hanno deciso di rimanere con sysvinit-core.

Dopo il passaggio a systemd come sistema init predefinito avvenuto in Jessie e ulteriormente raffinato in Stretch, vari pacchetti relativi a SysV non sono più necessari e possono essere ora eliminati definitivamente usando

apt purge initscripts sysv-rc insserv startpar

5.2. Limitazione nel supporto per la sicurezza

Ci sono alcuni pacchetti per i quali Debian non può garantire di fornire i backport minimi per ragioni di sicurezza. Questi verranno trattati nelle sottosezioni che seguono.

[Nota]Nota

Il pacchetto debian-security-support aiuta a tenere traccia dello stato del supporto di sicurezza per i pacchetti installati.

5.2.1. Stato della sicurezza dei browser web e dei loro motori di rendering

Debian 10 contiene diversi motori per browser che sono affetti da varie vulnerabilità di sicurezza. L'alto tasso di vulnerabilità e la parziale mancanza di supporto a lungo termine da parte degli autori originali complica l'attività di supporto di questi browser e motori tramite il backport delle correzioni di sicurezza alle versioni precedenti. Inoltre la dipendenza reciproca delle librerie rende estremamente difficile aggiornare a una nuova versione a monte. Perciò, in buster sono presenti browser basati ad esempio sui motori webkit e khtml[6], ma non sono coperti dal supporto di sicurezza. Non si dovrebbe usare questi browser con siti web non fidati. Il pacchetto sorgente webkit2gtk è coperto dal supporto di sicurezza.

Per un browser web di uso generico vengono raccomandati Firefox o Chromium. Verranno mantenuti aggiornati ricompilando gli attuali rilasci ESR per stable. La stessa strategia verrà seguita per Thunderbird.

5.2.2. Pacchetti basati su Go

L'infrastruttura Debian attualmente non abilita in modo corretto la ricompilazione di pacchetti con link statico a parti di altri pacchetti su larga scala. Fino a buster questo non era in pratica un problema, ma con il crescere dell'ecosistema Go ciò significa che i pacchetti basati su Go non saranno coperti dal regolare supporto di sicurezza fino a che l'infrastruttura non sarà migliorata per poter lavorare con essi in modo mantenibile.

Se sono necessari aggiornmenti, questi possono solamente passare attraverso i regolari rilasi minori, che possono essere lenti ad arrivare.

5.3. Problemi relativi a specifici pacchetti

Nella maggior parte dei casi i pacchetti dovrebbero aggiornarsi senza problemi da stretch a buster. C'è un numero limitato di casi dove può essere necessario un qualche intervento, prima o durante l'aggiornamento; questi casi sono descritti in dettaglio di seguito, pacchetto per pacchetto.

5.3.1. Glibc richiede un kernel Linux 3.2 o successivo

A partire da glibc 2.26 è necessario un kernel Linux 3.2 o successivo. Per evitare di rendere il sistema completamente inutilizzabile, lo script di preinstallazione di libc6 effettua un controllo. Se questo fallisce l'installazione del pacchetto viene abortita, il che lascia l'aggiornamento non terminato. Se il sistema ha in esecuzione un kernel più vecchio di 3.2, aggiornarlo prima di avviare l'aggiornamento della distribuzione.

5.3.2. Semantica cambiata per usare variabili d'ambiente per su

su ha cambiato semantica in buster e non preserva più le variabili d'ambiente DISPLAY e XAUTHORITY. Se si devono eseguire applicazioni grafiche con su è necessario impostarle esplicitamente per permettere l'accesso al display. Vedere il bug n.905409 per una ampia discussione in merito.

5.3.3. I database PostgreSQL esistenti devono essere reindicizzati

Quando si aggiorna da stretch a buster i dati di localizzazione glibc vengono aggiornati. Specificatamente ciò cambia come PostgreSQL ordina i dati negli indici testuali. Per evitare corruzioni, tali indici devono essere reindicizzati con REINDEX immediatamente dopo l'aggiornamento dei pacchetti localeso locales-all, prima di rimettere il database in produzione.

Comando suggerito:

sudo -u postgres reindexdb --all

In alternativa aggiornare i database a PostgreSQL 11 usando pg_upgradecluster. (Questo usa pg_dump in modo predefinito il quale recreerà tutti gli indici. L'uso di -m upgrade o pg_upgrade non è sicuro perché preserva l'ordinamento degli indici ora sbagliato.)

Fare riferimento al Wiki di PostgreSQL per maggiori informazioni.

5.3.4. mutt e neomutt

In stretch il pacchetto mutt aveva patch applicate ai sorgenti da https://neomutt.org. A partire da buster, il pacchetto che fornisce /usr/bin/mutt è invece basato puramente sui sorgenti originali da http://www.mutt.org e un pacchetto separato neomutt è disponibile e fornisce /usr/bin/neomutt.

Ciò significa che alcune delle funzionalità che erano prima fornite da mutt ora non sono più disponibili. Se ciò rende difettosa la propria configurazione si può invece installare neomutt.

5.3.5. Accesso all'applicazione delle Impostazioni di GNOME senza mouse

Senza un dispositivo puntatore non esiste un modo diretto per cambiare le impostazioni nell'applicazione Impostazioni di GNOME fornita da gnome-control-center. Per aggirare il problema si può navigare dalla barra laterale ai contenuti principali usando freccia a destra due volte. Per ritornare alla barra laterale si può avviare una ricerca con Ctrl+F, digitare qualcosa, poi premere Esc per annullare la ricerca. Ora si possono usare Freccia in su e Freccia in giù per navigare nella barra laterale. Non è possibile selezionare i risultati di una ricerca con la tastiera.

5.3.6.  gnome-disk-utility fails to change LUKS password causing permanent data loss (buster 10.0 only)

Users of the initial buster release images should not change the LUKS password of encrypted disks with the GNOME graphical interface for disk management. The gnome-disk-utility package in buster had a very nasty bug (#928893) when used to change the LUKS password: it deleted the old password but failed to correctly set the new one, making all data on the disk inaccessible. This has been fixed in the first point release.

5.3.7.  evolution-ews è stato abbandonato e le caselle di posta che usano server Outlook, Exchange o Office365 verranno rimosse

Gli utenti che usano evolution come client di posta e si connettono ad un server con in esecuzione Exchange, Office365 o Outlook usando il plugin evolution-ews non dovrebbero aggiornare a buster prima di aver fatto un backup dei dati e aver trovato una soluzione alternativa, dato che evolution-ews è stato abbandonato a causa del bug n.926712 e le loro caselle di posta, calendari, elenchi di contatti e attività verranno rimossi e non saranno più accessibili con Evolution.

Il pacchetto evolution-ews è stato reintrodotto attraverso buster-backports. Gli utenti che aggiornano da stretch a buster possono abilitare buster-backports dopo l'aggiornamento e saranno quindi in grado di reinstallare evolution-ews.

5.3.8.  L'installatore di Calamares lascia le chiavi di cifratura del disco leggibili

Quando si installa Debian da supporti live usando l'installatore Calamares (Sezione 2.2.13, «Novità dal Team Debian Live») e selezionando la funzionalità di cifratura dell'intero disco, la chiave di sblocco del disco viene memorizzata nell'initramfs che è leggibile da tutti. Ciò permette agli utenti con accesso al file system locale di leggere la chiave privata ed ottenere nuovamente accesso al file system in futuro.

Questo problema può essere aggirato aggiungendo UMASK=0077 a /etc/initramfs-tools/conf.d/initramfs-permissions ed eseguendo update-initramfs -u. Questo ricrea l'initramfs senza i permessi di lettura per tutti.

Una risoluzione per l'installatore è già in programma (vedere il bug n.931373) e verrà caricata in debian-security. Nel frattempo gli utenti con cifratura dell'intero disco dovrebbero usare la soluzione temporanea descritta sopra.

5.3.9.  Cambiamento dell'URL S3QL per i bucket Amazon S3

Quando si usa s3ql con bucket Amazon S3 la configurazione deve essere aggiornata per un cambiamento nell'URL. Il nuovo formato è:

s3://<regione>/<bucket>/<prefisso>



[6] Questi motori vengono forniti in svariati diversi pacchetti sorgenti e le preoccupazioni valgono per tutti i pacchetti che li forniscono. La preoccupazione si estende anche ai motori di rendering web qui non menzionati esplicitamente, con l'eccezione di webkit2gtk.