Leksjon 2 av 4 · 9 min
Brannmurer: stateful filtrering og macOS-alternativer
Hvordan en stateful brannmur bestemmer hva som skal slippes gjennom, forskjellen mellom innkommende og utgående filtrering, og verktøyene macOS gir deg for hver.
En brannmurs jobb høres enkel ut: Slipp god trafikk gjennom, hold dårlig trafikk ute. Den interessante delen er hvordan den bestemmer, og på hvilket nivå. Denne leksjonen dekker stateful filtrering som et konsept, og deretter de spesifikke, separate verktøyene macOS tilbyr, som hver arbeider på et annet lag.
Stateful filtrering: husker samtalen
En tidlig, "statsløs" brannmur inspiserer hver pakke isolert mot et fast sett med regler. En stateful brannmur holder i stedet oversikt over åpne tilkoblinger, og som Cloudflares nettverksordliste beskriver det, "lagrer informasjon om åpne tilkoblinger og bruker denne informasjonen til å analysere innkommende og utgående trafikk, i stedet for å inspisere hver pakke" fra bunnen av. I praksis betyr dette at en stateful brannmur kan holde porter effektivt lukket til en tilkobling du initierte ber om svar, og deretter la det spesifikke svaret komme inn igjen, uten å åpne porten for noe annet. Nesten alle forbruker- og operativsystembrannmurer som er i bruk i dag, inkludert macOS, er stateful.
Innkommende vs utgående filtrering
Innkommende filtrering kontrollerer tilkoblinger som ankommer maskinen, uoppfordret, utenfra: noen eller noe prøver å nå en tjeneste som kjører på den. Utgående (utgående) filtrering kontrollerer tilkoblinger maskinen selv, eller en app på den, prøver å lage utover. De to har forskjellige grunner. Inngående filtrering stopper en maskin fra å bli nådd og undersøkt i utgangspunktet. Utgangsfiltrering er viktig etter at noe har gått galt: skadelig programvare som kommer inn på en maskin må fortsatt ringe hjem, motta instruksjoner eller sende ut data, og hver og en av disse trenger en utgående tilkobling. En maskin med en sterk inngående brannmur og ingen utgangsfiltrering i det hele tatt kan fortsatt lekke alt på den, én utgående tilkobling om gangen.
Hva macOS faktisk gir deg
| Verktøy | Lag | Retning | Notater |
|---|---|---|---|
| Applikasjonsbrannmur | Per app, i Systeminnstillinger → Nettverk → Brannmur | Innkommende | Bestemmer om hver app i det hele tatt kan akseptere innkommende tilkoblinger; filtrerer ikke hva apper sender utover. Dekket med kommandoer for å sjekke det i dette nettstedets macOS-herdekurs. |
| pf (pakkefilter) | Pakkefiltrering på kjernenivå, arvet fra BSD | Begge, regelbasert | En kraftig brannmur for generell bruk som Apple bruker internt (for eksempel for deling av Internett), dokumentert for administratorer på manualsidene pfctl og pf.conf i stedet for i en grafisk innstillingsrute. Håndskrevne pf-regler er en eldre BSD-brannmur, ikke et Apple-produkt med en støtteside, og macOS dokumenterer ikke offisielt redigering av dem for sluttbrukerherding. |
| Innholdsfiltre for nettverksutvidelser | App-nivå, via Apples NetworkExtension-rammeverk | Utgående (og inngående for strømmene et filter er gitt) | Rammeverket tredjepartsapper bruker for å inspisere eller blokkere nettverkstrafikk per app eller per domene, med brukerens tillatelse; det er det som gjør en utgående brannmur per app på macOS i det hele tatt mulig, i stedet for bare inngående. |
Den praktiske lesningen av denne tabellen er at macOS sin innebygde, støttede brannmur (applikasjonsbrannmuren) dekker inngående tilkoblinger godt, men sier ingenting om hva som forlater maskinen. pf kan teknisk sett gjøre begge deler, men det er et skriptbasert verktøy på lavt nivå som er rettet mot administratorer som er komfortable med å redigere konfigurasjonsfiler og resonnere om regelrekkefølge, ikke noe dette kurset vil gå gjennom konfigurering av, siden en feil i et håndskrevet regelsett stille kan mislykkes med å åpne eller låse nettverkstilgang helt, og Apple behandler det ikke som en applikasjon. Brannmur. Fellesskapsforsterkende veiledninger som publiserer ferdiglagde pf regelsett eller skript som trekker inn tredjeparts IP-blokkeringslister, går lenger enn dette kurset anbefaler: disse listene må stoles på og holdes oppdatert av noen, og en ødelagt oppdatering kan bryte tilkoblingen uten noen klar feilmelding.
Det gapet, en innebygd brannmur for innkommende kun uten enkel, støttet måte å se eller kontrollere utgående tilkoblinger per app på, er akkurat hva Apples Network Extension-rammeverk eksisterer for å la tredjepartsutviklere fylle, med brukerens eksplisitte tillatelse ved installasjonen.
Det viktigste
- En tilstandsfull brannmur sporer åpne tilkoblinger og tillater returtrafikk for en tilkobling du har startet, uten å inspisere hver pakke mot en fast regelliste.
- Inngående filtrering stopper en maskin fra å nås utenfra; utgående (utgående) filtrering er viktig når noe allerede er på maskinen og prøver å kommunisere ut.
- MacOS Application Firewall filtrerer innkommende tilkoblinger per app; den filtrerer ikke utgående trafikk.
- `pf` er en kraftig BSD-brannmur på kjernenivå som macOS bruker internt, men det er ikke en støttet, dokumentert innstilling for sluttbrukerherding slik applikasjonsbrannmuren er.
- Apples Network Extension-rammeverk er det som lar tredjepartsapper gi utgående filtrering per app, gapet den innebygde brannmuren etterlater åpen.
Test deg selv
1. Hva gjør en tilstandsfull brannmur annerledes enn et enkelt, statsløst pakkefilter?
- Den blokkerer all trafikk som standard uten unntak
- Den sporer åpne forbindelser og bruker den konteksten for å tillate forventet returtrafikk — Riktig.
- Det fungerer bare på Wi-Fi-nettverk
- Den krypterer all nettverkstrafikk
Stateful brannmurer husker tilstanden til åpne tilkoblinger i stedet for å bedømme hver pakke isolert, noe som lar dem trygt tillate svar på tilkoblinger du startet.
2. Hvorfor har utgående (utgående) filtrering betydning, gitt en sterk inngående brannmur?
- Det spiller ingen rolle om inngående filtrering er sterk
- Fordi programvare som allerede er på maskinen fortsatt trenger en utgående tilkobling for å sende ut data eller motta instruksjoner — Riktig.
- Utgående tilkoblinger er alltid trygge
- Det betyr bare for webservere
Innkommende filtrering stopper uønskede tilkoblinger fra å nå maskinen, men gjør ingenting når noe allerede kjører på den og prøver å kommunisere utover.
3. Hva gjør IKKE macOS Application Firewall?
- Bestem om en app kan godta innkommende tilkoblinger
- Filtrer utgående tilkoblinger en app lager — Riktig.
- Arbeid på en per-app basis
- Kjør uten ekstra programvare
Applikasjonsbrannmuren er kun inngående; å kontrollere hvilke apper som sender utover krever en annen mekanisme, for eksempel en bygd på Apples nettverksutvidelsesrammeverk.
Prøv det med FireAI
Sett denne leksjonen ut i praksis på din egen Mac.
- Regler: app, nettsted, domene, IP eller et område, for alltid eller til du starter på nytt — Skriv en regel like presis som én adresse eller like bred som et helt domene.
- Kill switch — Kutt Mac-en din fra internett med ett klikk når noe føles galt.
- Undersøk en tilkobling — Bestem deg med fakta foran deg, ikke en vag advarsel.
- Aktivitet: hver app som var på nett, og et enkelt historiesøk — Se hver app som var på nett i dag, og handle på hvilken som helst av dem med ett klikk.
Kilder
- Cloudflare Learning: What is a firewall?
- Apple Support: Block connections to your Mac with a firewall
- Apple Developer: Network Extension framework
Ta det i bruk på din Mac
Prøv alle funksjonene gratis i 17 dager, uten kort.