Zum Inhalt springenHisnLabs
← macOS-Härtung, Einstellung für Einstellung

Lektion 4 von 5 · 9 Min.

Dienste, Freigaben und offene Ports

Ungenutzte Freigabedienste ausschalten, sehen, was tatsächlich auf Verbindungen horcht, und die Anwendungs-Firewall aktivieren.

Jeder aktiviert gelassene Freigabedienst ist ein kleiner Netzwerkserver, der auf Ihrem Mac läuft und darauf wartet, dass sich jemand mit ihm verbindet. Die meisten Menschen aktivieren einen einmal, für eine Aufgabe, und schalten ihn nie wieder aus. Diese Lektion behandelt das Finden und Schließen dieser Dienste, und fügt dann eine Firewall als zweite Schicht hinzu.

Freigabedienste

In aktuellem macOS leben Freigabedienste unter Systemeinstellungen → Allgemein → Freigabe: Dateifreigabe, Bildschirmfreigabe, Remote-Anmeldung (SSH), Remote-Verwaltung, Medienfreigabe, Content-Caching, Internetfreigabe, Druckerfreigabe, und je nach Mac ein paar weitere. Jeder ist standardmäßig deaktiviert und bleibt es, bis Sie ihn für einen bestimmten Grund aktivieren, etwa um eine Datei an einen anderen Mac im selben Netzwerk zu senden oder jemandem entfernten Zugriff zur Hilfe zu erlauben.

  • Haben Sie Dateifreigabe einmal aktiviert, um Dateien zwischen zwei Macs zu verschieben, oder Bildschirmfreigabe, um Hilfe von jemandem zu erhalten, schalten Sie sie danach im selben Freigabe-Bereich wieder aus.
  • Remote-Anmeldung öffnet SSH-Zugriff auf Ihren Mac. Apples eigene Dokumentation dazu sagt unverblümt, dass „das Erlauben von Remote-Anmeldung auf Ihren Mac ihn weniger sicher machen kann.“ Lassen Sie sie aus, sofern Sie nicht ausdrücklich von anderswo auf diesen Mac zugreifen müssen.
  • Zeigen mehrere davon als aktiviert an, und Sie erinnern sich nicht, sie eingeschaltet zu haben, lohnt sich allein das schon zu untersuchen.

Sehen, was tatsächlich horcht

Freigabedienste in den Systemeinstellungen auszuschalten schließt die, für die Apple einen Schalter anbietet, aber andere Software (ein Medienserver, ein Entwicklungswerkzeug, ein Druckertreiber) kann eigene horchende Ports öffnen, ohne zu fragen. lsof (list open files, was unter Unix auch Netzwerk-Sockets einschließt) kann Ihnen jeden Prozess zeigen, der derzeit auf eine eingehende TCP-Verbindung wartet:

Terminal
lsof -iTCP -sTCP:LISTEN -n -P
COMMAND     PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
rapportd   1442 admin   15u  IPv4  ...       0t0  TCP *:64654 (LISTEN)
ControlCe  1775 admin    9u  IPv4  ...       0t0  TCP *:7000 (LISTEN)

Jede Zeile ist ein Prozess, der auf einem Port horcht: der Befehlsname, seine Prozess-ID, die Adresse, an die er gebunden ist (* bedeutet jede Netzwerkschnittstelle, 127.0.0.1 bedeutet nur lokale Verbindungen), und die Portnummer nach dem Doppelpunkt. -n und -P weisen lsof an, rohe Adressen und Portnummern zu zeigen statt sie aufzulösen, was sowohl schneller als auch klarer ist. Ein nur an 127.0.0.1 gebundener Port ist nur vom Mac selbst erreichbar; ein an * gebundener Port kann, wenn das Netzwerk es erlaubt, von anderen Geräten erreicht werden. Manche Einträge sind Apples eigene Hintergrunddienste (wie der AirDrop/Handoff-Helfer rapportd, oder der AirPlay-Empfänger des Kontrollzentrums); die, die es zu hinterfragen lohnt, sind installierte Apps, von denen Sie nicht erwartet hätten, dass sie überhaupt horchen.

Die Anwendungs-Firewall

Die Anwendungs-Firewall, unter Systemeinstellungen → Netzwerk → Firewall, ist eine zweite Schicht zusätzlich zum Schließen ungenutzter Dienste: Statt nach Portnummer zu blockieren, entscheidet sie pro App, ob diese App überhaupt eingehende Verbindungen annehmen darf. Apple beschreibt sie als Schutz des Macs „vor unerwünschten Kontaktversuchen anderer Computer, wenn Sie mit dem Internet oder einem Netzwerk verbunden sind“, während Sie weiterhin bestimmte Apps oder Dienste durchlassen können.

Apple Support: Firewall-Einstellungen auf dem Mac ändern.
Firewall-OptionWas sie tut
Alle eingehenden Verbindungen blockierenVerhindert eingehende Verbindungen zu nicht essenziellen Diensten und Apps und lässt nur grundlegende Dienste, die der Mac braucht, um andere Computer im Netzwerk zu finden.
Signierte Software automatisch erlaubenLässt eingebaute oder heruntergeladene, mit gültigem Zertifikat signierte Apps eingehende Verbindungen ohne Nachfrage annehmen. Diese zu deaktivieren bedeutet mehr Abfragen, aber weniger stille Ausnahmen.
Tarnmodus aktivierenHindert den Mac daran, auf abtastende Anfragen zu antworten, einschließlich Ping (ICMP), die sonst genutzt werden könnten, um zu erkennen, dass er in einem Netzwerk existiert.

Sie können den aktuellen Firewall-Status über das Terminal prüfen, ohne etwas zu ändern:

Terminal
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Firewall is enabled. (State = 1)
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Firewall stealth mode is off

Die Firewall zu aktivieren und den Tarnmodus einzuschalten erfordern beide ein Administratorpasswort; die obigen schreibgeschützten --get-Befehle ändern nichts.

Das Wichtigste

  • Freigabedienste (Dateifreigabe, Bildschirmfreigabe, Remote-Anmeldung und andere) liegen unter Systemeinstellungen → Allgemein → Freigabe, sind standardmäßig deaktiviert, und sollten nach einer bestimmten erledigten Aufgabe wieder ausgeschaltet werden.
  • `lsof -iTCP -sTCP:LISTEN -n -P` listet jeden Prozess, der derzeit auf eingehende TCP-Verbindungen horcht, sodass Sie unerwartet offene Ports erkennen können.
  • Ein an `127.0.0.1` gebundener Port ist nur lokal; einer an `*` kann potenziell aus dem Netzwerk erreicht werden.
  • Die Anwendungs-Firewall kontrolliert eingehende Verbindungen pro App; der Tarnmodus hindert den Mac daran, auf Abtastungen wie Ping zu antworten.
  • Die Anwendungs-Firewall filtert keine ausgehenden Verbindungen.

Testen Sie sich

  1. 1. Was zeigt Ihnen `lsof -iTCP -sTCP:LISTEN -n -P`?

    • Jede jemals auf dem Mac geöffnete Datei
    • Jeden derzeit auf eingehende TCP-Verbindungen horchenden Prozess, mit seinem Port — Richtig.
    • Eine Liste blockierter IP-Adressen
    • Das WLAN-Passwort des Macs

    Genau diese Kombination von Optionen filtert `lsof` auf Prozesse mit einem offenen, horchenden TCP-Socket und zeigt rohe Adressen und Portnummern.

  2. 2. Was bedeutet ein als `127.0.0.1:5432` angezeigter horchender Port?

    • Er ist von jedem Gerät im Internet erreichbar
    • Er ist nur vom Mac selbst erreichbar — Richtig.
    • Er ist ein Bluetooth-Dienst
    • Er wurde von der Firewall blockiert

    127.0.0.1 ist die Loopback-Adresse: Verbindungen dazu können nur vom selben Gerät ausgehen.

  3. 3. Was kontrolliert die macOS-Anwendungs-Firewall hauptsächlich?

    • Ausgehende Verbindungen, die Apps ins Internet herstellen
    • Eingehende Verbindungen zu Apps und Diensten auf dem Mac — Richtig.
    • Bluetooth-Kopplungsanfragen
    • Welche Websites besucht werden können

    Die Anwendungs-Firewall entscheidet pro App, ob unaufgeforderte eingehende Verbindungen erlaubt sind; sie filtert nicht, was Apps hinaussenden.

Mit FireAI ausprobieren

Wenden Sie diese Lektion auf Ihrem eigenen Mac an.

Quellen

Setzen Sie es auf Ihrem Mac um

Teste alle Funktionen 17 Tage kostenlos, ohne Karte.

Download für Mac Doku