Vous êtes ici : » Accueil» Applications » Pare-feu d’application opensource pour macOS

Pare-feu d’application opensource pour macOS

(Dernière mise à jour le: 15 octobre 2021)

Un pare-feu applicatif gratuit et entièrement open source pour macOS 10.13 High Sierra et versions ultérieures. Permet de surveiller en temps réel les connexions réseau établies par les applications et de bloquer/autoriser celles-ci par application et par utilisateur. Prend en charge l’utilisation de listes de noms d’hôtes ( Energized Blu, etc.) pour bloquer les domaines de suivi et de publicité connus pour toutes les applications. Permet également le blocage de toutes les connexions réseau pour les applications spécifiées, le blocage de toutes les connexions à l’exception des connexions spécifiées sur liste blanche, l’utilisation de listes préconfigurées de connexions par application pour autoriser/bloquer, etc. Permet le blocage du Google QUIC trafic . Peut crypter votre trafic DNS à l’aide de DNS-over-HTTPS .

pare-feu-dapplication-opensource-pour-macos Pare-feu d'application opensource pour macOS

L’application fait partie d’un projet de recherche de la School of Computer Science and Statistics du Trinity College de Dublin, en Irlande. En collectant des données sur les connexions établies par les applications, l’étude vise à mettre en évidence les problèmes potentiels de confidentialité (par exemple, les connexions non documentées à des trackers/analyses connus), à améliorer la sécurité des utilisateurs (les données sur le comportement de base des applications peuvent potentiellement être utilisées pour détecter un comportement anormal dû à des logiciels malveillants) et pour améliorer notre compréhension de l’écosystème des applications. Voir les informations pour les participants .

Commencer

  • Téléchargez le .dmg et ouvrez-le.
  • Faites glisser l’icône appFirewall dans votre dossier Applications et cliquez dessus pour démarrer, il n’y a rien de plus.

Comment ça fonctionne

Le pare-feu renifle les paquets pour détecter les connexions réseau TCP.

  • En repérant une nouvelle connexion, il essaie de trouver l’application qui est la source de la connexion (vous pouvez l’essayer vous-même en utilisant la commande “lsof -i | grep -i tcp”).
  • Il essaie également de résoudre l’adresse IP brute de la connexion à un nom de domaine, par exemple www.google-analytics.com , en reniflant les paquets de réponse DNS.
  • Une fois qu’il a une paire (nom d’application, nom de domaine), il la compare aux listes blanche et noire pour décider de la bloquer ou non.
  • S’il doit être bloqué, le pare-feu envoie des paquets TCP RST à la connexion pour forcer sa fermeture.

Le pare-feu a besoin d’autorisations root pour renifler les paquets et envoyer des paquets TCP RST afin qu’il installe un assistant privilégié pour effectuer ces actions (il vous est demandé de donner un mot de passe pour permettre à cet assistant d’être installé lorsque le pare-feu est démarré pour la première fois).

Une bonne chose à propos de cette approche est que le pare-feu ne se trouve pas dans le chemin direct des paquets réseau, c’est-à-dire que les paquets réseau n’ont pas à passer par le pare-feu. Cela signifie que si le pare-feu est arrêté brusquement ou est mal configuré, aucun dommage réel n’est causé, la connectivité réseau sera maintenue. Un autre est qu’il garde les choses légères et non invasives – pour installer/désinstaller il suffit de copier/supprimer l’application de pare-feu de votre dossier Applications, il n’y a rien de plus.

Le principal inconvénient de l’approche est qu’un petit nombre de paquets peut occasionnellement « fuir » sur une connexion avant qu’elle ne soit fermée, en particulier lorsque les applications effectuent plusieurs tentatives de connexion rapides d’affilée (par exemple en réponse à un blocage). Cela ne semble cependant pas être un gros problème, car c’est sa “confidentialité” (suivi de limitation sévère, etc.) que nous visons plutôt qu’une “sécurité” stricte. Voir Problèmes connus pour plus d’informations.

Intimité

Aucune donnée personnelle n’est partagée par cette application.

Si vous actualisez les fichiers de nom d’hôte (avec des listes de domaines sur liste noire), le site Web qui héberge le fichier peut enregistrer la demande (et donc votre adresse IP, etc.). L’actualisation des fichiers de noms d’hôte est uniquement manuelle, c’est-à-dire uniquement lorsque vous appuyez sur le bouton « Actualiser les listes » sur la page des préférences de l’application, vous avez donc un contrôle total sur cela.

Si l’application plante (espérons-le pas !), elle enverra une courte trace à http://leith.ie pour aider au débogage. Il n’y a aucune information personnelle dans ce backtrace, un exemple est le suivant:

0   appFirewall                         0x000000010dc3ae1e appFirewall   73246
1   libsystem_platform.dylib            0x00007fff769b5b5d _sigtramp   29
2   ???                                 0x000000011d3f8b76 0x0   4785671030
3   libsystem_c.dylib                   0x00007fff76822d8a raise   26
4   appFirewall                         0x000000010dc4fab5 appFirewall   158389
5   appFirewall                         0x000000010dc5001b appFirewall   159771

C’est une liste de points d’entrée dans l’application pour que je puisse voir où elle s’est écrasée, rien de plus. Il n’y a pas d’identifiant liant cette trace à l’instance particulière de l’application que vous exécutez et le serveur de téléchargement n’enregistre pas l’adresse IP ou d’autres détails de connexion.

Le pare-feu télécharge également périodiquement un échantillon des connexions établies par une application sélectionnée au hasard. C’est pour que nous puissions essayer d’en savoir plus sur le comportement des applications dans la nature, et l’utiliser pour développer de meilleures approches pour perturber le suivi, etc. Nous excluons les applications de navigateur de cet échantillonnage car les connexions établies par un navigateur sont potentiellement sensibles (cela peut révéler certains informations sur l’historique de navigation). Si vous pensez que d’autres applications devraient également être exclues, publiez un ticket sur le référentiel github de l’application ou envoyez-moi un e-mail. Un exemple d’un tel échantillon est le suivant :

Dec 03 21:36:13 2019	Dropbox	192.168.1.27:64379 -> 162.125.19.131 (bolt.dropbox.com):443	
Dec 03 21:36:23 2019	Dropbox	192.168.1.27:64380 -> 162.125.19.130 (telemetry.dropbox.com):443
Dec 03 21:37:16 2019	Dropbox	192.168.1.27:64381 -> 162.125.64.7 (api.dropboxapi.com):443
Dec 03 21:38:38 2019	Dropbox	192.168.1.27:64389 -> 162.125.19.131 (bolt.dropbox.com):443	
Dec 03 21:40:21 2019	Dropbox	192.168.1.27:64393 -> 162.125.36.1 (d.dropbox.com):443	

L’application stocke une copie horodatée de ces échantillons dans le dossier ~/Library/Application Support/appFirewall/samples afin que vous puissiez voir exactement ce qui a été téléchargé. Il n’y a pas d’identifiant liant un échantillon à votre copie de l’application et le serveur de téléchargement n’enregistre pas l’adresse IP ou d’autres détails de connexion.

Par défaut, l’application vérifie github mensuellement pour les mises à jour, les télécharge et les installe automatiquement. Vous pouvez désactiver cela via la fenêtre Préférences de l’application et rechercher les mises à jour manuellement à l’aide de l’option de menu “Rechercher les mises à jour”. Github enregistre le trafic vers le référentiel et affiche le nombre de téléchargements, etc. qui sont publiquement visibles (n’hésitez pas à les vérifier ici , la politique de confidentialité de Github est ici ).

Magasin d’applications

Le pare-feu n’est pas sur l’App Store, car le bac à sable que les applications de l’ Store doivent utiliser bloque l’accès aux App appels système proc_listpids() et proc_pidfdinfo() utilisés pour surveiller les processus en cours. J’ai fait une demande à Apple pour activer cet accès, nous verrons comment ils répondent. Le bac à sable de l’application bloque également le reniflage des paquets réseau et l’envoi de paquets TCP RST, bien que application les extensions réseau de l’ puissent fournir une solution de contournement dans Catalina et versions ultérieures.

Source code

Voir github

Contribuant

Les nouvelles idées et l’aide au développement sont toujours les bienvenues ! La façon de proposer des modifications de code est de créer votre propre branche à partir du référentiel ici, puis de m’envoyer un e-mail avec les modifications proposées et un lien vers la branche. Pour signaler des bogues ou faire des demandes de fonctionnalités, veuillez utiliser le système de suivi des problèmes github (voir les onglets en haut de cette page).

Auteurs: Doug Leith , Licence: Licence BSD 3

SeeSoon

Technicien supérieur en Informatique, Amateur en électronique Administrateur du site milbako, + 30 ans d'expériences. Je ne suis pas un spécialiste, contrairement à ce qu'on essaie parfois de me faire croire. Je ne suis d'ailleurs spécialiste en rien, ce qui est en accord avec ce que j'essaye de me faire croire. Je suis simplement bricoleur et me suis fait quelques idées au fil des ans.

Voir tous les articles de SeeSoon →

Laisser un commentaire

Translate »