mini|Brandvägg mellan lokalt nät (LAN) och Internet (WAN) mini|WatchGuard Firebox 1000, en hårdvarubrandvägg med möjlighet till innehållsfiltrering En brandvägg (sverigesvenska) eller brandmur (finlandssvenska) är inom datateknik en fysisk enhet (en s.k. hårdvarubrandvägg) eller en programvara som kan installeras i en generell dator (en s.k. mjukvarubrandvägg) i syfte att avvärja dataintrång på nätverksanslutna datorer.
En nätverksbrandvägg ansluts mellan två eller flera nätverk, vanligen mellan Internet (WAN) och ett privat nätverk (ett eller flera LAN), och är vanligen placerad i anslutning till en router, eller i samma fysiska enhet som routern. En personlig brandvägg installeras som en programvara i den dator som ska skyddas.
En brandvägg analyserar inkommande och utgående trafik och blockerar obehöriga IP-paket. För att avgöra vilken trafik som är behörig eller ej arbetar den efter regler, bestämda av brandväggens programvara och av dess systemadministratör. I inställningarna för vilken trafik som skall tillåtas eller blockeras kan man vanligtvis använda parametrar såsom IP-adress, portnummer, fysiskt gränssnitt, och ibland visst innehåll. Vid en personlig brandvägg kan man dessutom välja vilka program på den lokala datorn som tillåts kommunicera med vissa adresser.
En oskyddad dator ansluten till Internet utsätts dagligen för oerhört många intrångsförsök från skadlig programvara på nätet, som försöker utnyttja olika säkerhetshål, knäcka lösenord, med mera. Om exempelvis en dator vars operativsystem inte uppdaterats på länge ansluts till Internet utan aktiverade brandväggar är risken stor att den inom kort stund infekteras av virus och internetmaskar.
Historia Ordet brandvägg myntades 1851 och är bokstavligt vad det låter som; en vägg som ska skydda mot att bränder sprider sig. När ordet nylanserades handlade det istället om internettrafik. I samband med att den första internetmasken Morrismasken spred sig 1988 stod alla oförberedda och oskyddade. 10 procent av alla internetanslutna datorer smittades av och gjordes obrukbara. Amerikanen Jeffrey Mogul på företaget Digital skrev 1989 det första förslaget på en lösning mot liknande attacker. Han kallade skyddet för ett “paketfilter” och ett färdigt förslag släpptes till försäljning 1991. Sedan dess har brandväggen utvecklats i många generationer.
Olika typer av filtrering IP-adress I brandväggens inställningar kan man ange vilka IP-adresser som tillhör det privata nätverket och således betraktas som tillförlitliga. Trafik inom det privata nätverket filtreras normalt inte av nätverksbrandväggar. Ett privat nätverk kan exempelvis vara organisationens Intranät eller domän, eller fastighetens lokala nätverk. Notera att även externa datorer anslutna via virtuellt privat nätverk (VPN) i allmänhet anses tillhöra det privata nätverket, och således kan ta sig förbi nätverksbrandväggens filtrering. Vidare kan organisationens nätverk delas upp i zoner eller "öar" som kan skyddas från varandra i en brandvägg som är integrerad med en router. Exempelvis kan en särskild demilitariserad zon skapas, bestående av ett skilt privat nät där man placerar webbservrar och andra publika servrar, vilka är särskilt utsatta för risker.
En personlig brandvägg kan filtrera kommunikation även mot andra IP-adresser inom samma privata nätverk, med undantag för vissa betrodda serverdatorer. Den erbjuder således skydd även mot dataintrång och spridande av Internetmaskar inom det privata nätverket.
Blockering av inkommande anrop till servrar Serverprocesser (program som väntar på initiativ från klientprogram) är mer utsatta än klientprocesser (program som tar initiativ till kommunikation), eftersom en server ständigt är öppen för kommunikation från valfri IP-adress, medan klienten bara är öppen för kommunikation med en specifik server och under den begränsade tid en kommunikationssession pågår. Skadlig programvara utför ofta portskanning för att ta reda på vilka serverprocesser som är öppna på en dator, och sedan kunna angripa dem som kan ha säkerhetshål. Det är också möjligt att direkt testa säkerhetshålen utan skanning – ett misslyckat försök är inte särskilt dyrt.
Det främsta syftet med en brandvägg är därför att skydda serverprocesser (nätverkstjänster) avsedda för internt bruk från dataintrång från klienter utanför det privata nätverket. I synnerhet vill man stoppa externa användare från att komma åt traditionella LAN-tjänster såsom delad diskaccess och delad skrivaraccess, eftersom dessa ofta har använts för att sprida skadlig kod eller göra dataintrång. Det är därför vanligt i brandväggar att grundinställningen är att inkommande trafik blockeras till de så kallade välkända portarna med nummer under 1024, som används för de flesta serverprogram men inte för klienter.
Emellertid kan man i inställningarna "öppna hål" i brandväggen för vissa servertjänster, det vill säga göra undantag för inkommande anrop till vissa IP-adresser och vissa portnummer under 1024, exempelvis för en webbserver som man vill ska vara publikt åtkomlig.
Alternativt kan man helt ändra policy, exempelvis så att man öppnar för all trafik som inte betraktas som särskilt suspekt.
Filtrering av avvikande utgående anrop från klienter Traditionellt är grundinställningen för nätverksbrandväggar att inte stoppa interna klienter från att kontakta externa servrar. Emellertid finns möjlighet att stoppa trafik till serverportnummer som utgör kända säkerhetsrisker, i syfte att stoppa trojanska hästar och Internetmaskar. Vidare kan en arbetsgivare vilja stoppa portnummer som brukar användas för piratkopiering eller för spel. Dock använder många servrar tcp-port 80 för dessa ändamål (samma portnummer som för webbservrar), och därför kan det vara svårt att stoppa utgående illegitima anrop enbart genom att titta på portnummer utan att också stoppa användarnas möjlighet att surfa på webben.
I webbens barndom var det vanligt att HTTP-trafik styrdes via en proxyserver, som fungerade som mellanlagrande nätverkscache, i syfte att minska belastningen på externa förbindelser.
Misstänkt IP-adressförfalskning och icke-korrekta paket Brandväggar spärrar ofta självmant datapaket som inte följer IP-standarden, som utnyttjar ovanliga funktioner som är lätta att missbruka eller annars kan antas illegitima. Där det kan finnas orsak att godkänna sådan trafik kan detta ofta göras med skilda inställningar.
Inkommande trafik filtreras avseende så kallad IP-adressförfalskning (IP spoofing), det vill säga ip-adresser tilldelade i inre nätet, som inte får förekomma som avsändaradresser i inkommande trafik, något som ofta utnyttjas för Denial of Service-attacker. På samma sätt kontrolleras ofta att avsändaradresser (på ip-nivå) för utgående trafik ligger inom de intervall som tilldelats det inre nätet, för att försvåra vissa typer av attacker på nätet utanför.
Innehållsfiltrering Första generationens brandväggar analyserade enbart enskilda IP-, TCP- och UDP-pakets pakethuvuden. Andra generationens brandväggar är även innehållsfiltrerande, och analyserar UDP- och TCP-paketens innehåll genom så kallad djup inspektion, exempelvis vad gäller applikationsprotokollets meddelande, URL:er och filtyper. De kan då filtrera trafiken också gällande till exempel material som misstänks vara olämpligt för barn eller som inte anställda bör gå in på arbetstid, webbplatser och filtyper som är kända säkerhetsrisker. En sådan brandvägg är emellertid långsammare och betydligt mer komplicerad att konfigurera och därmed ökar risken för säkerhetsluckor i själva brandväggen. Inte heller en sådan brandvägg kan skydda mot attacker som den inte kan skilja från legitim trafik.
På vissa företag har det förekommit försök att stoppa filtyper som kan innehålla konfidentiell information och på så sätt försvåra att detta sprids vidare från det privata nätverket. För att en brandvägg säkert skall kunna skydda mot utsmuggling av information måste den emellertid stoppa alla krypterade förbindelser, något som är svårt och sällan önskvärt. Dessutom måste den analysera trafiken med tanke på steganografi. Sådana brandmurar kräver aktivt underhåll och används ytterst sällan idag.
Portbaserad filtrering Första generationens brandväggar, som utvecklades 1988, kallas paketfilter och analyserade varje paket för sig. Tredje generationens brandväggar utvecklades redan 1989–1990, och lagrar dessutom information om varje pågående sessions eller paketflödes tillstånd. Dessa tillståndsbaserade brandväggar (eng. stateful firewall) kontrollerar som grundinställning att alla TCP-sessioner initieras från brandväggens insida, utom inkommande anrop till servrar till vilka hål har öppnats. De kan kontrollera att paketens ordningsföljd är korrekt, och kan minska risken att IP-paket från en förfalskad IP-adress (s.k. IP spoofing) kan störa en pågående session. De möjliggör även kontroll av FTP-kommunikation, något tidigare brandväggar inte klarade eftersom FTP-servern använder två portnummer till samma filöverföring; det ena används för inkommande anrop (FTP-kommandon) från FTP-klient till FTP-servern, och det andra ibland används för uppkoppling från servern (vid filnedladdning), ibland för uppkoppling till servern (vid filuppladdning).
Applikationsfiltrering En portfiltrerande brandvägg, alltså en nätverksbrandvägg som enbart analyserar IP-adresser och portnummer för TCP och UDP och liknande lågnivåinformation, kan inte stoppa icke-legitim utgående trafik från legitima portar, exempelvis från klienter som använder portnummer högre än 1024. Dessutom kan den inte göra en dator säker för dataintrång mot de tjänster (serverprocesser) till vilka hål har öppnats så att de skall kunna nås från yttervärlden. Även om brandväggen kan stoppa många externa attacker mot tjänster som enbart är avsedda för bruk inom intranät, så har den begränsade möjligheter att skilja mellan legitim och icke-legitim trafik. Mer avancerade brandväggar klarar att analysera innehållet i trafiken. Med innehållsfiltrering kan man stoppa kända attacker och trafik som inte följer standarderna för vad trafiken utger sig vara.
En personlig brandvägg kan fungera som applikationsbrandvägg, de vill säga be användaren om bekräftelse innan ett nyinstallerat program får tillåtelse att fungera som klient eller server, dels mot det privata nätverket, dels mot externa IP-adresser. På så sätt kan man försvåra för skadlig programvara såsom trojaner och nätmaskar att spridas vidare. Det är dock i allmänhet möjligt för programvaran att låta ett legitimt program förmedla trafiken, till exempel om godtyckliga program har möjlighet att be en webbläsare hämta önskade webbsidor.
Olika typer av brandväggar Hårdvarubrandväggar Med en hårdvarubrandvägg menar man en särskild utrustning avsedd att fungera som brandvägg, eller i samma nätverksutrustning som fungerar som router. I praktiken är den en dator med operativsystem och behövlig programvara, men utrustningen är inte utformad för att fungera som generell dator, och programvaran är ofta skriven, vald eller konfigurerad för att minimera mängden säkerhetsluckor. Hårdvarubrandväggar är vanligast hos företag och organisationer, men också till exempel ADSL-modem kan innehålla en inbyggd brandvägg.
Mjukvarubrandväggar Med en mjukvarubrandvägg menar man programvara avsedd att installeras på en normal dator. Det kan då vara frågan om samma programvara som i hårdvarubrandväggen (till exempel Linux-kärnan har en inbyggd brandvägg som används också i Linux-baserade hårdvarubrandväggar) eller programvara skriven uttryckligen att användas på en persondator eller icke-specialiserad serverdator.
Nätverksbrandväggar