Capitolo 5. Problemi di cui essere al corrente per stretch

Indice

5.1. Aspetti specifici dell'aggiornamento a Stretch
5.1.1. Late mounting of /usr is no longer supported
5.1.2. Pacchetti obsoleti degni di nota
5.1.3. Componenti deprecati per Stretch
5.1.4. Cose da fare dopo l'aggiornamento prima di riavviare
5.1.5. Executables are now compiled as position independent executables (PIE) by default
5.2. Limitazione nel supporto per la sicurezza
5.2.1. Stato della sicurezza dei browser web
5.2.2. Mancanza di supporto di sicurezza per l'ecosistema di libv8 e Node.js
5.3. Problemi relativi a specifici pacchetti
5.3.1. Protocollo SSH1 e cifrari più vecchi disabilitati in OpenSSH in modo predefinito
5.3.2. Modifiche potenziamente incompatibili all'indietro in APT
5.3.3. Il server Xorg non è più in modo predefinito setuid root
5.3.4. Upstart rimosso
5.3.5. The debhelper tool now generates dbgsym packages by default

A volte i cambiamenti introdotti da un nuovo rilascio comportano effetti collaterali che non si possono ragionevolmente evitare o che espongono a 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 Stretch

Questa sezione tratta le voci relative all'aggiornamento da Jessie a Stretch

5.1.1. Late mounting of /usr is no longer supported

[Nota]Nota

This section only applies to systems using a custom kernel, where /usr is on a separate mount point from /. If you use the kernel packages provided by Debian, you are unaffected by this issue.

Mounting of /usr using only tools found in / is no longer supported. This has only worked for a few specific configurations in the past, and now they are explicitly unsupported.

This means that for stretch all systems where /usr is a separate partition need to use an initramfs generator that will mount /usr. All initramfs generators in Stretch do so.

5.1.2. 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:

5.1.3. Componenti deprecati per Stretch

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

Ciò include le seguenti funzionalità:

  • TODO: Add items if any

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

Quando apt-get dist-upgrade ha terminato, l'aggiornamento è «formalmente» completo, ma ci sono alcune altre cose di cui ci si deve occupare prima del successivo avvio.


      add list of items here
      
    

5.1.5. Executables are now compiled as position independent executables (PIE) by default

[Nota]Nota

This section mainly intended for developers or system administrators. Desktop users are unlikely to be affected by this section.

By default, the GNU GCC 6 compiler provided by Debian stretch will compile all executables as position independent. This provides a mitigation for an entire class of vulnerabilities, but it also leads to some changes that are worth being aware of.

  • The file tool (among other) will classify such binaries as "shared object" rather than an "executable". If you have filters based on binary files, these may need to be updated (e.g. spamfilters).

  • Static libraries being compiled into an executable now also need to be compiled as position independent code. The following error message from the linker is a symptom of this:

    relocation ... against '[SYMBOL]' can not be used when making a shared object; recompile with -fPIC
    

  • Historically, position independent executables have been associated with performance loss on some hardware. Notably the Debian architecture i386 (32-bit Intel machines). While GCC 5 and GCC 6 have greatly improved performance for position independent executables on 32-bit Intel, this optimisation may not be applicable to all architectures. Please consider evaluating the performance of your code if you are targetting machine architectures with very limited number of registers.

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.

Notare che 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

Debian 9 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 tramite l'applicazione delle correzioni di sicurezza alle versioni precedenti. Inoltre la dipendenza reciproca delle librerie rende impossibile aggiornare a una nuova versione. Perciò, in Stretch sono presenti browser basati sui motori webkit, qtwebkit e khtml, ma non sono coperti dal supporto di sicurezza. Non si dovrebbe usare questi browser con siti web non fidati.

Per un browser web di uso generico si raccomanda Firefox oppure Chromium.

Chromium, pur essendo costruito sul codice Webkit, è un pacchetto foglia che verrà mantenuto aggiornato ricompilando i rilasci correnti di Chromium per stable. Firefox e Icedove verranno anch'essi mantenuti aggiornati ricompilando i rilasci ESR correnti per stable.

5.2.2. Mancanza di supporto di sicurezza per l'ecosistema di libv8 e Node.js

La piattaforma Node.js è costruita sulla base di libv8-3.14 che ha un grande volume di problemi di sicurezza ma al momento non ci sono volontari all'interno del progetto o nel Team di sicurezza sufficientemente interessati e con la volontà di investire la grande quantità di tempo richiesto per limitare questi problemi in arrivo.

Sfortunatamente ciò significa che libv8-3.14, nodejs e l'ecosistema di pacchetti node-* associati attualmente non dovrebbe essere usato con contenuti non fidati, come dati non ripuliti presi da Internet.

In aggiunta questi pacchetti non riceveranno alcun aggiornamento di sicurezza durante la vita del rilascio Stretch.

5.3. Problemi relativi a specifici pacchetti

Nella maggior parte dei casi i pacchetti dovrebbero aggiornarsi senza problemi da Jessie a Stretch. 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. Protocollo SSH1 e cifrari più vecchi disabilitati in OpenSSH in modo predefinito

Il rilascio di OpenSSH 7 ha disabilitato in modo predefinito alcuni vecchi cifrari e il protocollo SSH1. Fare attenzione quando si aggiornano macchine a cui si ha accesso solo via SSH.

Fare riferimento alla documentazione di OpenSSH per maggiori informazioni.

5.3.2. Modifiche potenziamente incompatibili all'indietro in APT

Questa sezione copre alcune delle modifiche incompatibili ad APT che potrebbero influenzare il sistema.

5.3.2.1. APT ora recupera i file con un utente non privilegiato («_apt»)

APT ora cerca di liberarsi di tutti i privilegi di root prima di recuperare i file dai mirror. APT può rilevare alcuni casi d'uso comuni dove ciò porterebbe a un fallimento e ripiega sul recuperare il materiale come root dando un avvertimento. Tuttavia può non riuscire a rilevare alcune configurazioni particolari (es. regole di firewall specifiche per UID).

Se si incontrano problemi con questa funzionalità, diventare l'utente «_apt» e controllare che:

  • abbia accesso in lettura ai file in /var/lib/apt/lists e /var/cache/apt/archives;

  • abbia accesso in lettura all'archiviazione della fiducia di APT (/etc/apt/trusted.gpg e /etc/apt/trusted.gpg.d/);

  • possa risolvere nomi DNS e scaricare file. Esempi di metodi per testarlo sono:

    # Dal pacchetto dnsutils (se si usa tor, controllare invece con tor-resolve).
    $ nslookup debian.org >/dev/null || echo "Impossibile risolvere debian.org"
    $ wget -q https://debian.org/ -O- > /dev/null || echo "Impossibile scaricare la pagina indice di debian.org"
    

    Per problemi con DNS controllare che /etc/resolv.conf sia leggibile.

5.3.2.2. Nuovi requisiti per repository APT

[Nota]Nota

This section only applies if you have (or intend to use) third-party repositories enabled or if you maintain an APT repository.

Per migliorare la stabilità degli scaricamenti e garantire la sicurezza dei contenuti scaricati, APT ora ha per i repository APT i seguenti requisiti:

  • Il file InRelease deve essere disponibile.

  • Tutti i metadati devono includere almeno i codici di controllo SHA256 di tutti gli elementi. Ciò include la firma gpg del file InRelease.

  • Le firme del file InRelease devono essere fatte con una chiave di dimensione uguale o maggiore di 2048 bit.

Se ci si affida ad un repository di terze parti che non può conformarsi con i requisiti suddetti, invitare i responsabili ad aggiornare il proprio repository. Ulteriori informazioni sul file InRelease possono essere trovate sul Debian Wiki.

5.3.3. Il server Xorg non è più in modo predefinito setuid root

[Nota]Nota

Questa modifica si applica solo se il proprio display manager di X gestisce l'esecuzione di X senza privilegi di root (o se si avvia X manualmente tramite startx). Attualmente l'unico display manager conosciuto che fa questo è gdm. Gli altri display manager semplicemente avviano X come root, indipendentemente da questo cambiamento.

Questo riduce il rischio di una scalata di privilegi grazie a bug nel server X. Tuttavia, per funzionare, ha alcuni requisiti:

  • Richiede logind e libpam-systemd.

  • Richiede un driver video nel kernel (dato che Xorg non può più comunicare direttamente con l'hardware).

  • Richiede di essere in esecuzione sulla console virtuale da cui è stato avviato.

Quando eseguito come utente normale, il log di Xorg sarà disponibile in ~/.local/share/xorg/.

Se non è possibile soddisfare questi requisiti, installare il pacchetto xserver-xorg-legacy per ripristinare Xorg con setuid.

5.3.4. Upstart rimosso

A causa della mancanza di manutenzione da parte degli autori a monte, il sistema init Upstart è stato rimosso da Stretch. Se il proprio sistema fa affidamento su questo pacchetto, tenere a mente che non verrà aggiornato durante la vita di Debian 9 e che, a partire da Debian 10 (Buster), i compiti upstart potrebbero essere rimossi dai pacchetti.

Considerare il passaggio a un sistema init supportato, come systemd o openrc.

5.3.5. The debhelper tool now generates dbgsym packages by default

[Nota]Nota

This section mainly intended for developers or organizations that build their own debian packages.

The debhelper tool suite will now generate "dbgsym" packages by default for ELF binaries. If you develop and package binaries, please check that your tooling supports these extra auto-generated packages.

If you use reprepro, you want to upgrade it to at least version 4.17.0. At the time of writing, the aptly does not support dbgsym packages.

Should your tooling be unable to cope with these gracefully, you can ask debhelper to disable this feature by adding "noautodbgsym" in the DEB_BUILD_OPTIONS variable of your build service. Please see the dh_strip manpage for more information