Brandvägg

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 
En nätverksbrandvägg kopplas mellan två eller flera nätverk (där ett ofta är Internet), och sitter vanligen i samma enhet som eller i direkt anslutning till den router som sammankopplar nätverken. En nätverksbrandvägg är idag oftast en hårdvarubrandvägg, men kan även vara en mjukvarubrandvägg. En nätverksbrandvägg analyserar och filtrerar inkommande och utgående IP-paket baserat på portnummer, IP-adress och i vissa fall även innehållet, men kan inte hindra särskilda datorprogram.

Personliga brandväggar 
En så kallad personlig brandvägg är en programvara avsedd att installeras på en persondator för att skydda denna, inte ett helt nätverk och inte en server eller ett fleranvändarsystem. Den skyddar inte bara från dataintrång från datorer utanför intranätet, utan även från andra datorer i samma nätverk. 

Den personliga brandväggen kan utnyttja kunskap om vilka specifika program på datorn som försöker skapa en förbindelse utåt eller kommer att behandla en inkommande förbindelse och kan därför ha olika regler också för olika program. Den personliga brandväggen kan också dra fördel av att ha en användare som i realtid kan ta ställning till vilka förbindelser som skall tillåtas och vilka som skall avvisas. På så sätt kan den ibland hindra skadlig programvara från att kommunicera, till exempel angripa andra datorer eller hämta instruktioner. I praktiken ifrågasätts dessa fördelar rätt allmänt, då användaren sällan har tillräcklig kunskap för att fatta goda beslut och det finns metoder (ofta triviala) att maskera icke-legitim trafik.

Serverbrandväggar och applikationsspecifika brandväggar 
En mjukvarubrandvägg kan installeras också på en server, varvid den liksom den personliga brandväggen skyddar datorn själv mot angrepp också från det privata nätverket. Sådana brandväggar ingår i många serveroperativsystem. Liksom en personlig brandvägg kan den ha regler för vilka program, och också vilka användarkonton, som får öppna förbindelser utåt (allmänt eller till enskilda datorer) och vilka som får fungera som servrar.

NAT-routrar 
En NAT-router kan i praktiken fungera som brandvägg i den meningen att den filtrerar bort trafik som inte initierats från insidan, då den inte vet till vilken dator trafiken borde styras. Trafik utifrån kan styras till en viss dator eller till olika datorer beroende på destinationsport, varvid brandväggsfunktionen uteblir till dessa delar (liksom då motsvarande hål öppnas i en vanlig brandvägg). NAT-routrar ingår ofta i bredbandsmodem.

Internetleverantörers filtrering 
Internetleverantörer kan filtrera bort både inkommande och utgående trafik till problematiska tjänster avsedda för intranät som utgör kända säkerhetshål (till exempel SMB) eller RPC-porten, men måste släppa igenom det mesta, såväl inkommande som utgående anrop, eftersom de inte vet vilka tjänster kunderna kan vilja erbjuda yttervärlden, eller behöver komma åt. Det är vanligt att internetleverantörer kräver att e-post skall skickas via deras e-postserver (för att minska möjligheten att skicka ut skräppost).

Filtrering av specifika protokoll 
Det finns ett antal IP-protokoll andra än TCP, UDP, och ICMP, till exempel RIP för kommunikation mellan routrar. Information utifrån bör sällan användas för att styra de interna routrarnas funktion. Det är vanligt att filtrera bort sådana paket.

Många nätverksprotokoll på högre nivå använder så kallade ”välkända” TCP- eller UDP-portar på serversidan. Om den relaterade servicen skall tillåtas räcker det ofta att tillåta eller spärra trafik till (och svarstrafik från) ifrågavarande port. Detta gäller till exempel e-post, domännamnssystemet, SMB och så kallad aktiv FTP. För andra protokoll kan de använda portarna variera, antingen i enskilda fall såsom för HTTP eller SSH, eller så att någon etablerad port över huvud taget inte finns, utan varierar fritt.

För passiv FTP framgår portnumret för dataöverföring ur trafiken på den välkända porten för kontrollkanalen. Många brandväggar klarar av att analysera trafiken i tillräcklig grad för att tillåta trafik till den port som behövs.

Trafik för e-post (SMTP) och för webbplatser (HTTP) styrs ofta via en central server, som känner protokollet i detalj och därför kan analysera och filtrera själva innehållet i trafiken. Det är då möjligt att köra enskilda delar via ett antivirusprogram för att stoppa kända attacker och kända hot. Också här gäller att enskilda delar kan vara krypterade och därmed omöjliga att analysera – och omöjliga att stoppa om kryptering tillåts för den ifrågavarande typen av data.

Kringgående av brandväggar 
Firewall bypass (FWB) är ett icke-etablerat engelskt uttryck för tekniker att kringgå brandväggar. Begreppet har ännu inget etablerat namn på svenska. Tekniken är oftast implementerad i program vars syfte är att ansluta ut till Internet. En av teknikerna bygger på att "injicera" kod i ett program som "går förbi" brandväggen som Internet Explorer eller MSN Messenger. Andra tekniker bygger på att påverka koden i själva brandväggen. Om man inte har möjlighet att köra kod på brandväggsenheten behövs andra metoder. 

Om man har tillgång till en server utanför brandväggen kan man från insidan använda portar för trafik som sällan spärras, såsom port 80/tcp för webbservrar och port 53/udp för namnservrar och styra trafiken via servern till avsedd dator och port. Vid behov kan man omforma trafiken så att den följer de formella reglerna för tillämpningen ifråga (men massiv trafik till en namnserver bör ändå väcka uppmärksamhet).

Många brandväggar spärrar endast ingående trafik. För att få kontakt med en dator som ligger bakom en sådan brandmur behöver datorn ifråga själv upprätta en förbindelse till en server utanför brandmuren. Den som vill ha kontakt med datorn kontaktar då servern, som via den tidigare upprättade förbindelsen förmedlar antingen en kontaktbegäran (om den som ber om kontakt kan kontaktas direkt) eller all trafik. Denna metod använd allmänt vid IP-telefoni, då den uppringda datorn ofta är bakom en brandvägg av denna typ.

Tillverkare av programvarubaserade brandväggar 
 Comodo Group
 Danware, NetOp Desktop Firewall
 Dr Solomon (Ingår i Network Associates)
 ESET, Ingår i ESET Smart Security
 F-Secure
 Halon Security, Virtual Security Router
 Kaspersky Lab, Kaspersky Internet Security
 McAfee (Ingår i Network Associates)
 Microsoft (Defender)
 Microsoft (ISA - Internet Security & Acceleration server)
 Norman, Norman Personal Firewall
 Panda Security
 Smoothwall (Extension i Edge och Google Chrome webbläsare)
 Symantec, Norton Personal Firewall
 Zone labs, ZoneAlarm
 Agnitum, Outpost Firewall (Pro)
 Försvarsmakten använder en brandvägg som företaget Tutus Data AB skapat. Brandväggen kallas Färist och baseras på operativsystemet FreeBSD.

Brandväggstest för hemanvändare 
Brandväggstest är problematiska. De kan inte säkert fastställa att brandväggen skyddar mot annat än specifika attacker och då endast genom att pröva dessa. Ofta kontrollerar testservicen huruvida datorn svarar på vissa typers paket, men det att datorn inte svarar betyder inte att datorn inte skulle behandla paketet och därmed kunna vara mottaglig mot attacker med denna typ av paket.

Flera sådana test ger fulla poäng endast då datorn inte svarar över huvud taget, vilket bryter mot standarderna. Fördelen med att inte svara beskrivs som att datorn då inte kan upptäckas och därmed inte framstår som ett attraktivt mål. Detta är inte sant, då attacker genomförs antingen mot slumpvisa mål, utan att kontrollera deras existens, eller mot från tidigare kända mål, vars existens inte behöver bekräftas. Total tystnad är dessutom inte ett tecken på icke-existens – som tvärtom anges genom att routern närmast destinationen skickar ett ICMP-paket av typen "destination unreachable" eller liknande – utan på att en brandvägg spärrar trafiken i någondera riktningen eller på mer sällsynta nätverksproblem.

Exempel på brandväggstest 
Post- och telestyrelsen stängde sin tjänst "Testa datorn" den 29 maj 2014 enligt en överenskommelse mellan PTS och Myndigheten för samhällsskydd och beredskap (MSB) i samband med att PTS tjänster och information om internetsäkerhet flyttats till MSB. Tjänsten var i huvudsak avsedd för hemanvändare och testade vilka portar brandväggen tillåter trafik på. Liknande och mer utförliga tjänster är t.ex. ShieldsUP tillhandahålls av Steve Gibson, han har även gjort programmet leaktest som kan användas för att undersöka hur brandväggen reagerar på trojaner som försöker koppla upp sig mot internet.

Tillverkare av hårdvarubaserade brandväggar 
 3Com
 Barracuda Networks
 Borderware
 Checkpoint
 Cisco
 Clavister
 D-link
 Fortinet
 Halon Security
 Ingate
 Juniper Networks
 Netgear
 Palo Alto Networks
 Smoothwall
 SonicWALL
 Symantec
 Watchguard
 Zyxel
 Mikrotik

Se även 
 Paketanalysator
 Antivirusprogram
 Antispionprogram

Källor

Externa länkar 
 omWLAN.se - Brandväggar 
 Firewalls FAQ 

Internet
 
Datorvirus