Linux è un sistema operativo per desktop open source, alternativo e incentrato sulla privacy. In the face of pervasive telemetry and other privacy-encroaching technologies in mainstream operating systems, desktop Linux has remained the clear choice for people looking for total control over their computers from the ground up.
Il nostro sito web utilizza generalmente il termine "Linux" per descrivere le distribuzioni Linux per desktop. Altri sistemi operativi che utilizzano anch'essi il kernel di Linux, come ChromeOS, Android e Qubes OS non sono discussi su questa pagina.
Note sulla Privacy¶
Esistono alcune notevoli preoccupazioni sulla privacy con Linux, di cui dovresti essere consapevole. Nonostante tali svantaggi, le distribuzioni di Linux per desktop sono comunque ottime per gran parte delle persone che desiderano:
- Evitare la telemetria fornita dai sistemi operativi proprietari
- Maintain software freedom
- Use privacy-focused systems such as Whonix or Tails
Sicurezza Open Source¶
It is a common misconception that Linux and other open-source software are inherently secure simply because the source code is available. There is an expectation that community verification occurs regularly, but this isn’t always the case.
In realtà, la sicurezza della distribuzione dipende da numerosi fattori, come l'attività del progetto, l'esperienza dello sviluppatore, il livello di rigore applicato alle revisioni del codice e quanto spesso è data attenzione a parti specifiche della base di codice, che potrebbero non essere toccate per anni.
Funzionalità di Sicurezza Mancanti¶
Al momento, il desktop Linux è indietro rispetto alle alternative come macOS o Android per quanto riguarda alcune funzionalità di sicurezza. Ci auguriamo di vedere miglioramenti in queste aree in futuro.
-
L'avvio verificato su Linux non è robusto come le alternative, quali l'Avvio Sicuro di Apple o l'Avvio Verificato di Android. L'avvio verificato impedisce la manomissione persistente da parte di malware e da attacchi evil maid, ma è ancora in gran parte non disponibile, anche sulle distribuzioni più avanzate.
-
Il sandboxing forte per le app su Linux è fortemente carente, anche con app containerizzate, come Flatpaks, o le soluzioni di sandbox, come Firejail. Flatpak is the most promising sandboxing utility for Linux thus far, but is still deficient in many areas and allows for unsafe defaults which permit most apps to trivially bypass their sandbox.
Inoltre, Linux è in ritardo nell'implementazione delle mitigazioni di exploit, che sono ora lo standard sugli altri sistemi operativi, come Arbitrary Code Guard su Windows o Hardened Runtime su macOS. Inoltre, gran parte dei programmi per Linux e Linux stesso sono programmati in linguaggi non sicuri per la memoria. Memory corruption bugs are responsible for the majority of vulnerabilities fixed and assigned a CVE. Sebbene ciò sia vero anche per Windows e per macOS, stanno rapidamente facendo progressi nell'adottare linguaggi sicuri per la memoria, come Rust e Swift, rispettivamente, mentre non sembra esistere un simile sforzo per la riscrittura di Linux in un linguaggio sicuro per la memoria, come Rust.
Scegliere la tua distribuzione¶
Non tutte le distribuzioni Linux sono uguali. La nostra pagina di consigli per Linux non è intesa come una fonte autorevole sulla quale distribuzione dovresti utilizzare, ma i nostri consigli sono allineati con le seguenti linee guida. Esistono alcune cose che dovresti tenere a mente scegliendo una distribuzione:
Ciclo di rilascio¶
Ti consigliamo vivamente di scegliere le distribuzioni che restano vicine alle release stabili a monte del software, spesso note come distribuzioni a rilascio continuo. Questo perché le distribuzioni a rilascio congelato, spesso, non aggiornano le versioni dei pacchetti e restano indietro con gli aggiornamenti di sicurezza.
For frozen distributions such as Debian, package maintainers are expected to backport patches to fix vulnerabilities rather than bump the software to the “next version” released by the upstream developer. Some security fixes (particularly for less popular software) do not receive a CVE ID at all and therefore do not make it into the distribution with this patching model. As a result, minor security fixes are sometimes held back until the next major release.
Non crediamo che trattenere i pacchetti e applicare patch provvisorie sia una buona idea, poiché si discosta dal modo in cui lo sviluppatore avrebbe voluto che il software funzionasse. Richard Brown has a presentation about this:
Traditional vs Atomic Updates¶
Tradizionalmente, le distribuzioni di Linux si aggiornano tramite l'aggiornamento sequenziale dei pacchetti desiderati. Traditional updates such as those used in Fedora, Arch Linux, and Debian-based distributions can be less reliable if an error occurs while updating.
Atomic updating distributions, on the other hand, apply updates in full or not at all. On an atomic distribution, if an error occurs while updating (perhaps due to a power failure), nothing is changed on the system.
The atomic update method can achieve reliability with this model and is used for distributions like Silverblue and NixOS. Adam Šamalík provides a presentation on how rpm-ostree
works with Silverblue:
Distribuzioni "Incentrate sulla sicurezza"¶
Spesso si fa confusione tra distribuzioni "incentrate sulla sicurezza" e distribuzioni di "pentesting". Una rapida ricerca della “distribuzione Linux più sicura” mostrerà risultati come Kali Linux, Black Arch, o Parrot OS. Queste distribuzioni sono distribuzioni testate contro la penetrazione offensiva che impacchettano strumenti per testare altri sistemi. Non includono nessuna "ulteriore sicurezza" o mitigazione difensiva intesa per l'utilizzo regolare.
Distribuzioni basate su Arch¶
Arch e le distribuzioni basate su Arch sono sconsigliate per coloro che sono alle prime armi con Linux (indipendentemente dalla distribuzione), poiché richiedono una regolare manutenzione del sistema. Arch non dispone di un meccanismo di aggiornamento della distribuzione, per le scelte software sottostanti. As a result you have to stay aware with current trends and adopt technologies on your own as they supersede older practices.
For a secure system, you are also expected to have sufficient Linux knowledge to properly set up security for their system such as adopting a mandatory access control system, setting up kernel module blacklists, hardening boot parameters, manipulating sysctl parameters, and knowing what components they need such as Polkit.
Chiunque utilizzi il Repository di Arch User (AUR), deve essere a proprio agio nel controllare i PKGBUILD che scarica da tale servizio. AUR packages are community-produced content and are not vetted in any way, and therefore are vulnerable to software Supply Chain Attacks, which has in fact happened in the past.
L'AUR dovrebbe sempre essere utilizzata con parsimonia e, spesso, esistono molti cattivi consigli, su varie pagine, che indirizzano le persone a utilizzare ciecamente gli aiutanti AUR, senza avvertimenti sufficienti. Similar warnings apply to the use of third-party Personal Package Archives (PPAs) on Debian-based distributions or Community Projects (COPR) on Fedora.
Se sei esperto con Linux e vorresti utilizzare una distribuzione basata su Arch, consigliamo generalmente la linea principale di Arch Linux, rispetto a qualsiasi suo derivato.
Inoltre, sconsigliamo, nello specifico, questi due derivati di Arch:
- Manjaro: Questa distribuzione trattiene i pacchetti per 2 settimane per assicurarsi che le proprie modifiche non si corrompano, non per assicurarsi che, tutto sia stabile a monte. Utilizzando i pacchetti AUR, sono spesso compilati con le librerie più recenti dai repository di Arch.
- Garuda: They use Chaotic-AUR which automatically and blindly compiles packages from the AUR. Non esiste alcun processo di verifica per assicurarsi che i pacchetti di AUR non subiscano attacchi alla catena di distribuzione del software.
Distribuzioni del kernel libero di Linux e "Libre"¶
We recommend against using the Linux-libre kernel, since it removes security mitigations and suppresses kernel warnings about vulnerable microcode.
Mandatory access control¶
Mandatory access control is a set of additional security controls which help to confine parts of the system such as apps and system services. The two common forms of mandatory access control found in Linux distributions are SELinux and AppArmor. While Fedora uses SELinux by default, Tumbleweed defaults to AppArmor in the installer, with an option to choose SELinux instead.
SELinux on Fedora confines Linux containers, virtual machines, and service daemons by default. AppArmor is used by the snap daemon for sandboxing snaps which have strict confinement such as Firefox. There is a community effort to confine more parts of the system in Fedora with the ConfinedUsers special interest group.
Consigli generali¶
Crittografia delle Unità¶
Molte delle distribuzioni Linux offrono un opzione nel proprio programma d'installazione per abilitare la FDE di LUKS. Se questa opzione non viene impostata durante l'installazione, dovrai fare il backup dei tuoi dati e reinstallare, in quanto la crittografia viene applicata dopo la partizione del disco, ma prima della formattazione dei file di sistema. Inoltre, suggeriamo di svuotare il tuo dispositivo di archiviazione:
Swap¶
Considera l'utilizzo della ZRAM, invece di un file di swap tradizionale o di una partizione, per evitare di scrivere dati della memoria potenzialmente sensibili, sull'archiviazione persistente (e migliorare le prestazioni). Le distribuzioni basate su Fedora utilzzano la ZRAM di default.
Se richiedi la funzionalità di sospensione su disco (ibernazione), dovresti comunque utilizzare un file di swap o una partizione tradizionale. Assicurati che qualsiasi spazio di swap che possiedi disponga di un dispositivo di archiviazione persistente, come minimo crittografato, per mitigare alcune di queste minacce.
Firmware Proprietario (Aggiornamenti al Microcodice)¶
Alcune distribuzioni di Linux (come le distribuzioni fai da te o basate su Linux-libre), non dispongono degli aggiornamenti proprietari al microcodice, che correggono le vulnerabilità di sicurezza critiche. Some notable examples of these vulnerabilities include Spectre, Meltdown, SSB, Foreshadow, MDS, SWAPGS, and other hardware vulnerabilities.
Consigliamo vivamente che installi gli aggiornamenti al microcodice, poiché contengono importanti correzioni di sicurezza per la CPU, che non sono completamente mitigabili dal solo software. Fedora and openSUSE both apply microcode updates by default.
Aggiornamenti¶
Molte distribuzioni di Linux installano automaticamente gli aggiornamenti o ti ricordano di farlo. È importante mantenere aggiornato il sistema operativo, così che il tuo software sia subito corretto, all'individuazione di una vulnerabilità.
Alcune distribuzioni (in particolare quelle rivolte agli utenti avanzati) sono più scarne e si aspettano che tu faccia le cose da solo (ad esempio Arch o Debian). Per ricevere gli aggiornamenti di sicurezza importanti su queste distribuzioni è necessario eseguire manualmente il "gestore di pacchetti" (apt
, pacman
, dnf
, ecc.).
Inoltre, alcune distribuzioni non scaricano in automatico gli aggiornamenti del firmware. For that, you will need to install fwupd
.
Permission Controls¶
Desktop environments (DEs) that support the Wayland display protocol are more secure than those that only support X11. However, not all DEs take full advantage of Wayland's architectural security improvements.
For example, GNOME has a notable edge in security compared to other DEs by implementing permission controls for third-party software that tries to capture your screen. That is, when a third-party application attempts to capture your screen, you are prompted for your permission to share your screen with the app.
Many alternatives don't provide these same permission controls yet,1 while some are waiting for Wayland to implement these controls upstream.2
Miglioramenti della Privacy¶
Randomizzazione dell'indirizzo MAC¶
Molte distribuzioni di Linux per desktop (Fedora, openSUSE, etc.), dispongono di NetworkManager per configurare le impostazioni Ethernet e Wi-Fi.
It is possible to randomize the MAC address when using NetworkManager. Ciò fornisce una privacy lievemente migliore sulle reti Wi-Fi, complicando il tracciamento di dispositivi specifici sulla rete cui sei connesso. Non ti rende anonimo.
We recommend changing the setting to random instead of stable, as suggested in the article.
Se stai utilizzando systemd-networkd, dovrai impostare MACAddressPolicy=random
che abiliterà RFC 7844 (Profili di Anonimato per i Client DHCP).
La randomizzazione dell'indirizzo MAC è utile soprattutto per le connessioni Wi-Fi. Per le connessioni Ethernet, la randomizzazione dell'indirizzo MAC offre pochi vantaggi (o addirittura nessuno), perché un amministratore di rete può facilmente identificare il tuo dispositivo con altri mezzi (ad esempio ispezionando la porta a cui sei connesso sullo switch di rete). La randomizzazione degli indirizzi MAC del Wi-Fi dipende dal supporto del firmware del Wi-Fi.
Altri identificatori¶
Esistono altri identificatori di sistema a cui dovresti prestare attenzione. Dovresti riflettere su questo aspetto, per capire se si applica al tuo modello di minaccia:
- Nomi del host: Il nome del host del tuo sistema è condiviso con le reti cui ti connetti. Dovresti evitare di includere i termini identificativi, come il tuo nome o sistema operativo nel tuo nome del host, piuttosto utilizzando termini generici o stringhe casuali.
- Nomi utente: Similmente, il tuo nome utente è utilizzato in vari modi nel tuo sistema. Cerca di utilizzare termini generici come "utente", piuttosto che il tuo nome reale.
- Machine ID: During installation, a unique machine ID is generated and stored on your device. Considera di impostarlo a un ID generico.
Conteggio di Sistema¶
Fedora Project conteggia quanti sistemi univoci accedono ai suoi mirror, utilizzando una variabile countme
, invece di un ID univoco. Fedora lo fa per determinare il carico e fornire server migliori per gli aggiornamenti, quando necessario.
Quest'opzione è disabilitata di default. Consigliamo di aggiungere countme=false
a /etc/dnf/dnf.conf
nel caso in cui venga abilitato in futuro. On systems that use rpm-ostree
such as Silverblue, the countme option is disabled by masking the rpm-ostree-countme timer.
openSUSE also uses a unique ID to count systems, which can be disabled by emptying the /var/lib/zypp/AnonymousUniqueId
file.
-
KDE currently has an open proposal to add controls for screen captures: https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/issues/7 ↩
-
Sway is waiting to add specific security controls until they "know how security as a whole is going to play out" in Wayland: https://github.com/swaywm/sway/issues/5118#issuecomment-600054496 ↩