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:
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.
| Brandväggsalternativ | Vad den gör |
|---|---|
| Blockera alla inkommande anslutningar | Fö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 programvara | Lå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äge | Stoppar 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:
/usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate
Firewall is enabled. (State = 1)
/usr/libexec/ApplicationFirewall/socketfilterfw --getstealthmode
Firewall stealth mode is offAtt 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. 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. 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. 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.
- Säkerhetslägen: Hem, Café, Paranoia, Under attack — Matcha FireAIs stränghet till var din Mac faktiskt är, med ett tryck.
- Hitta appar med kända säkerhetsbrister — Täpp till kända hål innan någon utnyttjar dem: uppdatera den enda app som behöver det.
- Svara på din första anslutningsförfrågan, och vad varje varaktighet betyder — Förstå exakt vad du godkänner första gången FireAI frågar.
Källor
- Apple Support: Block connections to your Mac with a firewall
- Apple Support: Change Firewall settings on Mac
- Apple Support: Allow a remote computer to access your Mac (Remote Login)
- Apple Support: Set up file sharing on Mac
Omsätt det på din Mac
Prova alla funktioner gratis i 17 dagar, inget kort behövs.