Journal Fiwu v0.7, un firewall interactif pour Linux

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
15
22
oct.
2026

Travaillant au sein d'une équipe de R&D, nous constatons régulièrement qu'il n'est pas rare qu'un binaire, un processus ou un script tente d'ouvrir une connexion sortante sans avertissement; y compris les solutions Open Source qui "rappellent" leurs éditeurs en les pingant. Maintenir des règles réseau à la main est complexe et chronophage et l'exercice devient obsolète dès qu'un nouveau service ou une dépendance s'active en arrière-plan.

L'idée de Fiwu, c'est de revenir à une approche interactive : intercepter les flux sortants en direct et poser la question aux utilisateurs : Le processus X veut joindre l'IP Y:port, on laisse passer ou on coupe?.

Le projet s'appuie sur une implémentation légère en Python combinant les files NFQUEUE d'iptables et un démon compact. L'ensemble s'intègre directement à l'écosystème GNOME via une extension dédiée dans le menu système. Nous supportons pour l'instant Debian, Ubuntu et Fedora.

Le code est disponible sur GitHub : https://github.com/Smile-SA/fiwu

Pour tester en ppa sur les distributions basées sur Ubuntu :
sudo add-apt-repository ppa:rnd-smile/fiwu
sudo apt update && sudo apt install fiwu

Le dépôt fournit également les scripts pour empaqueter un .rpm ou un .deb directement depuis les sources.

Les retours sur le code, les suggestions d'architecture et les contributions sont évidemment bienvenus !

  • # Téléphone maison

    Posté par  (site web personnel) . Évalué à 7 (+4/-0).

    Avez-vous des infos plus précises sur ces programmes libres qui appellent ainsi leur maison mère ? Je pose la question, entre autre parce que votre introduction vient en opposition directe avec un précédent journal assez récent qui nous comptait comment un fameux pare-feu application très apprécié pour son côté sapin de noël sous macOS et windos (ça clignote en permanence parce qu’il y a toujours des choses à arrêter) avait été porté sous Linux, pour juste se rendre compte qu’il n’y avait juste rien à y faire…

    NB : malheureusement je n’arrive pas à remettre la main sur l’article en question.

    « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

    • [^] # Re: Téléphone maison

      Posté par  (site web personnel, Mastodon) . Évalué à 4 (+2/-0).

      Les dinos te parleraient de ZoneAlarm et Avast, mais je ne pense pas que ce soit portés sur Mac et encore moins Linux :/

      “It is seldom that liberty of any kind is lost all at once.” ― David Hume

    • [^] # Re: Téléphone maison

      Posté par  . Évalué à 10 (+10/-0).

      J'ai pensé à Little Snitch, mais après vérification rapide, il n'y aurait qu'une version macOS sur leur site.
      J'en profite pour recaser une "anecdote" : grace à ce L.S., j'ai choppé Google Chrome en flagrant délit de passage par derrière. Il a ignoré les réponses de mon DHCP qui lui disait d'utiliser mon pi-hole comme DNS. Chrome a fait une requête directe à 8.8.8.8, sans demander mon avis. Il n'en a pas fait deux …

      • [^] # Re: Téléphone maison

        Posté par  . Évalué à 6 (+6/-0). Dernière modification le 23 octobre 2026 à 07:53.

        l'objectif semble en effet TRES similaire à ce que fait https://github.com/evilsocket/opensnitch, fortement inspiré de littlesnitch (comme son nom l'indique)

        • [^] # Re: Téléphone maison

          Posté par  . Évalué à 6 (+6/-0). Dernière modification le 22 octobre 2026 à 22:43.

          je ne peux pas editer le commentaire, mais je pense que le lien que j'ai posté est une usurpation du nom. La reference est la : https://github.com/evilsocket/opensnitch

          Si un admin peut supprimer le lien, ca eviterait de faire de la pub à ce domaine. Mille excuses.

        • [^] # Re: Téléphone maison

          Posté par  . Évalué à 5 (+4/-0).

          J'avoue avoir installé OpenSnitch, suite aux problèmes sur AUR (Archlinux) pour surveiller les connexions sortantes et j'ai été surpris (et le suis encore) :
          - projets qui contactent leur page GitHub (je ne sais pas pourquoi)
          - demandes à partir de Firefox (qui est globalement autorisé, vu que j'ai déjà pas mal de truc bloqués) mais qui existent encore
          - et j'ai de la telemetry Mozilla alors que toutes les options de collecte sont décochées

          Pas mal de trucs légitimes que je ne connaissais pas aussi.

          Logiciel efficace, mais, j'ai déjà vu des interfaces plus simples qu'OpenSnitch…

          • [^] # Re: Téléphone maison

            Posté par  . Évalué à 6 (+5/-0).

            projets qui contactent leur page GitHub (je ne sais pas pourquoi)

            Ça peut servir à détecter s'il y a une mise à jour disponible et dans ce cas afficher un message à l'utilisateur.

            Les vrais naviguent en -42

      • [^] # Nos ordis sont ouverts à tous les vents

        Posté par  . Évalué à 5 (+4/-0). Dernière modification le 23 octobre 2026 à 12:07.

        Bonjour,

        et sont de grands bavards !

        Little Snitch est installé depuis des années sur le Mac (il est à la retraite et hors réseau). Avant cela, je n'avais pas idée de la quantité de connexions que cette machine pouvait établir.

        Apple bien sûr, les éditeurs des logiciels installés, y compris quand ils ne sont pas ouverts. Les navigateurs appellent une myriade de sites divers avant même qu'on ouvre une url.

        Open snitch m'a paru inutilisable sans maîtriser suffisamment l'anglais technique pour des notions de réseau & système qui m'échappent largement encore.

        IA pas question

        • [^] # Re: Nos ordis sont ouverts à tous les vents

          Posté par  . Évalué à 10 (+9/-0).

          Un autre moyen, similaire dans les résultats, de voir à quel point le Web est un champ de mines : Firefox + plugin NoScript.

          Au début, plus rien ne marche.
          On débloque les site un par un, petit à petit.
          Et ça change la vie sur certains site : ils deviennent lisibles !

          Et au passage, on s'aperçoit de la quantité effroyable de lien vers des sites tiers : tracking, vol de données perso (bah oui. On vous a payé pour les prendre ?), etc. En particulier les sites marchants (cocorico : les Boulanger, FNAC / Darty, Leroy Merlin …).

          Indispensable plugin une fois habitué.

          Accompagné d'un uBlock Origin.

        • [^] # Re: Nos ordis sont ouverts à tous les vents

          Posté par  . Évalué à 3 (+3/-0).

          L'idée de Fiwu est de fournir une couche pare-feu par IP qui peut faciliter le filtrage des domaines marketing, tracking, etc… Effectivement, l'idée est d'offrir la fonctionalité de filtrage dans son plus simple appareil en comparaison à OpenSnitch.

      • [^] # Re: Téléphone maison

        Posté par  . Évalué à 2 (+1/-0).

        LittleSnitch existe pour Linux, voir la page https://obdev.at/products/littlesnitch-linux/index.html

    • [^] # Re: Téléphone maison

      Posté par  . Évalué à 4 (+3/-0).

    • [^] # Re: Téléphone maison

      Posté par  . Évalué à 4 (+4/-0).

      Il existe de nombreuses solutions de pare-feu interactifs propriétaires et open-source. La philosophie de Fiwu, s'apparenterait plus à celle de Lulu mais disponible uniquement sur MacOS. Concernant les services qui "téléphonent à la maison", utilisez Fiwu et vous le découvrirez assez rapidement (sans compter les exemples partagés ci-dessus :)

  • # Performances ?

    Posté par  . Évalué à 10 (+10/-0).

    Bonjour,

    Je trouve cela un peu ambitieux de parser en espace utilisateur des paquets en python. Est-ce que vous avez étudier d'améliorer ça avec potentiellement du BPF ?

    Sur le code également il est fait un usage intensif d'appels à ss, avec subprocess. Quitte à faire du python, vous pourriez probablement vous l'épargner en discutant directement avec le noyau en Netlink avec pyroute2

    • [^] # Re: Performances ?

      Posté par  . Évalué à 3 (+3/-0).

      Merci pour ces remarques, nous allons développer des scénarios d'évaluation pour mesurer les potentiels gains en performance en implémentant vos remarques.

      Dans cette première pré-version, le focus était principalement centré sur les capacités de filtrage. Dans nos essais, nous n'avons pas identifié de bottleneck de performance y compris sur des configurations à 2 vCPUs.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.