Brandvägg

Brandvägg , brandvägg  - en mjukvara eller hårdvara-mjukvaruelement i ett datornätverk som kontrollerar och filtrerar nätverkstrafik som passerar genom det i enlighet med specificerade regler [1] .

Andra titlar [2] :

Utnämning

Bland de uppgifter som brandväggar löser är den främsta att skydda nätverkssegment eller enskilda värdar från obehörig åtkomst med hjälp av sårbarheter i protokollen för OSI-nätverksmodellen eller i programvara installerad på nätverksdatorer. Brandväggar tillåter eller nekar trafik genom att jämföra dess egenskaper med givna mönster [3] .

Det vanligaste stället att installera brandväggar på är i utkanten av det lokala nätverkets omkrets för att skydda interna värdar från attacker utifrån. Men attacker kan också starta från interna värdar - i det här fallet, om den attackerade värden är placerad på samma nätverk, kommer trafiken inte att passera nätverkets omkrets, och brandväggen kommer inte att aktiveras. Därför placeras brandväggar för närvarande inte bara vid gränsen, utan även mellan olika nätverkssegment, vilket ger en extra säkerhetsnivå [4] .

Historik

De första enheterna som filtrerade nätverkstrafik dök upp i slutet av 1980-talet, när Internet var nytt och inte användes i global skala. Dessa enheter var routrar som inspekterade trafik baserat på information som fanns i nätverkslagrets protokollhuvud . Därefter, med utvecklingen av nätverksteknologier, kunde dessa enheter utföra trafikfiltrering med hjälp av protokolldata från ett högre transportlager . Routrar kan betraktas som den första hård- och mjukvaruimplementeringen av en brandvägg [5] .

Programvarubrandväggar dök upp mycket senare och var mycket yngre än antivirusprogram . Till exempel grundades Netfilter/iptables- projektet (en av de första mjukvarubrandväggarna inbyggda i Linux-kärnan sedan version 2.4) 1998. Ett så sent utseende är ganska förståeligt, eftersom antivirusprogrammet under lång tid löste problemet med att skydda persondatorer från skadlig programvara. Men i slutet av 1990-talet började virus aktivt använda bristen på brandväggar på datorer, vilket ledde till ett ökat användarintresse för denna klass av enheter [6] .

Trafikfiltrering

Trafikfiltrering baseras på en uppsättning förkonfigurerade regler som kallas regeluppsättning . Det är bekvämt att tänka på en brandvägg som en sekvens av filter som bearbetar informationsflödet. Vart och ett av filtren är utformat för att tolka en separat regel. Sekvensen av regler i en uppsättning påverkar avsevärt prestandan hos en brandvägg. Till exempel jämför många brandväggar konsekvent trafik med regler tills en matchning hittas. För sådana brandväggar bör de regler som matchar mest trafik placeras så högt som möjligt i listan, och därigenom öka prestandan [7] [8] .

Det finns två principer för att hantera inkommande trafik. Den första principen säger: "Det som inte är uttryckligen förbjudet är tillåtet." I det här fallet, om brandväggen tog emot ett paket som inte faller under någon regel, så sänds det vidare. Den motsatta principen - "Det som inte är uttryckligen tillåtet är förbjudet" - garanterar mycket större säkerhet, eftersom den förbjuder all trafik som inte uttryckligen tillåts enligt reglerna. Denna princip förvandlas emellertid till en extra börda för administratören [7] [8] .

I slutändan utför brandväggar en av två operationer på inkommande trafik: skicka paketet vidare ( tillåt ) eller kassera paketet ( neka ). Vissa brandväggar har en annan operation - avvisa , där paketet släpps, men avsändaren informeras om att tjänsten han försökte komma åt är otillgänglig. Däremot informerar inte avsändaren om att tjänsten är otillgänglig, vilket är säkrare [7] [8] .

Klassificering av brandväggar

Hittills finns det ingen enhetlig och allmänt erkänd klassificering av brandväggar [9] . Men i de flesta fall är den stödda nivån för OSI -nätverksmodellen den viktigaste egenskapen i deras klassificering. Med tanke på denna modell särskiljs följande typer av brandväggar [10] [11] :

  1. hanterade växlar.
  2. paketfilter.
  3. Gateways på sessionsnivå.
  4. Application Layer Intermediaries.
  5. Statusinspektörer.

Hanterade växlar

Hanterade switchar klassificeras ibland som brandväggar eftersom de filtrerar trafik mellan nätverk eller nätverksnoder. De verkar dock i länklagret och separerar trafik inom det lokala nätverket, vilket innebär att de inte kan användas för att bearbeta trafik från externa nätverk (till exempel från Internet ) [11] .

Många tillverkare av nätverksutrustning, som Cisco , Nortel , 3Com , ZyXEL , tillhandahåller i sina switchar möjligheten att filtrera trafik baserat på MAC-adresser som finns i ramhuvuden . Till exempel, i switchar i Cisco Catalyst -familjen, implementeras den här funktionen med hjälp av portsäkerhetsmekanismen . [12] . Denna filtreringsmetod är dock inte effektiv, eftersom MAC-adressen som ställts in i hårdvaran på nätverkskortet lätt kan ändras av mjukvara, eftersom värdet som anges via drivrutinen har högre prioritet än det som är inkopplat i kortet [13] . Därför låter många moderna switchar dig använda andra parametrar som ett tecken på filtrering - till exempel VLAN ID. Tekniken för virtuella lokala nätverk ( eng.  Virtual Local Area Network ) låter dig skapa grupper av värdar, vars trafik är helt isolerad från andra nätverksnoder [14] .

När man implementerar en säkerhetspolicy inom ett företagsnätverk , som är baserade på hanterade switchar, kan de vara en kraftfull och ganska billig lösning. Dessa brandväggar interagerar endast med länklagerprotokoll och filtrerar trafik i mycket hög hastighet. Den största nackdelen med denna lösning är omöjligheten att analysera protokoll på högre nivåer [15] .

Paketfilter

Paketfilter fungerar på nätverksnivå och styr passagen av trafik baserat på informationen i pakethuvudet . Många brandväggar av denna typ kan fungera med protokollhuvuden och en högre transportnivå (till exempel TCP eller UDP ). Paketfilter var bland de första som dök upp på brandväggsmarknaden och är fortfarande den vanligaste typen av dem. Denna teknik är implementerad i de allra flesta routrar och även i vissa switchar [16] .

När du analyserar huvudet för ett nätverkspaket kan följande parametrar användas [10] :

Ganska ofta är det nödvändigt att filtrera fragmenterade paket, vilket gör det svårt att identifiera vissa attacker . Många nätverksattacker utnyttjar denna brandväggssårbarhet genom att presentera paket som innehåller förbjudna data som fragment av ett annat, pålitligt paket. Ett sätt att hantera denna typ av attack är att konfigurera brandväggen för att blockera fragmenterade paket [17] . Vissa brandväggar kan defragmentera paket innan de vidarebefordras till det interna nätverket, men detta kräver ytterligare resurser från själva brandväggen, särskilt minne. Defragmentering bör användas mycket rimligt, annars kan en sådan brandvägg lätt bli ett offer för en DoS-attack själv [18] .

Paketfilter kan implementeras i följande nätverksinfrastrukturkomponenter [18] :

Eftersom paketfilter vanligtvis bara kontrollerar data i nätverket och transportlagerhuvudena, kan de göra detta ganska snabbt. Därför är paketfiltren inbyggda i gränsroutrar idealiska för placering i utkanten av ett nätverk med låg förtroende. Paketfilter saknar dock förmågan att analysera protokollen för högre lager i OSI-nätverksmodellen. Dessutom är paketfilter vanligtvis sårbara för attacker som använder nätverksadresspoofing . Sådana attacker utförs vanligtvis för att kringgå åtkomstkontrollen som implementeras av brandväggen [19] [20] .

Sessionsnivågateways

Brandväggen på sessionsnivå utesluter direkt interaktion av externa värdar med en värd som finns på det lokala nätverket, som fungerar som en mellanhand ( engelsk  proxy ) som svarar på alla inkommande paket och kontrollerar deras giltighet baserat på den aktuella fasen av anslutningen. Sessionslagergatewayen garanterar att inget nätverkspaket kommer att missas om det inte tillhör en tidigare etablerad anslutning. Så snart en anslutningsförfrågan kommer, placeras motsvarande information i en speciell tabell (avsändar- och destinationsadresser, använda nätverks- och transportlagerprotokoll, anslutningsstatus, etc.). Om anslutningen upprättas kommer paketen som överförs under denna session helt enkelt att kopieras till det lokala nätverket utan ytterligare filtrering. När en kommunikationssession avslutas tas information om den bort från den här tabellen. Därför kasseras alla efterföljande paket som "låtsas" vara paket av en redan avslutad anslutning [21] .

Eftersom denna typ av brandvägg utesluter direkt kommunikation mellan två värdar, är gatewayen på sessionsnivå det enda anslutningselementet mellan det externa nätverket och interna resurser. Detta skapar intrycket att alla förfrågningar från det externa nätverket besvaras av gatewayen och gör det nästan omöjligt att bestämma topologin för det skyddade nätverket. Dessutom, eftersom kontakt mellan noder upprättas endast om det är tillåtet, förhindrar sessionsnivågatewayen möjligheten för en DoS-attack inneboende i paketfilter [22] .

Trots effektiviteten hos denna teknik har den en allvarlig nackdel: liksom alla ovanstående klasser av brandväggar har inte gateways på sessionsnivå möjlighet att kontrollera innehållet i datafältet, vilket gör att en angripare kan överföra " trojanska hästar " till det skyddade nätverket [23] .

Programlagermäklare

Applikationsskiktets brandväggar , som i synnerhet inkluderar webbapplikationens brandvägg , såväl som sessionslagers gateways, utesluter direkt interaktion mellan två noder. Emellertid kan de, när de arbetar i applikationslagret, "förstå" sammanhanget för den överförda trafiken. Brandväggar som implementerar denna teknik innehåller flera mellanliggande applikationer ( engelska  application proxy ), som var och en betjänar sitt eget applikationsprotokoll. En sådan brandvägg kan upptäcka i överförda meddelanden och blockera icke-existerande eller oönskade kommandosekvenser, vilket ofta innebär en DoS-attack, eller förbjuda användningen av vissa kommandon (till exempel FTP PUT, som gör att användaren kan skriva information till FTP-server).

Applikationsskiktets proxy kan bestämma vilken typ av information som ska överföras. Detta låter dig till exempel blockera ett e-postmeddelande som innehåller en körbar fil. En annan egenskap hos denna typ av brandvägg är valideringen av inmatningsargument. Till exempel är ett användarnamnsargument som är 100 tecken långt eller innehåller binär data åtminstone misstänkt.

Mellanhänder för applikationslager kan utföra användarautentisering, samt verifiera att SSL- certifikat är signerade av en specifik myndighet . Applikationsskiktets brandväggar är tillgängliga för många protokoll, inklusive HTTP , FTP, post ( SMTP , POP , IMAP ), Telnet , och andra [24] [25] .

Nackdelarna med denna typ av brandväggar är den stora tid och resurser som läggs på att analysera varje paket. Av denna anledning är de i allmänhet inte lämpliga för realtidsapplikationer. En annan nackdel är omöjligheten att automatiskt ansluta stöd för nya nätverksapplikationer och protokoll, eftersom var och en av dem kräver sin egen agent [26] .

Statusinspektörer

Var och en av ovanstående typer av brandväggar används för att skydda företagsnätverk och har ett antal fördelar. Det skulle dock vara mycket mer effektivt att samla alla dessa fördelar i en enhet och få en brandvägg som filtrerar trafik från nätverket till applikationslagret. Denna idé implementerades i statliga inspektörer, som kombinerar hög prestanda och säkerhet. Denna klass av brandväggar låter dig styra [27] :

Genom att filtrera trafik enligt principen om en gateway på sessionsnivå, stör denna klass av brandväggar inte processen att upprätta en anslutning mellan noder. Därför är prestandan för tillståndsinspektören märkbart högre än för applikationslagermäklaren och sessionslagergatewayen, och är jämförbar med prestanda för paketfilter. En annan fördel med statliga inspektörer är att de är transparenta för användaren: ingen ytterligare konfiguration krävs för klientprogramvara. Dessa brandväggar är mycket utbyggbara. När en ny tjänst eller ett nytt applikationslagerprotokoll dyker upp räcker det med att lägga till några mallar för att stödja det. Statliga inspektörer tenderar dock att vara mindre säkra än ombud på applikationslager [28] .

Termen stateful  inspection , introducerad av Check Point Software , är så älskad av nätverksutrustningstillverkare att nu nästan varje brandvägg klassas som denna teknik, även om den inte implementerar den fullt ut.

Implementering

Det finns två versioner av brandväggar - mjukvara och hårdvara-mjukvara. I sin tur har mjukvaru- och hårdvaruversionen två varianter - i form av en separat modul i en switch eller router och i form av en specialiserad enhet.

För närvarande används oftare en mjukvarulösning, som vid första anblicken ser mer attraktiv ut. Detta beror på att för att använda det verkar det som att det räcker att bara köpa brandväggsprogram och installera den på vilken dator som helst i organisationen. Men som praxis visar har en organisation inte alltid en ledig dator, och till och med en som uppfyller ganska höga krav på systemresurser. Efter att datorn fortfarande har hittats (oftast köpt) följer processen med att installera och konfigurera operativsystemet, såväl som direkt brandväggsprogramvaran. Det är lätt att se att det inte är så lätt att använda en vanlig persondator som det kan verka. Det är därför specialiserade hårdvaru- och mjukvarusystem, kallade säkerhetsanordningar , baserade, som regel, på FreeBSD eller Linux , "kapar ner" för att endast utföra de nödvändiga funktionerna , har blivit mer utbredda . Fördelarna med dessa lösningar är [29] :

Begränsningar för brandväggsanalys

Brandväggen låter dig filtrera endast den trafik som den kan "förstå". Annars förlorar den sin effektivitet, eftersom den inte medvetet kan bestämma vad den ska göra med okänd trafik. Det finns protokoll som TLS , SSH , IPsec och SRTP som använder kryptografi för att dölja innehåll så att deras trafik inte kan tolkas. Vissa protokoll, som OpenPGP och S/MIME , krypterar också applikationslagerdata, vilket gör det omöjligt att filtrera trafik baserat på informationen i detta nätverkslager. Ett annat exempel på begränsningarna för brandväggsanalys är tunnlad trafik, eftersom dess filtrering är omöjlig om brandväggen "inte förstår" den använda tunnelmekanismen. I alla dessa fall måste reglerna som konfigurerats på brandväggen uttryckligen definiera vad de ska göra med trafik som de inte kan tolka [30] .

Anteckningar

  1. Swan, 2002 , sid. 22.
  2. Shangin, 2011 , sid. 193.
  3. Swan, 2002 , sid. 22-25.
  4. Laponina, 2014 , sid. 43.
  5. Forrest , sid. 2.
  6. Faronov, 2016 , sid. 62.
  7. 1 2 3 Laponina, 2014 , sid. 131.
  8. 1 2 3 Shangin, 2011 , sid. 195.
  9. Shangin, 2011 , sid. 194.
  10. 1 2 Fox, 2003 , sid. trettio.
  11. 1 2 Lebed, 2002 , sid. 48.
  12. Cisco .
  13. Cardenas, 2003 .
  14. Swan, 2002 , sid. femtio.
  15. Swan, 2002 , sid. 52.
  16. Laponina, 2014 , sid. 52.
  17. Laponina, 2014 , sid. 51-56.
  18. 1 2 Laponina, 2014 , sid. 53.
  19. Fox, 2003 , sid. 30-31.
  20. Swan, 2002 , sid. 54.
  21. Fox, 2003 , sid. 31.
  22. Swan, 2002 , sid. 58.
  23. Laponina, 2014 , sid. 63-64.
  24. Swan, 2002 , sid. 55-56.
  25. Laponina, 2014 , sid. 59.
  26. Swan, 2002 , sid. 56.
  27. Swan, 2002 , sid. 58-61.
  28. Fox, 2003 , sid. 32.
  29. Shangin, 2011 , sid. 207.
  30. Laponina, 2014 , sid. 73.

Litteratur

Böcker

Artiklar