CIS 8.1 - Top 7 prioriterade åtgärder - DNS-filtrering

Sunday, July 28, 2024

FörsvarVägledningCIS8DNS

Christoffer Strömblad

Entusiastisk Jedi inom Cybersäkerhet
9 minuter att läsa.

Översikt

Detta är en artikel om DNS-filtrering och den första prioriterade åtgärden som bör införas enligt min vägledning om ramverket CIS Critical Security Controls . Specifikt handlar den här artikeln om DNS-filtrering (åtgärd 9.2).

Varje artikel i den här vägledningen följer det här upplägget:

  1. Inledning - Resonemang och förklaringar bakom åtgärden.
  2. Införande - Förklaring till hur du inför åtgärden, och eventuellt mer avancerade metoder för att införa åtgärden.
  3. Förbättra - Hur ska du gå tillväga för att kunna mäta, utveckla och förbättra den införda åtgärden.

För den ivrige läsaren kan du direkt hoppa till Införande och följa instruktionerna. Annars föreslår jag att du tar dig tid att läsa “allt”, det handlar trots allt bara om några minuter av läsning. Jag avslutar varje åtgärd med några förslag på hur du kan mäta åtgärdens effekt, sätt att utveckla åtgärden och göra den mer “fullständig” och genom det förbättra införandet och åtgärdens effekt.

Nyckelinsikter

  • DNS-filtrering är ett skydd användbart vid flera av cyberangrepps många faser, allt från initial åtkomst till exfiltrering av data och information.
  • DNS-filtrering är en relativt effektiv metod att skydda mot skadliga domäner som inte kräver att du installerar program på enheterna utan kan göras med endast en konfigurationsinställning.
  • DNS-filtrering ger dig en möjlighet att också blockera reklam och annat “internet”-skräp som inte behövs.

Inledning

Gemensamt för dina användare (anställda) och angriparna är att ni förlitar er på domännamn istället för IP-adresser och kanske känner du redan till detta som DNS . Det är även här vi hittar den första prioriteringen och åtgärden. I ramverket återfinner vi detta under åtgärdsområde 9 - Email and Web Browser Protections och där som åtgärd 9.2 (Use DNS Filtering Services) och 9.3 (Maintain and Enforce Network-Based URL Filters).

Ett cyberangrepp består av många steg och faser . Gemensamt för de flesta är att de väldigt ofta inkluderar ett steg där användaren förväntas göra någon form av aktiv handling; trycka på en länk, besöka en hemsida. Och för detta behövs allt som oftast ett, eller flera, domännamn. Och domännamn används vidare i många andra faser av angreppet. Som försvarare vill vi därför särskilt fokusera på att avväpna angripares användning av diverse domäner.

Användandet av domäner förekommer i de flesta av ett cyberangrepps många faser. Det finns därför stora fördelar i att börja bygga förmåga för att hantera blockering av suspekta och skadliga domäner. Det ger också ofta fördelen av att du direkt kan börja blockera annonsnätverk, trackers och andra typer av hemsidor som många gånger används för att sprida strunt.

Det är också en förmåga som är relativt enkel att komma igång med samtidigt som den ger ett grundläggande skydd som också går att utveckla över tid allteftersom företaget växer och kan lägga mer pengar och tid på sin cybersäkerhet. Du ger dig själv en plats där du alltid kan “stoppa in” domäner du springer över som du vill blockera.

Och bara som en liten parantes så skrev jag för några år sedan en artikel om DNS over HTTPS (DoH) som den lite mer “avancerade” läsaren kanske skulle finna intressant.

Förutsättningar för kunna införa DNS-filtrering

För att utnyttja DNS-filtrering förutsätter jag att du har möjlighet att konfigurera DNS-inställningar för anställdas datorer, servrar och andra typer av enheter där DNS används. Men notera att du inte behöver göra allt på en gång, börja med dig själv, kanske några extra enheter. Utvärdera, se hur det fungerar, se vad du blockerar.

Ett litet första steg är allt som krävs för att börja.

Det finns ungefär följande möjligheter att konfigurera DNS-inställningar:

  1. Enkel - Manuellt och direkt på den enhet vilken förändringen ska göras på.
  2. Standard - Automatiskt via DHCP (vilket förutsätter anslutning till ett lokalt nätverk).
  3. Avancerad - Automatiskt via ett Virtual Private Network (VPN).

Vad du väljer hänger mycket på vilka möjligheter du har och hur stort företaget är som du jobbar för. Större företag har högst troligen möjligheter att centralt administrera inställningar på mobiltelefoner och datorer genom Mobile Device Management (MDM) verktyg och andra typer av produkter.

Jag förutsätter inte att du har några sådana tillgängliga.

VARNING

Detta är kanske en meningslös varning, men om du befinner dig på ett Windows-nätverk med Microsoft Active Directory Domain Services (AD DS) är det inte längre bara en fråga om att ändra DNS på klienterna eftersom det pajar en hel del av funktionerna som finns i en AD-miljö.

Om du sitter på ett sådant nätverk behöver du istället pilla lite i inställningarna för AD DS och vilka forwarders som ska användas, och där peka på NextDNS istället. Det har jag ingen erfarenhet av, så där får du söka annan hjälp!

Varför DNS-filtrering?

De flesta typerna av cyberangrepp, oaktat om de har stöd från en nation, eller om de genomförs av en enskild kommer de högst sannolikt använda domäner i en, eller flera, av angreppets olika faser. Det kan vara när du först tar emot ett mejl med en länk, eller när kod redan har exekverat på klienten och försöker koppla upp sig mot angriparens infrastruktur.

Varje gång en domän används kommer det behöva göras ett så kallat namnuppslag. Vart ska datorn skicka trafiken? Till vilken IP-adress? Detta används hela tiden, och det finns många källor som kontinuerligt bevakar och försöker identifiera skadliga domäner som du kan använda dig utav. Det finns de som är gratis och det finns sådana du betalar för.

Men givet hur vanligt förekommande domäner är i cyberangrepp är det helt enkelt något vi vill ha förmåga att “hantera”.

Vad skyddar det inte mot?

Föreställ dig följande scenario:

En hotaktör skickar ett mejl till dig från en gmail-adress. Mejlet innehåller en länk, till Microsoft OneDrive. Mejlet kommer givetvis igenom, det är ju från en gmailadress. Och länken till OneDrive, också legitimt. Det är ju Microsoft OneDrive.

Så i det här scenariot skulle du kunna få ner skadlig kod till din enhet. Det finns massor av om-och-men-utifall-att-osv.

Vad är DNS-filtrering?

DNS-filtrering är inget mer än att du filtrerar vilka domännamn som ska få kollas upp av enheten som frågar.

dns-flowchart.png

Ungefär så här går det till. Enheten frågar om den får kolla upp annons.aftonbladet.se. DNS-filtret kollar upp lite blocklistor om det är OK. Om nej, så säger den bara… finns inte. Men om Enheten får kolla upp så görs ett namnuppslag, och så skickas den aktuella IP-adressen tillbaka för domänen och enheten kan ansluta.

Detta gör att har du “bra” blocklistor kan du omedelbart skydda alla enheter som använder DNS-filtreringen.

DNS är nästan magi och ett väldigt underskattat, och missförstådd grundläggande komponent för ett fungerande internet. Läs mer på Internetstiftelsen om domännamn och DNS hos Internetstiftelsen

Införande

Det finns allt som oftast flera vägar till samma mål, och så även här. Jag har valt något som är enkelt för att komma igång. Det kommer inte passa alla typer av företag, men det bör gå att genomföra av de flesta om än med vissa förändringar och anpassningar av införandet. Det “enkla spåret” är i linje med min ambition om att få dig att komma igång, ta det första steget och genom det minska friktionen för mer “avancerat” införande.

Exempelvis kanske du skulle föredra att införa åtgärden med hjälp av ett Mobile Device Management (MDM) system, särskilt när det handlar om en större utrullning men det är alltså inte vad jag förklarar här. Och om du befinner dig i ett “hanterat” Microsoft nätverk där termer som Active Directory förekommer behöver du göra en annan typ av införande.

Essensen av det här införandet är att du vill försöka fånga upp alla DNS-frågor och styra dem till en punkt där du kan kontrollera vilka namnuppslag som kan göras och genom det skydda klienter, servrar och andra enheter från att ansluta till skadliga, suspekta eller reklam-domäner.

Generellt sett bör en åtgärds införande också alltid kompletteras av övervakning och loggning. Det är dock kanske mer att betrakta som ett avancerat införande eftersom jag utgår ifrån att de flesta inte har tid att göra det själva. Det är något som rimligen bör göras av en kvalificerad tjänsteleverantör för cybersäkerhet.

Standardmetod

För att införa DNS-filtrering rekommenderar jag att ni börjar med att använda NextDNS som enkelt kan användas för att direkt börja skydda enheter. Detta är övergripande vad du behöver göra:

  1. Gå till NextDNS och registrera ett konto.
  2. Peka om din dator, och övriga valda enheter, att använda NextDNS.
  3. Klart.

Det är faktiskt inte svårare än så, låt oss ta det ett steg i taget.

Steg 1 - Registrera konto hos NextDNS

Gå till Signup och följ instruktionerna. Klart.

Steg 2 - Konfiguration av DNS

Det är svårt att göra något enklare än steg 1, men även detta steg är inte överdrivet svårt. Jag rekommenderar att du börjar med att förändra inställningen på din egen dator först, och kanske några andra enheter, din “test”-grupp.

Nu behöver du leta upp inställningarna för ditt nätverkskort, antingen ditt trådlösa eller trådade (Ethernet) nätverk. Väl där ska du leta dig fram till DNS-inställningarna, och ändra till de publika IP-adresserna för NextDNS. För att kunna få in statistik och logg för DNS-frågor behöver du också länka din externa IP-adress.

Och det är allt som krävs för att kunna använda DNS-filtrering som skydd och första införda åtgärd.

Avancerad metod

Vill du passa på att göra “lite mer” vid införandet av den här åtgärden kan du också installera tailscale . Tailscale ger dig en möjlighet att skapa ett virtuellt privat nätverk mellan alla dina enheter. Detta kan betraktas som ett mer modernt sätt att koppla ihop ett företags olika datorer och enheter i ett gemensamt nätverk, och samtidigt ges full kontroll över vilka enheter som tillgängliggör vilka tjänster och applikationer.

Om du är intresserad av en mer “avancerad” artikel, hör av dig till mig på tailscale@cstromblad.com så hör jag av mig.

Mäta och förbättra

Det är få säkerhetsåtgärder som inte också behöver övervakas, trimmas och förändras. Även om NextDNS ger dig en grundläggande förmåga kan den självklart förbättras och anpassas. Men det första du kan göra är att någon gång per vecka logga in och navigera till “Analytics” och där se hur mycket som blockeras och stoppas av den här åtgärden.

Det är också här du ska skapa din första rapport, din första presentation om vad du gör för att skapa bättre cybersäkerhet.

Första rapporten kan vara så enkel att du mer eller mindre kopierar “Blocked Reasons” och förklarar vad respektive blockering innebär och hur det påverkar cybersäkerheten och att detta mycket sällan påverkar användarnas upplevelse.

En blockering betyder inte nödvändigtvis ett förhindrat angrepp, självklart inte. Men det KAN vara så att du förhindrat något och detta är början på din resa mot att synliggöra hoten som riktas mot din verksamhet. Du kommer inte, endast genom den här åtgärden, få till en fullständig lägesbild men det är en viktig början som har direkt effekt på cyberhoten, men också över tid kommer att ge dig möjligheten att bygga en bättre förståelse för hotbilden.

Uppgraderingar av åtgärden

Över tid kommer du kunna utveckla den här åtgärden till att bli riktigt vass. Föreställ dig att du kommer i kontakt med ett företag som erbjuder en tjänst där du prenumererar på information om domäner som har identifierats användas för command and control (C2) av angripare. Föreställ dig nu att prenumerationen innebär att du kan automatiskt överföra listan av nya skadliga domäner.

FörsvarVägledningCIS8DNS

Christoffer Strömblad

Entusiastisk Jedi inom Cybersäkerhet

Har du läst dom här?

CIS 8.1 - Top 7 prioriterade åtgarder - MFA för fjärråtkomst

CIS Critical Security Controls 8.1 - Vägledningen - Introduktion