Zurück zum Blog
·9 Min. Lesezeit·productdevbook

Eine App am Mac vom Internet ausschließen

Praktische Wege, eine App unter macOS am Internetzugriff zu hindern, ohne den Rest des Systems zu zerschießen.

  • macOS
  • Security
  • Privacy
  • Tutorial

Eine App, die Sie 2022 gekauft haben, telefoniert bei jedem Start nach Hause. Ein Spiel will ein 3-GB-Update herunterladen, während Sie an einem Hotspot sind. Ein Scanner-Utility besteht darauf, immer wieder nach Updates zu suchen. Sie wollen den Internetzugriff einer App auf Mac vollständig blockieren — ohne sie zu deinstallieren und ohne den Rest Ihres Systems zu brechen.

Die gute Nachricht: macOS gibt Ihnen mehrere Wege, eine App vom Internet auf Mac zu blockieren, die Nutzer wirklich brauchen. Die schlechte Nachricht: Jeder hat einen anderen Tradeoff, und die falsche Wahl wird entweder still scheitern oder Dinge brechen, die Sie nicht brechen wollten. Hier ist das praktische Playbook.

Die vier Wege, eine App vom Internet auf Mac zu blockieren

In grober Reihenfolge, wie die meisten wählen sollten:

  1. Little Snitch — zweckgebaute ausgehende Firewall. Pro-App-Regeln, Prompts bei der ersten Verbindung, GUI zum Editieren.
  2. LuLu — kostenlose, Open-Source-ausgehende Firewall von Objective-See. Weniger poliert als Little Snitch, ähnliche Kernidee.
  3. macOS-Anwendungs-Firewall + ein Netzwerkfilter — die eingebaute Firewall handhabt nur eingehend. Für ausgehendes Blockieren brauchen Sie eine Drittanbieter-Netzwerkerweiterung oder eine pf-Regel.
  4. /etc/hosts-Blockieren — grob, partiell, aber nützlich für bekannte Telemetrie-Endpunkte.

Für eine einzelne App, die Sie voll offline wollen, sind Option 1 oder 2 die richtige Antwort. Die anderen sind situativ.

Option 1: Little Snitch (der Standard)

Little Snitch installiert eine Netzwerkerweiterung, die ausgehende Verbindungen abfängt. Wenn eine App, die Sie noch nicht gesehen haben, versucht nach Hause zu telefonieren, zeigt Little Snitch einen Prompt: einmal erlauben, immer erlauben, einmal verweigern, immer verweigern — mit optionalen Scopes (nur dieser Hostname, jeder Port usw.).

Eine App komplett blockieren:

  1. Öffnen Sie Little Snitch → Network Monitor → Regeln.
  2. App-Namen suchen.
  3. Entweder existierende Regeln löschen und auf einen Default-Deny-Prompt nächstes Mal vertrauen, oder explizit „Verweigern — jeder Prozess aus /Applications/IhreApp.app — jede Verbindung" hinzufügen.
  4. Ziel-App beenden und neu starten.

Little Snitch ist Bezahlsoftware mit kostenloser Demo (3 Stunden pro Sitzung). Für ein Tool, auf das Sie sich auf Kernel-Ebene verlassen werden, ist einmal zahlen der richtige Schritt.

Regel-Scopes, die zählen

  • Prozess-Pfad — Little Snitch schlüsselt auf den On-Disk-Pfad, also kann ein App-Update über Sparkle erneut prompten. Erneut genehmigen oder die Regel auf „jede Version" setzen.
  • Hilfsprozesse — Apps wie Slack, Discord und Chrome haben Helper-Binaries, die ihre eigenen Regeln brauchen. Wenn Sie den Eltern erlauben und den Helper vergessen, kann Verkehr durchschlüpfen. Ein Monitor wie ova fasst Hilfsprozesse unter dem Eltern zusammen, sodass Sie sehen, wenn das passiert.

Option 2: LuLu (kostenlos)

LuLu macht, was Little Snitch macht, mit kleinerem Feature-Set. Gleiches Netzwerkerweiterungs-Modell, gleicher Prompt-und-Regel-Fluss. Es zeigt keine Verkehrs-Graphen oder macht Hostnamen-basiertes Filtern so sauber, aber für einen „diese eine App blockieren"-Anwendungsfall ist es perfekt adäquat.

Von objective-see.org herunterladen, in Programme ziehen, die Netzwerkerweiterungs-Berechtigung erteilen und eine Verweigern-Regel für die Binary, die Sie zum Schweigen bringen wollen, hinzufügen.

Option 3: macOS eingebaute Firewall (begrenzt)

Die macOS-Anwendungs-Firewall lebt unter Systemeinstellungen → Netzwerk → Firewall. Sie blockiert eingehende Verbindungen. Sie blockiert nicht ausgehende. Also für die Frage „meine App vom Internet stoppen" ist die eingebaute Firewall nicht die Antwort.

Wenn Sie auch eingehend blockieren wollen — beispielsweise eine App betreibt einen lokalen Server, den Sie nicht freilegen wollen — schalten Sie die Firewall ein, klicken Optionen und fügen die App zur Verweigern-Liste hinzu.

Option 4: /etc/hosts-Blockieren (partiell)

Für spezifische Telemetrie-Endpunkte können Sie den Hostnamen blackholen:

sudo nano /etc/hosts

Hinzufügen:

0.0.0.0 telemetry.example.com
0.0.0.0 analytics.example.com

Mit Strg-O speichern, mit Strg-X verlassen. Dann DNS leeren:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

Das funktioniert nur für Apps, die tatsächlich System-DNS konsultieren. Apps, die IPs hardcoden oder ihr eigenes DNS nutzen, umgehen /etc/hosts komplett. Browser, die DoH nutzen, umgehen es. Behandeln Sie /etc/hosts also als Scharfschützengewehr für bekannte Endpunkte, kein Allzweck-Block.

Der Verifikationsschritt, den jeder überspringt

Den Block aufzusetzen ist die halbe Arbeit. Die andere Hälfte ist zu bestätigen, dass er funktioniert. Hier verdient ein separates Überwachungstool seinen Platz.

Das Muster:

  1. Den Block setzen in Little Snitch / LuLu / hosts-Datei.
  2. ova in Ihrer Menüleiste öffnen. Es samplet Pro-App-Verkehr mit etwa 1 Hz.
  3. Die Ziel-App starten und nutzen. Herumklicken. Die Aktion auslösen, die früher nach Hause telefoniert hat — auf Updates prüfen, einloggen, synchronisieren.
  4. Die Pro-App-Zeile beobachten. Wenn sie bei 0 KB/s up und down bleibt, hält der Block. Wenn Sie etwas Ausgehendes sehen, haben Sie ein Leck.

Zwei Gründe für Lecks:

  • Hilfsprozess nicht abgedeckt. Die Eltern-App ist verweigert, aber Slack Helper oder Updater.app hat seine eigene Regel, die noch erlaubt.
  • Verbindung vor dem Block gecached. Die App öffnete eine langlebige Verbindung, bevor die Regel existierte. Beenden Sie die App ganz (Rechtsklick → Beenden, oder Cmd-Q) und starten Sie neu.
Live-Verifikation
Nachdem Sie eine Little-Snitch-Verweigern-Regel gesetzt haben, nutzen Sie ova, um null Verkehr zu bestätigen. Hilfsprozesse sind unter dem Eltern zusammengefasst, sodass Sie kein Leck einer separaten PID verpassen.

Sonderfälle

Eine App blockieren und LAN-Zugriff behalten

Manche Apps müssen mit Ihrem AirPlay-Lautsprecher oder lokalen Drucker sprechen, sollten aber nicht ins Internet. In Little Snitch „jeden verweigern" setzen, dann eine Erlauben-Ausnahme für LAN und Multicast/Broadcast hinzufügen. Die macOS-Local-Network-Berechtigung gattet das auch — prüfen Sie Systemeinstellungen → Datenschutz & Sicherheit → Lokales Netzwerk und widerrufen Sie es, falls die App LAN überhaupt nicht braucht.

Eine App im Wi-Fi blockieren, aber im Ethernet erlauben

Little Snitch unterstützt Profile. Erstellen Sie eines für „Café" und eines für „Zuhause", hängen Sie unterschiedliche Regeln an, wechseln Sie über die Menüleiste.

Nur Updates blockieren, alles andere erlauben

Die meisten Apps trennen Update-Verkehr von Feature-Verkehr. Finden Sie die Updater-Binary (oft in IhreApp.app/Contents/Library/LoginItems/ oder /Library/LaunchDaemons/) und fügen Sie eine Verweigern-Regel für diesen spezifischen Pfad hinzu. App ausführen, ova beobachten — Features sollten weiter funktionieren, Updates sollten mit einem Netzwerkfehler im Log fehlschlagen.

Verifizieren Sie, dass Ihre Firewall-Blocks tatsächlich halten

ova zeigt Live-Pro-App-Verkehr, sodass Sie bestätigen können, dass eine Little-Snitch-Regel ihren Job gemacht hat — lokal, signiert, ~3 MB.

Für macOS herunterladen

Ein durchgespieltes Beispiel: ein geschwätziges Utility zum Schweigen bringen

Sagen wir, Sie haben vor drei Jahren ein Screenshot-Utility gekauft. Lebenszeit-Lizenz, war früher leise, telefoniert jetzt bei jedem Start nach Hause, und Sie trauen dem neuen Eigentümer nicht.

  1. Little Snitch installieren. Trial ist okay für die erste Stunde, um zu sehen, wie sich die Regeln anfühlen.
  2. Das Screenshot-Utility starten. Little Snitch promptet: „Snipster will sich mit api.snipster.app verbinden". Klicken Sie Verweigern → Für immer → jeder Port.
  3. Die App eine Woche nutzen. Wenn Features funktionieren, hielt das Verweigern. Wenn ein Feature bricht, schauen Sie, was es zu rufen versuchte — es ist in Little Snitchs Log — und entscheiden, ob den spezifischen Endpunkt zu erlauben.
  4. ova daneben laufen lassen. Bestätigen, dass die Pro-App-Rate während normaler Nutzung bei 0 KB/s bleibt.

Dieses Muster funktioniert für jede App, die das Internet nicht wirklich braucht, um ihren Job lokal zu erledigen.

Was Blocks nicht beheben

Ein paar Dinge, ehrlich zu sein:

  • Push-Benachrichtigungen über APNs. macOS routet Apple Push durch apsd, nicht die App. Die App zu blockieren blockiert nicht ihre Benachrichtigungen. Stattdessen Benachrichtigungen in den Systemeinstellungen deaktivieren.
  • Systemerweiterungen und Daemons. Manche Apps installieren Hintergrund-Daemons unter /Library/LaunchDaemons/. Die App zu töten tötet nicht den Daemon. Nutzen Sie den offiziellen Uninstaller der App oder listen Sie Daemons über launchctl list | grep -i appname.
  • Apps, die IPs hardcoden. Selten, existiert aber. In Little Snitch nach IP statt Hostname blockieren.
  • Sandboxed-App-Store-Apps, die XPC-Services nutzen. Manchmal ist die nutzersichtbare App still und ein XPC-Helper redet. Gleiche Lösung wie Hilfsprozesse — finden Sie ihn in Little Snitchs Prozessbaum, fügen Sie eine Regel hinzu.

Warum „Monitor + Firewall" das langlebige Setup ist

Sie können nur eine Firewall laufen lassen. Sie können nur einen Monitor laufen lassen. Die meisten erfahrenen Mac-Nutzer betreiben beide:

  • Die Firewall (Little Snitch / LuLu) setzt Richtlinie und blockiert auf Kernel-Ebene.
  • Der Monitor (ova oder ähnlich) zeigt Realität — was noch redet, wie viel, wann.

Die zwei beantworten unterschiedliche Fragen. „Hat meine Regel funktioniert?" ist eine Monitor-Frage. „Welche neue App versucht nach Hause zu telefonieren?" ist eine Firewall-Prompt-Frage. Zusammen geben sie Ihnen ein vollständiges Bild.

Fazit

Eine App vom Internet auf Mac Ende-zu-Ende zu blockieren: Nutzen Sie Little Snitch oder LuLu für den Block, die macOS-Anwendungs-Firewall nur, wenn Sie auch eingehend brauchen, und /etc/hosts für bekannte Endpunkte, wenn DNS-basiertes Blockieren reicht. Dann verifizieren Sie mit einem Monitor, denn eine Regel, die Sie nicht bestätigt haben, ist eine Regel, die Sie nicht wirklich haben.

Die meisten Apps funktionieren offline gut, sobald Sie das Netzwerk kappen. Die, die es nicht tun, finden Sie schnell heraus — und Sie haben etwas Nützliches darüber gelernt, welche Features ursprünglich tatsächlich lokal waren.