2 points par GN⁺ 20 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Un outil permettant de visualiser et contrôler les connexions réseau des applications, afin de voir quel programme communique avec quel serveur
  • La Connections View affiche le trafic en temps réel et passé par application, et permet en un clic de bloquer une connexion et de suivre l’utilisation des données
  • Les fonctions Blocklists et Rules permettent de contrôler finement le trafic indésirable par catégorie ou selon des conditions détaillées
  • En interne, l’outil utilise eBPF pour surveiller les connexions au niveau du noyau et fournit une interface sous forme de PWA via une UI web
  • Ce n’est pas un outil de sécurité, mais un outil centré sur la confidentialité : il convient pour bloquer les communications externes de logiciels ordinaires, mais reste limité pour se défendre contre des attaques avancées

Aperçu

  • Little Snitch for Linux est un outil qui permet de visualiser et de contrôler en temps réel les connexions réseau des applications
    • Il permet de voir quelle application communique avec quel serveur
    • Il offre le blocage des connexions indésirables, l’enregistrement du trafic et le suivi de l’utilisation des données
  • Nécessite Linux kernel 6.12 ou supérieur et la prise en charge du noyau BTF
  • L’interface web est accessible sur http://localhost:3031/ et peut être installée sous forme de PWA (Progressive Web App)

Surveillance des connexions

  • La Connections View affiche l’activité réseau actuelle et passée par application
    • Elle montre les éléments bloqués par les règles et les listes de blocage, l’utilisation des données et l’historique du trafic
    • Tri et filtrage possibles par activité récente, volume de données et nom
    • Blocage d’une connexion en un clic
  • Le diagramme de trafic en bas visualise le volume de données au fil du temps
    • Si l’on zoome en faisant glisser sur une plage donnée, seules les activités de cette période sont affichées

Gestion des listes de blocage

  • La fonction Blocklists permet de bloquer en masse des catégories de trafic indésirable
    • Téléchargement automatique depuis des sources distantes et maintien à jour
    • Formats pris en charge : une ligne par domaine, une ligne par nom d’hôte, format /etc/hosts (IP + nom d’hôte), plages réseau CIDR
    • Les formats basés sur les jokers, les expressions régulières, les glob et les URL ne sont pas pris en charge

      • Pour plus d’efficacité, il est recommandé d’utiliser des listes basées sur les domaines
      • Exemples de listes : Hagezi, Peter Lowe, Steven Black, oisd.nl
      • Le format .lsrules pour macOS n’est pas compatible avec la version Linux

Règles personnalisées

  • La fonction Rules offre un contrôle plus fin que les blocklists
    • Configuration possible par processus, port et protocole
    • La liste des règles peut être triée et filtrée
  • Elle permet de mettre en place des politiques de contrôle réseau détaillées

Sécurité d’accès

  • Par défaut, l’interface web est accessible à tous les processus exécutés localement
    • Une application malveillante pourrait modifier les règles, changer les listes de blocage ou désactiver les filtres
  • Pour éviter cela, il est possible d’exiger une authentification
    • La configuration détaillée se fait dans la configuration avancée (Advanced configuration)

Architecture interne

  • Utilise eBPF pour s’intégrer à la pile réseau Linux
    • Les programmes eBPF surveillent les connexions sortantes et transmettent les données au démon
    • Le démon se charge du suivi des statistiques, du traitement des règles et de la fourniture de l’interface web
  • Le code source des programmes eBPF et de l’interface web est publié sur GitHub

Configuration avancée

  • L’interface par défaut n’expose que les principaux réglages ; la configuration avancée se fait via des fichiers texte
    • Après modification, il faut redémarrer le démon littlesnitch
  • Chemin de configuration par défaut : /var/lib/littlesnitch/config/
    • Ne pas modifier directement ces fichiers ; copier celui à modifier dans /var/lib/littlesnitch/overrides/config/, puis l’éditer
    • Les paramètres du répertoire override sont toujours prioritaires
  • Principaux fichiers de configuration
    • web_ui.toml : adresse réseau, port, TLS, paramètres d’authentification
      • Si plusieurs utilisateurs peuvent y accéder, il faut activer l’authentification
      • Si l’interface est exposée au-delà du loopback, il faut ajouter TLS
    • main.toml : définit le comportement par défaut pour les connexions qui ne correspondent à aucune règle
      • La valeur par défaut est l’autorisation, mais elle peut être changée en refus si nécessaire
      • Une mauvaise configuration peut entraîner une perte d’accès au système
    • executables.toml : règles de regroupement des exécutables
      • Suppression des numéros de version pour afficher plusieurs versions d’une même application comme une seule
      • Définition des relations parentes pour les shells et les processus de gestion d’applications
      • Amélioration continue grâce aux retours de la communauté
  • Les programmes eBPF et l’interface web peuvent être remplacés par des versions compilées par l’utilisateur
    • Les versions du répertoire override sont prioritaires

Limites

  • Conçu comme un outil de confidentialité, pas de sécurité
    • Il est plus simple que la version macOS et présente des limites fonctionnelles dues aux contraintes d’eBPF
  • eBPF impose des limites de stockage et de complexité des programmes
    • En cas de trafic important, les tables de cache peuvent déborder, rendant incomplète la correspondance entre paquets, processus et noms DNS
    • Des heuristiques sont utilisées pour reconstruire, à partir d’une adresse IP, le nom d’hôte initialement résolu
    • La version macOS effectue une correspondance plus précise grâce à l’inspection approfondie des paquets (DPI)
  • Il convient bien à la surveillance et au blocage des communications externes de logiciels ordinaires, mais il n’est pas adapté à la défense du système contre des attaquants avancés

Licence

  • Composé de 3 éléments
    • Le programme noyau eBPF et l’interface web sont publiés sous GNU GPL v2 et disponibles sur GitHub
    • Le démon (littlesnitch --daemon) est propriétaire (proprietary), mais son utilisation et sa redistribution sont gratuites

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.