Brandvägg

Från Wikipedia
Hoppa till: navigering, sök
För andra betydelser, se Brandvägg (olika betydelser).
Brandvägg mellan lokalt nät (LAN) och Internet (WAN)
WatchGuard Firebox 1000, en hårdvarubrandvägg med möjlighet till innehållsfiltrering

Inom datateknik är en brandvägg (finlandssvenska: brandmur, engelska: firewall) en dedikerad dator (s.k. hårdvarubrandvägg) eller en programvara som kan installeras i en generell dator (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 vilka 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 Windowsdator vars operativsystem inte uppdaterats på länge ansluts till Internet utan aktiverad brandvägg dröjer det inte många minuter förrän den infekteras av virus och Internetmaskar.

Olika typer av filtrering[redigera | redigera wikitext]

IP-adress[redigera | redigera wikitext]

I brandväggens inställningar kan man välja 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) tillhör 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 IP-adresser där webbservrar och andra publika servrar placeras, och som således ä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[redigera | redigera wikitext]

Serverprocesser (dvs program som väntar på initiativ från klientprogram) är mer utsatta än klientprocesser (dvs 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 utgör säkerhetshål.

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[redigera | redigera wikitext]

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, dvs 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 Internets 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[redigera | redigera wikitext]

Brandväggar spärrar ofta självmant formellt icke-korrekta 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 på 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[redigera | redigera wikitext]

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.

Tillståndsbaserad filtrering[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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.

En personlig brandvägg kan dessutom 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 skadlig programvara såsom trojaner och nätmaskar hindras från att spridas vidare.

Olika typer av brandväggar[redigera | redigera wikitext]

Hårdvarubrandväggar[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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).

Brandväggstest för hemanvändare[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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.

Filtrering av specifika protokoll[redigera | redigera wikitext]

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.

Kringång av brandväggar[redigera | redigera wikitext]

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.

Tillverkare av programvarubaserade brandväggar[redigera | redigera wikitext]

Tillverkare av hårdvarubaserade brandväggar[redigera | redigera wikitext]

Se även[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]