Introduction

Les événements politiques récents ont poussé les gouvernements et les organisations à remettre en question leur dépendance à l'égard des logiciels contrôlés par des étrangers. Le problème est simple et inconfortable : les mises à jour automatiques permettent à un fournisseur d'exécuter n'importe quel code, avec n'importe quels privilèges, sur votre machine, à tout moment. Linux est le candidat évident pour réduire cette dépendance : aucune entreprise ne le contrôle, aucun pays ne le possède.

Contexte Technique

Après avoir installé Linux sur du matériel plus ancien, j'ai constaté que j'avais besoin de peu d'applications : un navigateur, un client de messagerie, un éditeur de texte, un environnement de développement, un client Git, Signal, Wireshark et quelques autres. Cependant, j'ai rapidement ressenti le besoin d'un outil comme Little Snitch, qui me permet de voir quel processus établit quelle connexion et de la refuser avec un seul clic.

J'ai donc décidé de développer Little Snitch pour Linux, en utilisant eBPF pour l'interception du trafic au niveau du noyau, et Rust pour le code principal de l'application. L'interface utilisateur a été conçue comme une application Web, ce qui permet de surveiller les connexions réseau d'un serveur Linux à distance.

Analyse et Implications

La version Linux de Little Snitch se situe entre Little Snitch Mini et la version complète de Little Snitch pour macOS : fonctionnelle et utile, mais sans tout le polissage et la profondeur de la version macOS. Le composant noyau, écrit pour eBPF, est open source, de même que l'interface utilisateur sous GPL v2. Cependant, le backend, qui gère les règles, les listes de blocage et la vue hiérarchique des connexions, est gratuit mais non open source.

Il est important de noter que, contrairement à la version macOS, Little Snitch pour Linux n'est pas un outil de sécurité. Son objectif est de fournir une visibilité sur les connexions réseau et, si nécessaire, de bloquer les connexions provenant de logiciels légitimes qui ne tentent pas d'évader les mécanismes de sécurité.

Perspective

Little Snitch pour Linux est actuellement compatible avec les noyaux 6.12 et supérieurs, et les tests ont été effectués sur Ubuntu 25.10 avec un noyau 6.17. Les contributions sont les bienvenues pour améliorer la compatibilité avec les anciens noyaux, notamment pour atteindre la compatibilité avec le noyau 5.17, qui couvrirait Debian 12 et Ubuntu 24.04 LTS.

Little Snitch pour Linux est gratuit et le restera. Il est disponible pour être téléchargé et utilisé, offrant ainsi une solution pour améliorer la vie privée sur les systèmes Linux.