Hoppa till innehålletHisnLabs
← macOS-härdning, inställning för inställning

Lektion 4 av 5 · 9 min

Tjänster, delning och öppna hamnar

Stäng av delningstjänster du inte använder, se vad som faktiskt lyssnar efter anslutningar och slå på applikationsbrandväggen.

Varje delningstjänst du lämnar på är en liten nätverksserver som körs på din Mac och väntar på att någon ska ansluta till den. De flesta slår på en en gång, för en uppgift, och stänger aldrig av den. Den här lektionen handlar om att hitta och stänga dessa och sedan lägga till en brandvägg ovanpå som ett andra lager.

Delningstjänster

På nuvarande macOS finns delningstjänster i Systeminställningar → Allmänt → Delning: Fildelning, Skärmdelning, Fjärrinloggning (SSH), Fjärrhantering, Mediedelning, Innehållscachning, Internetdelning, Skrivardelning och några andra beroende på Mac. Var och en är avstängd som standard och förblir avstängd tills du slår på den av en specifik anledning, som att skicka en fil till en annan Mac på samma nätverk eller låta en hjälpare ansluta på distans.

  • Om du har aktiverat fildelning en gång för att flytta filer mellan två Mac-datorer, eller skärmdelning för att få hjälp av någon, stäng av det igen från samma delningsfönster när du är klar.
  • Fjärrinloggning öppnar SSH-åtkomst till din Mac. Apples egen dokumentation för det säger tydligt att "att tillåta fjärrinloggning till din Mac kan göra den mindre säker." Lämna den avstängd om du inte specifikt behöver ansluta till den här Macen från någon annanstans.
  • Om flera av dessa visar som på och du inte kommer ihåg att du har aktiverat dem, är bara det värt att undersöka.

Att se vad som faktiskt lyssnar

Om du stänger av delningstjänster i Systeminställningar stänger du de som Apple exponerar en switch för, men annan programvara (en mediaserver, ett utvecklingsverktyg, en skrivardrivrutin) kan öppna sina egna lyssningsportar utan att fråga. lsof (lista öppna filer, som på Unix inkluderar nätverksuttag) kan visa dig varje process som för närvarande väntar på en inkommande TCP-anslutning:

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)

Varje rad är en process som lyssnar på en port: kommandots namn, dess process-ID, adressen den är bunden till (* betyder varje nätverksgränssnitt, 127.0.0.1 betyder endast lokala anslutningar) och portnumret efter kolon. -n och -P säger till lsof att visa råadresser och portnummer istället för att lösa dem, vilket är både snabbare och tydligare. En port som endast är bunden till 127.0.0.1 kan endast nås från själva Macen; en port bunden till * kan, om nätverket tillåter, nås från andra enheter. Vissa poster kommer att vara Apples egna bakgrundstjänster (som AirDrop/Handoff-hjälparen rapportd, eller Control Centers AirPlay-mottagare); de som är värda att ifrågasätta är appar du installerade som du inte alls förväntade dig att lyssna på.

Applikationsbrandväggen

Applikationsbrandväggen, i Systeminställningar → Nätverk → Brandvägg, är ett andra lager ovanpå att stänga oanvända tjänster: istället för att blockera med portnummer, bestämmer den per app om den appen överhuvudtaget får acceptera inkommande anslutningar. Apple beskriver det som att skydda Mac "från oönskad kontakt som initieras av andra datorer när du är ansluten till internet eller ett nätverk", samtidigt som du låter dig tillåta specifika appar eller tjänster.

Apple Support: Ändra brandväggsinställningar på Mac.
BrandväggsalternativVad den gör
Blockera alla inkommande anslutningarFörhindrar inkommande anslutningar till icke-nödvändiga tjänster och appar, och lämnar endast grundläggande tjänster som behövs för att Mac ska hitta andra datorer i nätverket.
Tillåt automatiskt signerad programvaraLåter inbyggda eller nedladdade appar signerade med ett giltigt certifikat ta emot inkommande anslutningar utan att fråga. Att stänga av detta innebär fler uppmaningar, men färre tysta undantag.
Aktivera smyglägeStoppar Mac-datorn att svara på sonderingsförfrågningar, inklusive ping (ICMP), som annars skulle kunna användas för att upptäcka att den finns i ett nätverk.

Du kan kontrollera brandväggens nuvarande tillstånd från Terminal utan att ändra något:

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

Att slå på brandväggen och aktivera smygläge kräver båda ett administratörslösenord; de skrivskyddade --get-kommandona ovan ändrar ingenting.

Viktigt att minnas

  • Delningstjänster (fildelning, skärmdelning, fjärrinloggning och andra) finns i Systeminställningar → Allmänt → Delning, är avstängda som standard och bör stängas av när en specifik uppgift är klar.
  • `lsof -iTCP -sTCP:LISTEN -n -P` listar alla processer som för närvarande lyssnar efter inkommande TCP-anslutningar, så att du kan se portar som du inte förväntade dig att vara öppna.
  • En port bunden till `127.0.0.1` är endast lokal; en bunden till `*` kan potentiellt nås från nätverket.
  • Applikationsbrandväggen kontrollerar inkommande anslutningar per app; smygläge hindrar Mac från att svara på sonder som ping.
  • Programbrandväggen filtrerar inte utgående anslutningar.

Testa dig själv

  1. 1. Vad visar `lsof -iTCP -sTCP:LISTEN -n -P` dig?

    • Varje fil som någonsin har öppnats på Mac
    • Varje process lyssnar för närvarande efter inkommande TCP-anslutningar, med dess port — Rätt.
    • En lista över blockerade IP-adresser
    • Mac:s Wi-Fi-lösenord

    Denna exakta kombination av flaggor filtrerar `lsof` ner till processer med en öppen, lyssnande TCP-socket, som visar råadresser och portnummer.

  2. 2. Vad betyder en lyssningsport som visas som `127.0.0.1:5432`?

    • Den är tillgänglig från alla enheter på internet
    • Den är endast tillgänglig från själva Macen — Rätt.
    • Det är en Bluetooth-tjänst
    • Den har blockerats av brandväggen

    127.0.0.1 är loopback-adressen: anslutningar till den kan bara komma från samma maskin.

  3. 3. Vad styr främst macOS Application Firewall?

    • Utgående anslutningar appar gör till internet
    • Inkommande anslutningar till appar och tjänster på Mac — Rätt.
    • Bluetooth-parningsförfrågningar
    • Vilka webbplatser som kan besökas

    Applikationsbrandväggen avgör, per app, om oönskade inkommande anslutningar är tillåtna; den filtrerar inte vad appar skickar ut.

Testa det med FireAI

Omsätt den här lektionen i praktiken på din egen Mac.

Källor

Omsätt det på din Mac

Prova alla funktioner gratis i 17 dagar, inget kort behövs.

Ladda ner för Mac Dokumentation