Här går jag igenom området ur ett praktiskt Microsoft- och säkerhetsperspektiv, med fokus på vilken evidens man behöver, hur en förändring påverkar miljön och hur resultatet kan verifieras.
Varför detta spelar roll
Microsofts säkerhetsstack blir intressant när identitet, endpoint och SIEM kan länkas ihop. En incident kan börja i Entra ID, fortsätta på en endpoint och sedan korreleras i Defender XDR eller Sentinel.
Teknisk modell
Jag försöker hålla isär produktgränserna: Entra ID hanterar identitet och access, Defender XDR korrelerar flera XDR-signaler, Sentinel arbetar som SIEM/SOAR och Azure ger resurser, aktivitet och konfigurationsdata.
Datakällor och analystflöde
Det här avgränsar vilken tillgång, datakälla eller konfiguration som ska undersökas först. Med ett tydligt scope blir det lättare att skilja relevant evidens från närliggande brus.
KQL/portalsteg där relevant
Nästa fråga är vilken påverkan observationen har på miljön och vilka beroenden som berörs. Innan en förändring görs behöver man förstå blast radius och vilken ytterligare evidens som krävs.
Verifiering efter åtgärd
Här kopplas observationen till ett konkret tekniskt arbetsmoment. Beroende på miljö kan det innebära en portal, query, API, CLI eller loggkälla, men steget ska vara reproducerbart och möjligt att granska.
Praktiskt arbetsflöde
- Bestäm vilken datakälla som är auktoritativ för frågan.
- Avgränsa tid och entitet.
- Sök med KQL eller relevant portalvy.
- Pivota mellan identitet, endpoint och incident där integrationen finns.
- Dokumentera åtgärdsförslag och blast radius.
- Verifiera efter ändring med nya loggar eller testhändelse.
Konkret exempel
En första KQL-sökning bör vara enkel och lätt att verifiera. För en identitetsfråga kan man exempelvis börja med ett snävt tidsfönster och därefter lägga på fler villkor:
SigninLogs
| where TimeGenerated > ago(24h)
| project TimeGenerated, UserPrincipalName, IPAddress, AppDisplayName, ResultType
| order by TimeGenerated desc
Poängen är inte att queryn i sig är avancerad. Den skapar ett kontrollerbart utgångsläge. Därefter kan man pivota på identitet, IP, applikation och resultatkod och kontrollera om samma tidslinje stöds av andra datakällor.
Vad jag vill kunna verifiera
Jag försöker undvika att en produktdashboard blir själva sanningen. Slutsatsen ska kunna stödjas av underliggande events, queries och konfiguration.
Man kan använda följande kontrollfrågor:
- Vilken rådata eller konfiguration stödjer slutsatsen?
- Vilket resultat förväntas efter en förändring?
- Finns ett negativt test som visar att en förbjuden väg verkligen är stängd?
- Kan man återgå säkert om förändringen ger en oväntad sidoeffekt?
Vanliga fallgropar
- Att blanda Sentinel- och Defender-tabeller utan att kontrollera datakällan.
- Att ändra policy direkt i bred scope.
- Att inte testa KQL mot normaldata.
- Att sakna rollback för access-policy.
Koppling till yrkesrollen
För mig är värdet i ämnet att det går att koppla till ett verkligt analyst- eller engineeringflöde. Man behöver kunna förklara varför kontrollen finns, vad som ska mätas och hur resultatet verifieras.
Frågor jag tar med till en verklig miljö
När jag lämnar labbet och tänker på en riktig verksamhet försöker jag alltid ställa några kontrollfrågor innan samma metod används skarpt:
- Vilken tillgång eller affärsprocess påverkas om kontrollen fungerar fel?
- Vilken person eller funktion äger systemet och kan bekräfta legitimt beteende?
- Vilken telemetry finns redan, och vilken datakälla saknas för att slutsatsen ska bli tillräckligt stark?
- Vilken del kan testas i begränsad scope innan förändringen breddas?
- Hur dokumenteras expected result, efterkontroll och rollback så att nästa tekniker kan förstå vad som gjordes?
Sammanfattning
Microsoft Sentinel – ett praktiskt incidentflöde från alert till åtgärd handlar för mig ytterst om att göra säkerhetsarbetet begripligt och verifierbart. Man får ett bättre resultat när analysten kan gå från observation till evidens, från evidens till avgränsad åtgärd och från åtgärd till ett kontrollerat eftertest.