Comment empêcher une application d'accéder à internet sur Mac
Méthodes pratiques pour empêcher une application d'utiliser internet sur macOS, sans casser le reste du système.
- macOS
- Security
- Privacy
- Tutorial
Une application achetée en 2022 appelle encore à la maison à chaque lancement. Un jeu veut télécharger une mise à jour de 3 Go pendant que vous êtes sur un hotspot. Un utilitaire de scan insiste pour vérifier les mises à jour encore et encore. Vous voulez bloquer l'accès Internet d'une application sur Mac entièrement — sans la désinstaller, et sans casser le reste de votre système.
La bonne nouvelle : macOS vous donne plusieurs façons de bloquer l'accès Internet d'une application sur Mac dont les utilisateurs ont vraiment besoin. La mauvaise nouvelle : chacune a un compromis différent, et le mauvais choix soit échouera silencieusement soit cassera des choses que vous ne vouliez pas casser. Voici le manuel pratique.
Les quatre façons de bloquer l'accès Internet d'une application sur Mac à connaître
Dans l'ordre approximatif où la plupart des gens devraient choisir :
- Little Snitch — pare-feu sortant dédié. Règles par application, invites à la première connexion, GUI pour l'édition.
- LuLu — pare-feu sortant gratuit et open-source par Objective-See. Moins poli que Little Snitch, idée centrale similaire.
- Pare-feu d'application macOS + un filtre réseau — le pare-feu intégré ne gère que l'entrant. Pour bloquer en sortie, il vous faut une extension réseau tierce ou une règle
pf. - Blocage
/etc/hosts— brutal, partiel, mais utile pour les endpoints de télémétrie connus.
Pour une seule application que vous voulez complètement hors ligne, les options 1 ou 2 sont la bonne réponse. Les autres sont situationnelles.
Option 1 : Little Snitch (le standard)
Little Snitch installe une Network Extension qui intercepte les connexions sortantes. Quand une application que vous n'avez pas vue avant essaie d'appeler à la maison, Little Snitch montre une invite : autoriser une fois, autoriser pour toujours, refuser une fois, refuser pour toujours — avec des portées optionnelles (cet hôte uniquement, n'importe quel port, etc.).
Pour bloquer une application entièrement :
- Ouvrez Little Snitch → Network Monitor → Rules.
- Cherchez le nom de l'application.
- Soit supprimez ses règles existantes et fiez-vous à une invite par défaut deny la prochaine fois, soit ajoutez un explicite « Refuser — tout processus de /Applications/YourApp.app — toute connexion ».
- Quittez et relancez l'application cible.
Little Snitch est un logiciel payant avec une démo gratuite (3 heures par session). Pour un outil sur lequel vous vous appuierez au niveau noyau, payer une fois est la bonne décision.
Portées de règles qui comptent
- Chemin du processus — Little Snitch indexe sur le chemin sur disque, donc mettre à jour une application via Sparkle peut ré-inviter. Réapprouvez ou réglez la règle sur « toute version ».
- Processus auxiliaires — les applications comme Slack, Discord et Chrome ont des binaires auxiliaires qui ont besoin de leurs propres règles. Si vous autorisez le parent et oubliez l'auxiliaire, le trafic peut se faufiler. Un moniteur comme ova regroupe les auxiliaires sous le parent pour que vous puissiez voir quand cela arrive.
Option 2 : LuLu (gratuit)
LuLu fait ce que fait Little Snitch, avec un ensemble de fonctionnalités plus petit. Même modèle Network Extension, même flux invite-et-règle. Il ne montrera pas les graphiques de trafic ou ne fera pas le filtrage par nom d'hôte aussi proprement, mais pour un cas d'usage « bloquer cette seule application » il est parfaitement adéquat.
Téléchargez depuis objective-see.org, glissez dans Applications, accordez la permission Network Extension, et ajoutez une règle de refus pour le binaire que vous voulez faire taire.
Option 3 : pare-feu intégré macOS (limité)
Le pare-feu d'application macOS vit à Réglages Système → Réseau → Pare-feu. Il bloque les connexions entrantes. Il ne bloque pas le sortant. Donc pour la question « arrêter mon application de parler à Internet », le pare-feu intégré n'est pas la réponse.
Si vous voulez aussi bloquer en entrée — par exemple, une application fait tourner un serveur local que vous ne voulez pas exposer — activez le pare-feu, cliquez sur Options, et ajoutez l'application à la liste de refus.
Option 4 : blocages /etc/hosts (partiel)
Pour des endpoints de télémétrie spécifiques, vous pouvez créer un trou noir pour le nom d'hôte :
sudo nano /etc/hostsAjoutez :
0.0.0.0 telemetry.example.com
0.0.0.0 analytics.example.comSauvegardez avec Ctrl-O, sortez avec Ctrl-X. Puis videz le DNS :
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponderCela ne marche que pour les applications qui consultent réellement le DNS système. Les applications qui codent en dur des IPs ou utilisent leur propre DNS contournent /etc/hosts entièrement. Les navigateurs utilisant DoH le contournent. Donc traitez /etc/hosts comme un fusil de précision pour des endpoints connus, pas un blocage généraliste.
L'étape de vérification que tout le monde saute
Configurer le blocage est la moitié du travail. L'autre moitié est de confirmer qu'il marche. C'est là qu'un outil de monitoring séparé gagne sa place.
Le motif :
- Réglez le blocage dans Little Snitch / LuLu / fichier hosts.
- Ouvrez ova dans votre barre de menu. Il échantillonne le trafic par application à environ 1 Hz.
- Lancez l'application cible et utilisez-la. Cliquez partout. Déclenchez l'action qui appelait à la maison — vérifier les mises à jour, se connecter, synchroniser.
- Observez la ligne par application. Si elle reste à 0 Ko/s montant et descendant, le blocage tient. Si vous voyez quoi que ce soit en sortie, vous avez une fuite.
Deux raisons aux fuites :
- Processus auxiliaire non couvert. L'application parente est refusée, mais
Slack HelperouUpdater.appa sa propre règle qui est encore autoriser. - Connexion mise en cache avant le blocage. L'application a ouvert une connexion longue durée avant que la règle n'existe. Quittez l'application complètement (clic droit → Quitter, ou
Cmd-Q) et relancez.
Cas spéciaux
Bloquer une application tout en gardant l'accès LAN
Certaines applications ont besoin de parler à votre haut-parleur AirPlay ou imprimante locale mais ne devraient pas atteindre Internet. Dans Little Snitch, réglez « refuser tout » puis ajoutez une exception d'autorisation pour LAN et Multicast/Broadcast. La permission Réseau local de macOS gère aussi cela — vérifiez Réglages Système → Confidentialité et sécurité → Réseau local et révoquez-la si l'application n'a pas besoin de LAN du tout.
Bloquer une application en Wi-Fi mais autoriser en ethernet
Little Snitch supporte les profils. Créez-en un pour « Café » et un pour « Maison », attachez-y des règles différentes, basculez via la barre de menu.
Bloquer seulement les mises à jour, autoriser tout le reste
La plupart des applications séparent le trafic de mise à jour du trafic de fonctionnalités. Trouvez le binaire updater (souvent à l'intérieur de YourApp.app/Contents/Library/LoginItems/ ou /Library/LaunchDaemons/), et ajoutez une règle de refus pour ce chemin spécifique. Lancez l'application, observez ova — les fonctionnalités devraient encore marcher, les mises à jour devraient échouer avec une erreur réseau dans le log.
Vérifiez que vos blocages pare-feu tiennent vraiment
ova montre le trafic par application en direct pour que vous puissiez confirmer qu'une règle Little Snitch a fait son travail — local, signé, ~3 Mo.
Un exemple concret : faire taire un utilitaire bavard
Disons que vous avez acheté un utilitaire de capture d'écran il y a trois ans. Licence à vie, qui était silencieux, maintenant il appelle à la maison à chaque lancement et vous ne faites pas confiance à la nouvelle propriété.
- Installez Little Snitch. L'essai suffit pour la première heure pour voir comment les règles se ressentent.
- Lancez l'utilitaire de capture. Little Snitch invite : « Snipster veut se connecter à api.snipster.app ». Cliquez Refuser → Pour toujours → tout port.
- Utilisez l'application pendant une semaine. Si les fonctionnalités marchent, le refus a tenu. Si une fonctionnalité casse, regardez ce qu'elle a essayé d'appeler — ce sera dans le log de Little Snitch — et décidez si autoriser l'endpoint spécifique.
- Faites tourner ova à côté. Confirmez que le débit par application reste à 0 Ko/s pendant l'usage normal.
Ce motif marche pour toute application qui n'a pas réellement besoin d'Internet pour faire son travail localement.
Ce que les blocages ne corrigeront pas
Quelques choses sur lesquelles être honnête :
- Notifications push via APNs. macOS route Apple Push via
apsd, pas l'application. Bloquer l'application ne bloque pas ses notifications. Désactivez les notifications dans Réglages Système à la place. - Extensions système et démons. Certaines applications installent des démons d'arrière-plan sous
/Library/LaunchDaemons/. Tuer l'application ne tue pas le démon. Utilisez le désinstalleur officiel de l'application, ou listez les démons vialaunchctl list | grep -i appname. - Applications qui codent en dur des IPs. Rare, mais existe. Bloquez par IP plutôt que par nom d'hôte dans Little Snitch.
- Applications App Store sandboxées utilisant des services XPC. Parfois l'application visible par l'utilisateur est silencieuse et un auxiliaire XPC fait le travail. Même solution que les processus auxiliaires — trouvez-le dans l'arbre de processus de Little Snitch, ajoutez une règle.
Pourquoi « moniteur + pare-feu » est la configuration durable
Vous pouvez faire tourner juste un pare-feu. Vous pouvez faire tourner juste un moniteur. La plupart des utilisateurs Mac expérimentés font tourner les deux :
- Le pare-feu (Little Snitch / LuLu) règle la politique et bloque au noyau.
- Le moniteur (ova ou similaire) montre la réalité — ce qui parle encore, combien, quand.
Les deux répondent à des questions différentes. « Ma règle a-t-elle marché ? » est une question de moniteur. « Quelle nouvelle application essaie d'appeler à la maison ? » est une question d'invite de pare-feu. Ensemble ils vous donnent une image complète.
Pour conclure
Pour bloquer l'accès Internet d'une application sur Mac de bout en bout : utilisez Little Snitch ou LuLu pour le blocage, le pare-feu d'application macOS uniquement si vous avez aussi besoin d'entrant, et /etc/hosts pour les endpoints connus quand le blocage basé DNS suffit. Puis vérifiez avec un moniteur, parce qu'une règle que vous n'avez pas confirmée est une règle que vous n'avez pas réellement.
La plupart des applications fonctionnent bien hors ligne une fois que vous coupez le réseau. Celles qui ne le font pas, vous le découvrirez vite — et vous aurez appris quelque chose d'utile sur quelles fonctionnalités étaient réellement locales en premier lieu.