Firewall

Firewall , firewall  - et software- eller hardware-softwareelement i et computernetværk, der kontrollerer og filtrerer netværkstrafik, der passerer gennem det , i overensstemmelse med specificerede regler [1] .

Andre titler [2] :

Udnævnelse

Blandt de opgaver, som firewalls løser, er den vigtigste at beskytte netværkssegmenter eller individuelle værter mod uautoriseret adgang ved hjælp af sårbarheder i protokollerne i OSI-netværksmodellen eller i software installeret på netværkscomputere. Firewalls tillader eller nægter trafik ved at sammenligne dens karakteristika med givne mønstre [3] .

Det mest almindelige sted at installere firewalls er ved kanten af ​​det lokale netværks perimeter for at beskytte interne værter mod angreb udefra. Dog kan angreb også starte fra interne værter - i dette tilfælde, hvis den angrebne vært er placeret på det samme netværk, vil trafikken ikke krydse netværkets perimeter, og firewallen vil ikke blive aktiveret. Derfor placeres firewalls på nuværende tidspunkt ikke kun ved grænsen, men også mellem forskellige netværkssegmenter, hvilket giver et ekstra sikkerhedsniveau [4] .

Historie

De første enheder, der filtrerede netværkstrafikken, dukkede op i slutningen af ​​1980'erne, da internettet var nyt og ikke brugt på globalt plan. Disse enheder var routere , der inspicerede trafik baseret på information indeholdt i netværkslagets protokolheadere . Efterfølgende, med udviklingen af ​​netværksteknologier, var disse enheder i stand til at udføre trafikfiltrering ved hjælp af protokoldata fra et højere transportlag . Routere kan betragtes som den første hardware- og softwareimplementering af en firewall [5] .

Software firewalls dukkede op meget senere og var meget yngre end antivirusprogrammer . For eksempel blev Netfilter/iptables- projektet (en af ​​de første software-firewalls indbygget i Linux-kernen siden version 2.4) grundlagt i 1998. Et sådant sent udseende er ret forståeligt, da antivirussen i lang tid løste problemet med at beskytte personlige computere mod malware. Men i slutningen af ​​1990'erne begyndte vira aktivt at bruge manglen på firewalls på computere, hvilket førte til øget brugerinteresse for denne klasse af enheder [6] .

Trafikfiltrering

Trafikfiltrering er baseret på et sæt forudkonfigurerede regler kaldet regelsæt . Det er praktisk at tænke på en firewall som en sekvens af filtre, der behandler informationsstrømmen. Hvert af filtrene er designet til at fortolke en separat regel. Rækkefølgen af ​​regler i et sæt påvirker ydelsen af ​​en firewall væsentligt. For eksempel sammenligner mange firewalls konsekvent trafik med regler, indtil et match er fundet. For sådanne firewalls bør de regler, der matcher mest trafik, placeres så højt som muligt på listen og derved øge ydeevnen [7] [8] .

Der er to principper for behandling af indgående trafik. Det første princip siger: "Hvad der ikke er eksplicit forbudt, er tilladt." I dette tilfælde, hvis firewallen modtog en pakke, der ikke falder ind under nogen regel, sendes den videre. Det modsatte princip - "Hvad der ikke er eksplicit tilladt er forbudt" - garanterer meget større sikkerhed, da det forbyder al trafik, der ikke udtrykkeligt er tilladt i henhold til reglerne. Dette princip bliver dog til en ekstra byrde for administratoren [7] [8] .

I sidste ende udfører firewalls en af ​​to operationer på indgående trafik: videregive pakken ( tillad ) eller kasser pakken ( nægte ). Nogle firewalls har en anden operation - reject , hvor pakken droppes, men afsenderen informeres om, at den tjeneste, han forsøgte at få adgang til, ikke er tilgængelig. I modsætning hertil informerer afvisningshandlingen ikke afsenderen om, at tjenesten ikke er tilgængelig, hvilket er mere sikkert [7] [8] .

Klassificering af firewalls

Indtil nu er der ingen samlet og generelt anerkendt klassifikation af firewalls [9] . Men i de fleste tilfælde er det understøttede niveau af OSI -netværksmodellen hovedkarakteristikken i deres klassificering. Med denne model skelnes der mellem følgende typer firewalls [10] [11] :

  1. styrede kontakter.
  2. pakkefiltre.
  3. Sessionsniveau gateways.
  4. Applikationslagsformidlere.
  5. Statusinspektører.

Administrerede kontakter

Administrerede switche klassificeres nogle gange som firewalls, fordi de filtrerer trafik mellem netværk eller netværksknuder. De opererer dog på linklaget og adskiller trafik inden for det lokale netværk, hvilket betyder, at de ikke kan bruges til at behandle trafik fra eksterne netværk (f.eks. fra internettet ) [11] .

Mange producenter af netværksudstyr, såsom Cisco , Nortel , 3Com , ZyXEL , giver i deres switche muligheden for at filtrere trafik baseret på MAC-adresser indeholdt i frame- headers . For eksempel i switche fra Cisco Catalyst -familien implementeres denne funktion ved hjælp af Port Security -mekanismen . [12] . Denne filtreringsmetode er dog ikke effektiv, da MAC-adressen, der er indstillet i hardwaren på netværkskortet, nemt kan ændres af software, da værdien angivet via driveren har en højere prioritet end den, der er tilsluttet til kortet [13] . Derfor giver mange moderne switche dig mulighed for at bruge andre parametre som et tegn på filtrering - for eksempel VLAN ID. Teknologien i virtuelle lokalnetværk ( eng.  Virtual Local Area Network ) giver dig mulighed for at oprette grupper af værter, hvis trafik er fuldstændig isoleret fra andre netværksknuder [14] .

Når du implementerer en sikkerhedspolitik inden for et virksomhedsnetværk , som er baseret på administrerede switches, kan de være en kraftfuld og ret billig løsning. Disse firewalls interagerer kun med linklagsprotokoller og filtrerer trafik med en meget høj hastighed. Den største ulempe ved denne løsning er umuligheden af ​​at analysere protokoller på højere niveauer [15] .

Pakkefiltre

Pakkefiltre fungerer på netværksniveau og styrer passagen af ​​trafik baseret på informationen i pakkehovedet . Mange firewalls af denne type kan fungere med protokolheadere og et højere transportniveau (f.eks. TCP eller UDP ). Pakkefiltre var blandt de første, der dukkede op på firewall-markedet og er den dag i dag den mest almindelige type af dem. Denne teknologi er implementeret i langt de fleste routere og endda i nogle switche [16] .

Når du analyserer overskriften på en netværkspakke, kan følgende parametre bruges [10] :

Ganske ofte er det nødvendigt at filtrere fragmenterede pakker, hvilket gør det vanskeligt at identificere nogle angreb . Mange netværksangreb udnytter denne firewall-sårbarhed ved at præsentere pakker, der indeholder forbudte data, som fragmenter af en anden, betroet pakke. En måde at håndtere denne type angreb på er at konfigurere firewallen til at blokere fragmenterede pakker [17] . Nogle firewalls kan defragmentere pakker, før de videresendes til det interne netværk, men dette kræver yderligere ressourcer fra selve firewallen, især hukommelse. Defragmentering bør bruges meget rimeligt, ellers kan en sådan firewall nemt selv blive offer for et DoS-angreb [18] .

Pakkefiltre kan implementeres i følgende netværksinfrastrukturkomponenter [18] :

Fordi pakkefiltre typisk kun kontrollerer data i netværks- og transportlagets headere, kan de gøre dette ret hurtigt. Derfor er de indbyggede pakkefiltre i grænseroutere ideelle til placering på kanten af ​​et netværk med lav tillid. Imidlertid mangler pakkefiltre evnen til at parse protokollerne for højere lag af OSI-netværksmodellen. Derudover er pakkefiltre normalt sårbare over for angreb, der bruger netværksadresse-spoofing . Sådanne angreb udføres normalt for at omgå adgangskontrol implementeret af firewallen [19] [20] .

Sessionsniveau gateways

Firewallen på sessionsniveau udelukker direkte interaktion af eksterne værter med en vært placeret på det lokale netværk, der fungerer som en mellemmand ( engelsk  proxy ), der reagerer på alle indkommende pakker og kontrollerer deres gyldighed baseret på den aktuelle fase af forbindelsen. Sessionslagets gateway garanterer, at ingen netværkspakke vil blive savnet, hvis den ikke tilhører en tidligere etableret forbindelse. Så snart en forbindelsesanmodning ankommer, placeres den tilsvarende information i en speciel tabel (afsender- og destinationsadresser, anvendte netværks- og transportlagsprotokoller, forbindelsesstatus osv.). Hvis forbindelsen er etableret, vil de pakker, der sendes i denne session, simpelthen blive kopieret til det lokale netværk uden yderligere filtrering. Når en kommunikationssession slutter, fjernes oplysninger om den fra denne tabel. Derfor kasseres alle efterfølgende pakker, der "foregiver" at være pakker af en allerede afsluttet forbindelse [21] .

Da denne type firewall udelukker direkte kommunikation mellem to værter, er gatewayen på sessionsniveau det eneste forbindelseselement mellem det eksterne netværk og interne ressourcer. Dette skaber det udseende, at alle anmodninger fra det eksterne netværk besvares af gatewayen, og gør det næsten umuligt at bestemme topologien af ​​det beskyttede netværk. Da kontakt mellem noder kun etableres, hvis det er tilladt, forhindrer gatewayen på sessionsniveau muligheden for et DoS-angreb, der er iboende i pakkefiltre [22] .

På trods af effektiviteten af ​​denne teknologi har den en alvorlig ulempe: ligesom alle ovennævnte klasser af firewalls, har gateways på sessionsniveau ikke mulighed for at kontrollere indholdet af datafeltet, hvilket gør det muligt for en angriber at overføre " trojanske heste " til det beskyttede netværk [23] .

Application layer brokers

Applikationslags firewalls , som især omfatter webapplikationsfirewallen , såvel som sessionslaggateways, udelukker den direkte interaktion mellem to noder. Men, når de opererer på applikationslaget, er de i stand til at "forstå" konteksten af ​​den transmitterede trafik. Firewalls, der implementerer denne teknologi, indeholder flere mellemliggende applikationer ( engelsk  application proxy ), som hver tjener sin egen applikationsprotokol. En sådan firewall er i stand til at detektere i transmitterede meddelelser og blokere ikke-eksisterende eller uønskede kommandosekvenser, hvilket ofte betyder et DoS-angreb, eller forbyde brugen af ​​visse kommandoer (for eksempel FTP PUT, som giver brugeren mulighed for at skrive information til FTP-server).

Applikationslagets proxy kan bestemme typen af ​​information, der skal overføres. For eksempel giver dette dig mulighed for at blokere en e-mail, der indeholder en eksekverbar fil. En anden funktion ved denne type firewall er valideringen af ​​input-argumenter. For eksempel er et brugernavn-argument, der er 100 tegn langt eller indeholder binære data, i det mindste mistænkeligt.

Applikationslagsformidlere er i stand til at udføre brugergodkendelse samt verificere, at SSL - certifikater er underskrevet af en specifik myndighed . Applikationslags firewalls er tilgængelige for mange protokoller, herunder HTTP , FTP, mail ( SMTP , POP , IMAP ), Telnet og andre [24] [25] .

Ulemperne ved denne type firewalls er den store tid og de ressourcer, der bruges på at analysere hver pakke. Af denne grund er de generelt ikke egnede til realtidsapplikationer. En anden ulempe er umuligheden af ​​automatisk at tilslutte understøttelse af nye netværksapplikationer og protokoller, da hver af dem kræver sin egen agent [26] .

Statusinspektører

Hver af de ovennævnte typer firewalls bruges til at beskytte virksomhedsnetværk og har en række fordele. Det ville dog være meget mere effektivt at samle alle disse fordele i én enhed og få en firewall, der filtrerer trafik fra netværket til applikationslaget. Denne idé blev implementeret i statsinspektører, som kombinerer høj ydeevne og sikkerhed. Denne klasse af firewalls giver dig mulighed for at kontrollere [27] :

Ved at filtrere trafik efter princippet om en gateway på sessionsniveau, blander denne klasse af firewalls sig ikke i processen med at etablere en forbindelse mellem noder. Derfor er ydeevnen for tilstandsinspektøren mærkbart højere end applikationslagsmæglerens og sessionslagsgatewayen og kan sammenlignes med ydeevnen af ​​pakkefiltre. En anden fordel ved statsinspektører er, at de er gennemsigtige for brugeren: ingen yderligere konfiguration er nødvendig for klientsoftware. Disse firewalls er meget udvidelige. Når en ny tjeneste eller en ny applikationslagsprotokol dukker op, er det nok at tilføje et par skabeloner til at understøtte det. Statsinspektører har dog en tendens til at være mindre sikre end fuldmagter på applikationslag [28] .

Udtrykket stateful inspection , introduceret af Check  Point Software , er så elsket af netværksudstyrsproducenter, at næsten hver firewall nu er klassificeret som denne teknologi, selvom den ikke implementerer den fuldt ud.

Implementering

Der er to versioner af firewalls - software og hardware-software. Til gengæld har software- og hardwareversionen to varianter - i form af et separat modul i en switch eller router og i form af en specialiseret enhed.

I øjeblikket bruges oftere en softwareløsning, som ved første øjekast ser mere attraktiv ud. Dette skyldes, at for at bruge det, ser det ud til, at det er nok bare at købe firewall-software og installere det på enhver computer, der er tilgængelig i organisationen. Men som praksis viser, har en organisation ikke altid en ledig computer, og endda en, der opfylder ret høje krav til systemressourcer. Efter at computeren stadig er fundet (oftest købt), følger processen med at installere og konfigurere operativsystemet, såvel som direkte firewallsoftwaren. Det er let at se, at det ikke er så nemt at bruge en konventionel personlig computer, som det måske ser ud til. Det er grunden til, at specialiserede hardware- og softwaresystemer, kaldet security appliance , baseret som regel på FreeBSD eller Linux , "skåret ned" for kun at udføre de nødvendige funktioner , er blevet mere udbredt . Fordelene ved disse løsninger er [29] :

Begrænsninger af firewallanalyse

Firewallen giver dig mulighed for kun at filtrere den trafik, som den er i stand til at "forstå". Ellers mister den sin effektivitet, da den ikke er i stand til bevidst at beslutte, hvad den skal gøre med ugenkendt trafik. Der er protokoller som TLS , SSH , IPsec og SRTP , der bruger kryptografi til at skjule indhold, så deres trafik ikke kan fortolkes. Også nogle protokoller, såsom OpenPGP og S/MIME , krypterer applikationslagsdata, hvilket gør det umuligt at filtrere trafik baseret på informationen på dette netværkslag. Et andet eksempel på begrænsningerne ved firewallanalyse er tunneleret trafik, da dens filtrering er umulig, hvis firewallen "ikke forstår" den anvendte tunnelmekanisme. I alle disse tilfælde skal reglerne, der er konfigureret på firewallen, udtrykkeligt definere, hvad de skal gøre med trafik, som de ikke kan fortolke [30] .

Noter

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

Litteratur

Bøger

Artikler