brandvägg illustration

Scenario

Ett medelstort företag funderar på vilka funktioner de behöver i sin brandvägg. Företagets nät har användare på insidan, en dmz som erbjuder ett antal tjänster ut mot internet, samt några mindre kontor de vill kommunicera säkert med. De vill kunna se skillnad på vilka som kommunicerar och bedöma användarens plattform ur ett säkerhetsperspektiv.


Den klassiska brandväggen har spelat ut sin roll. Vi kan i dag inte längre titta på ett nät och enkelt dela in det i en pålitlig insida och en opålitlig utsida. Våra användare ansluter sina klientdatorer på kontoret, hemma, via 3g eller 4g, via surfzoner på stan och på hotellrum. Inte heller är användarmiljön längre homogen, utan består av stationära datorer, laptops, hem-pc, surfplattor och smarta telefoner. Vi kan inte längre enkelt särskilja på trafik genom att filtrera på de portnummer vi ser i tcp- eller udp-protokollen.

Här går vi i åtta steg igenom de övergripande regler som du bör tänka på för att få en väl fungerande brandvägg.





1 Segmentera och identifiera
Det första du måste göra är att verkligen sätta dig in i och förstå ditt eget nät och vilken trafik som finns där. Vem pratar med vem och vilka applikationer används? Generellt gäller regeln att du aldrig litar på någon eller något i nätet – varken externt eller internt. Se alltid till att separera dina interna användare från interna resurser och servrar och separera gärna även användarna från varandra genom till exempel privat-vlan. Identifiera eventuella partneråtkomster och glöm inte att även externa vpn-nät ibland ska termineras i din brandvägg. Bedöm graden av tillit du har till dem som kommunicerar på näten och gruppera näten därefter. När väl nätet är segmenterat blir det enklare att skapa tydliga, separata regelverk för hur trafiken får flöda.





2 Definiera ip-rymder och tjänster
När nätet är segmenterat vet du förmodligen vilka ip-rymder som finns på varje segment. Många brandväggstillverkare jobbar med adressobjekt som du namnger för att sedan nyttja när du skapar ditt regelverk. Hitta en bra namnstandard som passar din verksamhet och som beskriver de olika ip-rymderna på ett självklart sätt. Ett adressobjekt kan vara en enskild server som därmed får /32-mask, det vill säga bara en enskild adress. Det kan också vara ett nät med en kortare nätmask, och kanske grupperar du flera nät till en adressgrupp om de näten alltid kommunicerar på liknande sätt med andra segment. Definiera därefter de tjänster och applikationsprotokoll som förekommer. De flesta brandväggstillverkare har fördefinierade tjänster för de vanliga protokollen – http, ssh, smtp och så vidare. Kör du trafik över andra portar måste du i de flesta fall definiera det som en egen tjänst.

Glöm inte att vissa protokoll kräver förståelse från brandväggen för att fungera. Att köra sip, h323 eller aktiv ftp över en godtyckligt definierad port kanske inte fungerar om inte brandväggen är med och övervakar trafiken och till exempel dynamiskt öppnar portar som förhandlats fram under sessionen. Den typen av applikationsförståelse kallas av många tillverkare för application level gateway, alg. Kör du ett applikationsprotokoll över en icke fördefinierad port kan du behöva peka ut vilket protokoll som du avser för att brandväggen ska övervaka på rätt sätt.





3 Reglera enligt first match-principen
När är ditt nät är segmenterat och tjänster är definierade är det dags att bygga regler som beskriver hur trafiken får flöda mellan segmenten. En brandvägg är en säkerhets-nod som inte tillåter trafik att traversera utan att administratören först tillåtit det i brandväggsreglerna. De flesta brandväggar jobbar med matchningskriterier med ett tillhörande ja/nej-beslut. Vanligen matchas varje regel med en källadress, en destinationsadress, vilket protokoll på osi-lager 4 som används och vilken destinationsport trafiken får använda. Varje session som sätts upp matchas uppifrån och ner mot regelverket för segmentet. Den första regel vars matchningskriterier uppfylls fullt ut kommer väljas och regelns definierade beslut verkställs – oavsett vad regler nedanför säger.

En tumregel brukar vara att lägga specifika regler överst och allmännare regler längre ner. Avsluta gärna med en uttrycklig blockregel där loggning är påslagen, så vet du vilken trafik som försöker ta sig igenom men som nekas. Loggen kan komma att avslöja att legitim trafik nekas för att korrekt regel saknas. Ofta lägger man ssl- och ipsec-regler allra överst, eftersom dessa ofta får en trafikstyrande funktion när de pekar in trafiken i krypterade tunnlar som mynnar ut på andra ställen i nätet. Vill du blockera specifik trafik hamnar även dessa regler högt upp i listan.

Naturligtvis kommer ditt regelverk för inkommande förfrågningar från externa nät att skilja sig åt från de regelverk som gäller utgående trafik. Regler för inkommande trafik bör vara precisa och bara släppa trafik till just de servrar och portar som faktiskt erbjuder just den korrekta funktionaliteten. Om du tillåter ssl in mot en egen server bör du lägga upp serverns certifikat så brandväggen kan läsa innehållet även i den krypterade trafiken.


Fyra tumregler

  1. Lägg vpn-regler överst i regelverket.
  2. Lägg specifika regler högt upp och mer generella regler längre ner.
  3. Undvik onödig trafik till virusskannings- och idp-motorer.
  4. Inga regler utan undantag – se till att kunna ditt nät!