Aller au contenu

Présentation de Linux

On croit souvent que les logiciels open-source sont intrinsèquement sûrs parce que le code source est disponible. On s'attend à ce que la vérification de la communauté ait lieu régulièrement ; cependant, ce n'est pas toujours le cas. Cela dépend d'un certain nombre de facteurs, tels que l'activité du projet, l'expérience du développeur, le niveau de rigueur appliqué aux revues de code, et la fréquence de l'attention accordée à certaines parties spécifiques du codebase qui peuvent rester à l'abandon pendant des années.

À l'heure actuelle, les systèmes GNU/Linux de bureau ont certains domaines qui pourraient être améliorés par rapport à leurs homologues propriétaires, par exemple :

Malgré ces inconvénients, les distributions GNU/Linux de bureau sont excellentes si vous souhaitez :

  • Évitez la télémétrie qui accompagne souvent les systèmes d'exploitation propriétaires
  • Maintenir la liberté des logiciels
  • Disposer de systèmes axés sur la protection de la vie privée tels que Whonix ou Tails

Notre site web utilise généralement le terme "Linux" pour décrire les distributions GNU/Linux de bureau. Les autres systèmes d'exploitation qui utilisent également le noyau Linux, tels que ChromeOS, Android et Qubes OS, ne sont pas abordés ici.

Nos recommandations Linux

Choisir sa distribution

Toutes les distributions Linux ne sont pas créées égales. Bien que notre page de recommandations Linux ne soit pas censée être une source faisant autorité sur la distribution que vous devriez utiliser, il y a quelques éléments que vous devriez garder à l'esprit lors du choix de la distribution à utiliser.

Cycle de mises à jour

Nous vous recommandons vivement de choisir des distributions qui restent proches des versions stables des logiciels en amont, souvent appelées distributions à publications continues. En effet, les distributions à cycle de publication gelé ne mettent souvent pas à jour les versions des paquets et prennent du retard sur les mises à jour de sécurité.

Pour les distributions gelées telles que Debian, les responsables de paquets sont censés rapporter les correctifs pour corriger les vulnérabilités plutôt que de faire passer le logiciel à la "prochaine version" publiée par le développeur en amont. Certains correctifs de sécurité ne reçoivent pas du tout de CVE (en particulier les logiciels moins populaires) et ne sont donc pas intégrés à la distribution avec ce modèle de correctifs. Par conséquent, les corrections de sécurité mineures sont parfois reportées à la prochaine version majeure.

Nous ne pensons pas que retenir les paquets et appliquer des correctifs provisoires soit une bonne idée, car cela s'écarte de la manière dont le développeur aurait pu vouloir que le logiciel fonctionne. Richard Brown propose une présentation à ce sujet :

Mises à jour traditionnelles et atomiques

Traditionnellement, les distributions Linux se mettent à jour en mettant séquentiellement à jour les paquets souhaités. Les mises à jour traditionnelles, telles que celles utilisées dans les distributions basées sur Fedora, Arch Linux et Debian, peuvent être moins fiables si une erreur se produit lors de la mise à jour.

Les distributions à mises à jour atomiques appliquent les mises à jour dans leur intégralité ou pas du tout. En général, les systèmes de mise à jour transactionnelle sont également atomiques.

Un système de mise à jour transactionnelle crée un instantané qui est réalisé avant et après l'application d'une mise à jour. Si une mise à jour échoue à un moment donné (par exemple en raison d'une panne de courant), elle peut facilement être ramenée au "dernier état correct connu."

La méthode de mise à jour atomique est utilisée pour les distributions immuables comme Silverblue, Tumbleweed et NixOS et permet d'atteindre la fiabilité avec ce modèle. Adam Šamalík a fait une présentation sur le fonctionnement de rpm-ostree avec Silverblue :

"Distributions "axées sur la sécurité

Il y a souvent une certaine confusion entre les distributions "axées sur la sécurité" et les distributions pour les "tests de pénétration". Une recherche rapide de "la distribution Linux la plus sûre" donne souvent des résultats comme Kali Linux, Black Arch et Parrot OS. Ces distributions sont des distributions de tests de pénétration offensifs qui regroupent des outils pour tester d'autres systèmes. Elles n'incluent pas de "sécurité supplémentaire" ni de mesures d'atténuation défensives destinées à une utilisation régulière.

Distributions basées sur Arch Linux

Les distributions basées sur Arch ne sont pas recommandées pour les débutants en Linux (quelle que soit la distribution) car elles nécessitent une maintenance régulière du système. Arch ne dispose pas d'un mécanisme de mise à jour de la distribution pour les choix logiciels sous-jacents. Par conséquent, vous devez rester au courant des tendances actuelles et adopter les technologies au fur et à mesure qu'elles remplacent les anciennes pratiques.

Pour un système sécurisé, vous êtes également censé avoir une connaissance suffisante de Linux pour configurer correctement la sécurité de votre système, par exemple en adoptant un système de contrôle d'accès obligatoire, en configurant des listes noires de modules du noyau, en renforçant les paramètres de démarrage, en manipulant les paramètres sysctl, et en sachant de quels composants ils ont besoin, comme Polkit.

Toute personne utilisant l'Arch User Repository (AUR), doit être à l'aise pour auditer les PKGBUILDs qu'elle installe à partir de ce service. Les paquets AUR sont des contenus produits par la communauté et ne font l'objet d'aucune vérification. Ils sont donc vulnérables aux attaques de la chaîne d'approvisionnement des logiciels, ce qui s'est d'ailleurs produit dans le passé. AUR doit toujours être utilisé avec parcimonie et il existe souvent de nombreux mauvais conseils sur diverses pages qui incitent les gens à utiliser aveuglément AUR helpers sans avertissement suffisant. Des avertissements similaires s'appliquent à l'utilisation d'Archives de Paquets Personnels (PPA) de tiers sur les distributions basées sur Debian ou de Projets Communautaires (COPR) sur Fedora.

Si vous avez de l'expérience avec Linux et souhaitez utiliser une distribution basée sur Arch, nous recommandons uniquement Arch Linux, et non ses dérivés. Nous déconseillons spécifiquement ces deux dérivés de Arch :

  • Manjaro: Cette distribution bloque les mises à jour des paquets pendant 2 semaines pour s'assurer que leurs propres changements ne cassent pas, et non pas pour s'assurer que l'amont est stable. Lorsque des paquets AUR sont utilisés, ils sont souvent construits avec les dernières bibliothèques des dépôts d'Arch.
  • Garuda: Ils utilisent Chaotic-AUR qui compile automatiquement et aveuglément les paquets de l'AUR. Il n'existe aucun processus de vérification pour s'assurer que les paquets AUR ne souffrent pas d'attaques de la chaîne d'approvisionnement.

Kicksecure

Bien que nous déconseillions fortement l'utilisation de distributions obsolètes comme Debian, il existe un système d'exploitation basé sur Debian qui a été renforcé pour être beaucoup plus sûr que les distributions Linux habituelles : Kicksecure. Kicksecure, en termes très simplifiés, est un ensemble de scripts, de configurations et de paquets qui réduisent considérablement la surface d'attaque de Debian. Il couvre par défaut un grand nombre de recommandations en matière de confidentialité et de durcissement.

Le noyau Linux-libre et les distributions "libres"

Nous recommandons fortement de ne pas utiliser le noyau Linux-libre, car il supprime des mesures de sécurité et d'atténuation et supprime des avertissements de noyau concernant les microcodes vulnérables pour des raisons idéologiques.

Recommandations générales

Chiffrement de disque

La plupart des distributions Linux ont une option dans leur installateur pour activer LUKS FDE. Si cette option n'est pas définie au moment de l'installation, vous devrez sauvegarder vos données et réinstaller, car le chiffrement est appliqué après le partitionnement du disque, mais avant le formatage des systèmes de fichiers. Nous vous suggérons également d'effacer de façon sécurisée votre dispositif de stockage :

Swap

Envisagez l'utilisation de ZRAM ou du swap chiffré au lieu du swap non chiffré pour éviter les problèmes de sécurité potentiels avec des données sensibles poussées vers l'espace swap. Les distributions basées sur Fedora utilisent ZRAM par défaut.

Wayland

Nous recommandons l'utilisation d'un environnement de bureau prenant en charge le protocole d'affichage Wayland car il a été développé dans un souci de sécurité. Son prédécesseur, X11, ne prend pas en charge l'isolation de l'interface graphique, ce qui permet à toutes les fenêtres d'enregistrer l'écran, d'enregistrer et d'injecter des entrées dans d'autres fenêtres, rendant toute tentative de sandboxing futile. Bien qu'il existe des options pour faire du X11 imbriqué telles que Xpra ou Xephyr, elles ont souvent des conséquences négatives sur les performances, ne sont pas pratiques à mettre en place et ne sont pas préférables à Wayland.

Heureusement, des environnements courants tels que GNOME, KDE, et le gestionnaire de fenêtres Sway prennent en charge Wayland. Certaines distributions comme Fedora et Tumbleweed l'utilisent par défaut, et d'autres pourraient le faire à l'avenir car X11 est en mode maintenance limitée. Si vous utilisez l'un de ces environnements, il vous suffit de sélectionner la session "Wayland" dans le gestionnaire d'affichage du bureau (GDM, SDDM).

Nous recommandons de ne pas utiliser des environnements de bureau ou des gestionnaires de fenêtres qui ne prennent pas en charge Wayland, comme Cinnamon (par défaut sur Linux Mint), Pantheon (par défaut sur Elementary OS), MATE, Xfce et i3.

Micrologiciel propriétaire (mises à jour du microcode)

Les distributions Linux telles que celles qui sont Linux-libre ou DIY (Arch Linux) ne sont pas fournies avec les mises à jour propriétaires microcode qui corrigent souvent des vulnérabilités. Voici quelques exemples notables de ces vulnérabilités : Spectre, Meltdown, SSB, Foreshadow, MDS, SWAPGS, et d'autres vulnérabilités matérielles.

Nous recommandons vivement d'installer les mises à jour du microcode, car votre CPU exécute déjà le microcode propriétaire depuis l'usine. Fedora et openSUSE ont tous deux les mises à jour du microcode appliquées par défaut.

Mises à jour

La plupart des distributions Linux installent automatiquement les mises à jour ou vous rappellent de le faire. Il est important de maintenir votre système d'exploitation à jour afin que votre logiciel soit corrigé lorsqu'une vulnérabilité est découverte.

Certaines distributions (notamment celles destinées aux utilisateurs avancés) sont plus bruts et vous demandent de faire les choses vous-même (par exemple Arch ou Debian). Il faudra manuellement exécuter le "gestionnaire de paquets" (apt, pacman, dnf, etc.) afin de recevoir les mises à jour de sécurité importantes.

En outre, certaines distributions ne téléchargent pas automatiquement les mises à jour du micrologiciel. Pour cela, vous devrez installer fwupd.

Ajustements de confidentialité

Adresse MAC aléatoire

De nombreuses distributions Linux de bureau (Fedora, openSUSE, etc.) sont fournies avec NetworkManager, pour configurer les paramètres Ethernet et Wi-Fi.

Il est possible de changer aléatoirement l'adresse MAC en utilisant NetworkManager. Cela permet de protéger un peu plus la vie privée sur les réseaux Wi-Fi, car il est plus difficile de suivre des appareils spécifiques sur le réseau auquel vous êtes connecté. Cela ne vous rend pas anonyme.

Nous recommandons de changer le paramètre et mettre aléatoire plutôt que stable, comme suggéré dans l'article.

Si vous utilisez systemd-networkd, vous devrez définir MACAddressPolicy=random qui activera RFC 7844 (Profils d'anonymat pour les clients DHCP).

Il n'y a pas beaucoup d'intérêt à rendre aléatoire l'adresse MAC pour les connexions Ethernet car un administrateur système peut vous trouver en regardant le port que vous utilisez sur le commutateur réseau. Rendre aléatoire les adresses MAC Wi-Fi dépend de la prise en charge par le micrologiciel du Wi-Fi.

Autres identifiants

Il existe d'autres identifiants de système auxquels vous devez faire attention. Vous devriez y réfléchir pour voir si cela s'applique à votre modèle de menace :

  • Noms d'hôte : Le nom d'hôte de votre système est partagé avec les réseaux auxquels vous vous connectez. Vous devriez éviter d'inclure des termes d'identification comme votre nom ou votre système d'exploitation dans votre nom d'hôte, et vous en tenir plutôt à des termes génériques ou à des chaînes aléatoires.
  • Noms d'utilisateur : De même, votre nom d'utilisateur est utilisé de diverses manières dans votre système. Envisagez d'utiliser des termes génériques comme "utilisateur" plutôt que votre nom réel.
  • Identifiant machine :: Pendant l'installation, un identifiant machine unique est généré et stocké sur votre appareil. Envisagez de le régler sur un identifiant générique.

Comptage des systèmes

Le projet Fedora compte le nombre de systèmes uniques qui accèdent à ses miroirs en utilisant une variable countme au lieu d'un identifiant unique. Fedora fait cela pour déterminer la charge et fournir de meilleurs serveurs pour les mises à jour si nécessaire.

Cette option est actuellement désactivée par défaut. Nous recommandons d'ajouter countme=false à /etc/dnf/dnf.conf juste au cas où il serait activé dans le futur. Sur les systèmes qui utilisent rpm-ostree tels que Silverblue, l'option countme est désactivée en masquant le compteur rpm-ostree-countme.

openSUSE utilise également un identifiant unique pour compter les systèmes, qui peut être désactivé en supprimant le fichier /var/lib/zypp/AnonymousUniqueId.