Azure Sentinel Analytics Rules Geconfigureerd: Detectieregels Voor Bedreigingsdetectie

💼 Management Samenvatting

Azure Sentinel Analytics Rules vormen de kern van bedreigingsdetectie binnen een SIEM-omgeving door verdachte activiteiten te identificeren en automatisch beveiligingsincidenten te genereren. Zonder goed geconfigureerde analytics rules beschikken organisaties niet over de benodigde capaciteiten om beveiligingsbedreigingen proactief te detecteren, waardoor aanvallen onopgemerkt kunnen blijven en beveiligingsincidenten niet tijdig worden geïdentificeerd.

Aanbeveling
IMPLEMENT
Risico zonder
Critical
Risk Score
9/10
Implementatie
40u (tech: 24u)
Van toepassing op:
Azure

Analytics rules zijn essentieel voor effectieve beveiligingsmonitoring omdat zij de basis vormen voor het automatisch detecteren van verdachte activiteiten die kunnen wijzen op beveiligingsbedreigingen. Zonder analytics rules moeten security analisten handmatig door duizenden beveiligingsgebeurtenissen zoeken om verdachte activiteiten te identificeren, wat praktisch onmogelijk is in moderne cloudomgevingen waar dagelijks miljoenen gebeurtenissen plaatsvinden. Analytics rules lossen dit probleem op door gebruik te maken van Kusto Query Language (KQL) om complexe patronen te identificeren die wijzen op beveiligingsbedreigingen, zoals brute-force aanvallen, privilege escalation, data exfiltration, malware activiteit en insider threats. Deze regels kunnen worden gebaseerd op Microsoft's threat intelligence, best practices, lessons learned uit eerdere incidenten en organisatie-specifieke dreigingsmodellen. Daarnaast zijn analytics rules onmisbaar voor het voldoen aan compliance-vereisten zoals vastgelegd in de Baseline Informatiebeveiliging Overheid (BIO), de NIS2 richtlijn, de AVG en andere relevante wet- en regelgeving die van toepassing is op Nederlandse overheidsorganisaties. Deze frameworks vereisen dat organisaties kunnen aantonen dat zij passende maatregelen hebben genomen om beveiligingsbedreigingen proactief te detecteren en te reageren, en dat zij beschikken over geautomatiseerde systemen voor bedreigingsdetectie. Het ontbreken van adequate analytics rules kan leiden tot niet-naleving van deze vereisten, wat kan resulteren in boetes, reputatieschade en juridische aansprakelijkheid.

PowerShell Modules Vereist
Primary API: Azure Security Insights
Connection: Connect-AzAccount
Required Modules: Az.Accounts, Az.SecurityInsights

Implementatie

Azure Sentinel Analytics Rules zijn detectieregels die gebruikmaken van Kusto Query Language (KQL) om beveiligingsgebeurtenissen te analyseren en automatisch beveiligingsincidenten te genereren wanneer verdachte activiteiten worden gedetecteerd. Deze regels kunnen worden gebaseerd op scheduled queries die periodiek worden uitgevoerd om patronen te identificeren, op Microsoft's threat intelligence om bekende bedreigingen te detecteren, of op machine learning modellen om anomalieën te identificeren. Analytics rules bestaan uit verschillende componenten: de KQL query die de logica bevat voor het detecteren van verdachte activiteiten, de query scheduling die bepaalt hoe vaak de query wordt uitgevoerd, de alert threshold die bepaalt wanneer een incident wordt gegenereerd, de entity mapping die relevante entiteiten zoals gebruikers, IP-adressen en hosts identificeert, en de incident configuration die bepaalt hoe incidenten worden gegroepeerd en geprioriteerd. Azure Sentinel biedt een uitgebreide set aan ingebouwde analytics rules die zijn gebaseerd op Microsoft's threat intelligence en best practices, en die kunnen worden ingeschakeld zonder aanvullende configuratie. Daarnaast biedt Azure Sentinel de mogelijkheid om aangepaste analytics rules te ontwikkelen die zijn afgestemd op de specifieke behoeften van de organisatie, waarbij gebruik wordt gemaakt van KQL om complexe query's te schrijven die verdachte activiteiten identificeren. Deze aangepaste regels kunnen worden ontwikkeld op basis van threat intelligence, best practices en lessons learned uit eerdere incidenten, en kunnen worden getest en gevalideerd voordat zij in productie worden genomen. Analytics rules kunnen ook worden geïntegreerd met Azure Sentinel playbooks voor geautomatiseerde responsacties, zoals het automatisch isoleren van gecompromitteerde systemen, het blokkeren van verdachte IP-adressen of het verzenden van notificaties naar security teams.

Vereisten

Voor het configureren en effectief gebruiken van Azure Sentinel Analytics Rules zijn specifieke licentievereisten, beheerdersbevoegdheden en technische configuraties noodzakelijk. Deze vereisten vormen de fundamentele basis voor een succesvolle implementatie van analytics rules en zijn essentieel om te kunnen voldoen aan compliance-vereisten en beveiligingsbest practices. Organisaties die deze vereisten niet volledig begrijpen of implementeren, lopen het risico dat zij niet beschikken over de benodigde bedreigingsdetectie-capaciteiten en niet kunnen voldoen aan wettelijke verplichtingen zoals vastgelegd in de BIO, NIS2 richtlijn en de AVG.

De primaire licentievereiste voor Azure Sentinel Analytics Rules is een actieve Azure Sentinel omgeving die is ingeschakeld op een Log Analytics-workspace. Azure Sentinel moet zijn geconfigureerd met de benodigde data connectors om beveiligingsgebeurtenissen te verzamelen uit verschillende bronnen, zoals Microsoft 365 services, Azure services, on-premises systemen en externe cloudservices. Zonder deze data connectors kunnen analytics rules geen beveiligingsgebeurtenissen analyseren, waardoor zij niet effectief zijn. De workspace moet beschikken over voldoende capaciteit om de verwachte hoeveelheid beveiligingsgebeurtenissen op te slaan, en moet zijn geconfigureerd met een retentieperiode die voldoet aan compliance-vereisten. Voor de meeste organisaties is een retentieperiode van minimaal negentig dagen aanbevolen voor operationele doeleinden, terwijl langere retentieperiodes van één jaar of meer kunnen worden vereist voor compliance-doeleinden of wettelijke verplichtingen.

Naast licentievereisten is een specifieke beheerdersrol vereist om analytics rules te kunnen maken, configureren en beheren. De Azure Sentinel Contributor rol of de Security Administrator rol is de primaire rol die nodig is voor het beheren van analytics rules. Deze rol kan worden toegewezen via het Azure Portal of via Azure PowerShell met behulp van de Az.SecurityInsights module. De Azure Sentinel Contributor beschikt over de benodigde rechten om analytics rules te maken, te bewerken, te testen en te activeren, en om incidenten te onderzoeken die zijn gegenereerd door analytics rules. Het is belangrijk te realiseren dat deze rol gevoelige bevoegdheden bevat, omdat analytics rules toegang hebben tot alle beveiligingsgebeurtenissen binnen de organisatie en kunnen leiden tot het genereren van incidenten die security teams moeten onderzoeken. Daarom moet de rol alleen worden toegewezen aan vertrouwde beheerders die een security clearance hebben en die zijn getraind in het ontwikkelen van effectieve detectieregels. Organisaties moeten een proces implementeren voor het toewijzen en beheren van deze rol, inclusief regelmatige reviews om te verifiëren dat alleen geautoriseerde personen toegang hebben tot analytics rules functionaliteit.

Voor organisaties die aangepaste analytics rules willen ontwikkelen, zijn aanvullende vaardigheden en kennis vereist. Beheerders die aangepaste analytics rules willen ontwikkelen moeten beschikken over kennis van Kusto Query Language (KQL), omdat analytics rules gebruikmaken van KQL queries om verdachte activiteiten te detecteren. KQL is een krachtige querytaal die complexe patronen kan identificeren in grote datasets, maar vereist training en ervaring om effectief te gebruiken. Daarnaast moeten beheerders beschikken over kennis van beveiligingsbedreigingen en attack patterns, zodat zij effectieve detectieregels kunnen ontwikkelen die relevante bedreigingen identificeren. Organisaties moeten overwegen om training te verzorgen voor beheerders die aangepaste analytics rules willen ontwikkelen, of om externe expertise in te schakelen voor het ontwikkelen van complexe detectieregels.

Technische vereisten omvatten ook de beschikbaarheid van PowerShell-modules en de juiste netwerkconnectiviteit. Beheerders die analytics rules willen configureren of beheren via PowerShell moeten beschikken over de Az.SecurityInsights, Az.Accounts en Az.OperationalInsights modules, die kunnen worden geïnstalleerd via de PowerShell Gallery. Deze modules bevatten de benodigde cmdlets voor het werken met analytics rules, zoals New-AzSentinelAlertRule voor het maken van analytics rules, Get-AzSentinelAlertRule voor het ophalen van bestaande rules, en Update-AzSentinelAlertRule voor het bijwerken van rules. Daarnaast moeten beheerders beschikken over netwerkconnectiviteit naar Azure services, wat meestal betekent dat zij toegang hebben tot internet of dat er een ExpressRoute-verbinding is geconfigureerd voor organisaties die privéconnectiviteit vereisen. Voor organisaties met strikte netwerkbeveiliging kunnen aanvullende firewallregels nodig zijn om toegang te verlenen tot de benodigde Azure endpoints voor Azure Sentinel functionaliteit.

Het is cruciaal te realiseren dat zonder de juiste licentie, bevoegdheden en configuraties de Azure Sentinel Analytics Rules functionaliteit niet beschikbaar is en organisaties niet kunnen voldoen aan compliance-vereisten zoals vastgelegd in de BIO, NIS2 richtlijn en andere relevante wet- en regelgeving voor de Nederlandse publieke sector. Het ontbreken van adequate analytics rules kan leiden tot niet-naleving van deze vereisten, wat kan resulteren in boetes, reputatieschade en juridische aansprakelijkheid. Daarom moeten organisaties ervoor zorgen dat alle vereisten volledig zijn geïmplementeerd voordat zij afhankelijk worden van analytics rules voor bedreigingsdetectie en compliance-doeleinden.

Implementatie

De implementatie van Azure Sentinel Analytics Rules vereist een gestructureerde aanpak die begint met het evalueren van ingebouwde rules, gevolgd door het inschakelen van relevante ingebouwde rules, het ontwikkelen van aangepaste rules op basis van organisatie-specifieke behoeften, het testen en valideren van rules, en het activeren van rules in productie. Hoewel Azure Sentinel relatief eenvoudig ingebouwde analytics rules kan inschakelen, is het essentieel om een doordachte implementatiestrategie te volgen die ervoor zorgt dat alle benodigde detectieregels correct zijn geconfigureerd en dat de organisatie optimaal profiteert van de beschikbare functionaliteiten.

De eerste stap in het implementatieproces is het evalueren van de beschikbare ingebouwde analytics rules die Azure Sentinel biedt. Azure Sentinel bevat honderden ingebouwde analytics rules die zijn gebaseerd op Microsoft's threat intelligence en best practices, en die kunnen worden ingeschakeld zonder aanvullende configuratie. Deze rules zijn georganiseerd in verschillende categorieën, zoals Microsoft 365 security, Azure security, identity security, network security en endpoint security. Beheerders moeten de beschikbare ingebouwde rules evalueren om te bepalen welke rules relevant zijn voor hun organisatie en welke rules moeten worden ingeschakeld. Dit kan worden gedaan via het Azure Portal door te navigeren naar Azure Sentinel, Analytics te selecteren, en de beschikbare templates te bekijken. Beheerders moeten overwegen om te beginnen met het inschakelen van high-priority rules die kritieke bedreigingen detecteren, zoals brute-force aanvallen, privilege escalation, data exfiltration en malware activiteit, en vervolgens geleidelijk andere rules in te schakelen op basis van de behoeften van de organisatie.

Na het evalueren van ingebouwde rules is het essentieel om relevante ingebouwde rules in te schakelen. Dit kan worden gedaan via het Azure Portal door te navigeren naar Azure Sentinel, Analytics te selecteren, de gewenste rule template te selecteren, en Create rule te kiezen. Bij het inschakelen van een ingebouwde rule kunnen beheerders de rule-configuratie aanpassen, zoals de query scheduling, de alert threshold, de entity mapping en de incident configuration. Het is belangrijk om deze configuraties zorgvuldig te evalueren om ervoor te zorgen dat de rule effectief is en niet te veel false positives genereert. Na het configureren van de rule kan deze worden geactiveerd, waarna Azure Sentinel automatisch begint met het uitvoeren van de rule en het genereren van incidenten wanneer verdachte activiteiten worden gedetecteerd.

Gebruik PowerShell-script sentinel-analytics-rules-configured.ps1 (functie Invoke-Implementation) – Implementeren en controleren van Azure Sentinel Analytics Rules configuratie.

Het PowerShell-script sentinel-analytics-rules-configured.ps1 ondersteunt deze implementatie door te controleren of analytics rules zijn geconfigureerd en actief zijn op Azure Sentinel workspaces, of ingebouwde rules zijn ingeschakeld, en of aangepaste rules zijn geïmplementeerd. Het script maakt verbinding met Azure via Connect-AzAccount, haalt de Azure Sentinel configuratie op via Get-AzOperationalInsightsWorkspace en Get-AzSentinel, en controleert of analytics rules zijn geconfigureerd en actief zijn. De uitvoer bevat zowel een totaalscore per tenant als een overzicht per workspace en per rule, waardoor teams gericht acties kunnen uitzetten naar de eigenaar van de betreffende workload. Het script kan herhaaldelijk worden gedraaid nadat nieuwe rules zijn toegevoegd om te verifiëren dat de verwachte configuratie inderdaad aanwezig is.

Voor organisaties die aangepaste analytics rules willen ontwikkelen, is het essentieel om een gestructureerd ontwikkelingsproces te volgen. Dit proces begint met het identificeren van de bedreigingen die moeten worden gedetecteerd, gevolgd door het ontwikkelen van KQL queries die deze bedreigingen kunnen identificeren, het testen van de queries in een testomgeving, het configureren van de rule parameters zoals query scheduling en alert threshold, en het activeren van de rule in productie. Het ontwikkelen van effectieve KQL queries vereist kennis van de beschikbare data sources, de structuur van de beveiligingsgebeurtenissen, en de attack patterns die moeten worden gedetecteerd. Organisaties moeten overwegen om een testomgeving in te richten waar nieuwe analytics rules kunnen worden getest voordat zij in productie worden genomen, zodat false positives kunnen worden geïdentificeerd en opgelost voordat de rule wordt geactiveerd.

De laatste implementatiestap omvat het monitoren en optimaliseren van analytics rules om ervoor te zorgen dat zij effectief blijven en niet te veel false positives genereren. Dit omvat het regelmatig controleren van het aantal gegenereerde incidenten per rule, het analyseren van false positives en het optimaliseren van rules om de kwaliteit van detecties te verbeteren. Problemen met analytics rules kunnen leiden tot situaties waarin verdachte activiteiten niet worden gedetecteerd, wat kan resulteren in gaten in de beveiligingszichtbaarheid en problemen met compliance-doeleinden. Organisaties moeten processen implementeren voor het monitoren van de effectiviteit van analytics rules, waarbij maandelijks wordt gecontroleerd of rules correct functioneren en waarbij waarschuwingen worden gegenereerd wanneer problemen worden gedetecteerd. Door implementatie en optimalisatie op deze manier te combineren groeien analytics rules uit tot een stabiele pijler onder het security operating model en het incident response-proces.

Compliance en Auditing

Vanuit complianceperspectief vervullen Azure Sentinel Analytics Rules een centrale rol als technische voorziening om beveiligingsbedreigingen proactief te detecteren en te reageren, en als bron van bewijs dat de organisatie structureel voldoet aan gestelde normen. De Baseline Informatiebeveiliging Overheid (BIO) schrijft in hoofdstuk 12.04 voor dat beveiligingsrelevante gebeurtenissen moeten worden gemonitord, geanalyseerd en gekoppeld aan opvolgacties. Door analytics rules gecentraliseerd te beheren en detectieregels te koppelen aan gedocumenteerde incident response procedures, kan eenvoudig worden aangetoond welke bedreigingen worden gemonitord, over welke periode, met welke detectieregels en welke responsacties daarop volgen. Tijdens ENSIA-audits en interne controles kunnen Azure Sentinel analytics rules configuraties, detectiehistorie en responsmetrieken rechtstreeks uit Azure Sentinel worden geëxporteerd als evidence dat proactieve bedreigingsdetectie volwassen is ingericht.

Ook de AVG en NIS2 stellen impliciete en expliciete eisen aan bedreigingsdetectie en incident response. AVG Artikel 32 verlangt passende technische en organisatorische maatregelen om onder meer de vertrouwelijkheid, integriteit en beschikbaarheid van persoonsgegevens te waarborgen. Zonder goede bedreigingsdetectie is het vrijwel onmogelijk om na een datalek vast te stellen wanneer het lek precies is ontstaan, wat de beoordeling van meldplicht en impact enorm bemoeilijkt. NIS2 en de Wet beveiliging netwerk- en informatiesystemen vragen bovendien om aantoonbaar en proportioneel incidentmanagement, inclusief snelle detectie en respons. Een Azure Sentinel-omgeving waarin analytics rules, detectiehistorie en responsmetrieken over meerdere maanden beschikbaar zijn, vormt de basis om deze verplichtingen na te komen en om in rapportages richting toezichthouders overtuigend te laten zien wat er is gebeurd en hoe snel daarop is gereageerd. Voor organisaties in de publieke sector zijn analytics rules bovendien essentieel voor het waarborgen van transparantie en verantwoording, waarbij bestuurders moeten kunnen aantonen dat zij passende controles hebben geïmplementeerd om de beveiliging van kritieke diensten te waarborgen.

Voor sectorale kaders, zoals de DigiD-beveiligingsrichtlijnen, de richtlijnen van het Nationaal Cyber Security Centrum (NCSC) of aanvullende eisen van toezichthouders in de gezondheidszorg en financiële sector, geldt eveneens dat bedreigingsdetectie en incident response centraal staan. Azure Sentinel maakt het mogelijk om maatwerkrapporten te definiëren waarin bijvoorbeeld alle beveiligingsincidenten, detecties en responsacties in één overzicht worden samengebracht. Deze rapporten kunnen periodiek worden geëxporteerd en ondertekend, waardoor zij direct als auditstuk kunnen worden opgenomen in dossiers. Belangrijk is wel dat de analytics rules, playbooks en incident response procedures die hiervoor worden gebruikt onder versiebeheer staan, zodat auditteams kunnen controleren dat de gebruikte logica consistent is en dat resultaten herhaalbaar zijn. Door deze configuraties te documenteren in het verwerkingsregister en in dataprotectie-effectbeoordelingen (DPIA's), kan worden aangetoond dat bedreigingsdetectie proportioneel en doelgebonden is ingericht.

Transparantie en dataminimalisatie blijven randvoorwaarden, ook bij bedreigingsdetectie. Organisaties moeten onderbouwen waarom bepaalde persoonsgegevens – zoals IP-adressen, gebruikersnamen of resource-identifiers – in analytics rules worden gebruikt en hoe lang detectiehistorie wordt bewaard. Azure Sentinel ondersteunt deze verantwoording doordat retentie-instellingen per workspace kunnen worden vastgelegd en omdat exportstromen naar andere systemen zichtbaar zijn. Door deze configuraties te documenteren in het verwerkingsregister en in dataprotectie-effectbeoordelingen, kan worden aangetoond dat bedreigingsdetectie proportioneel en doelgebonden is ingericht. Hiermee worden technische maatregelen direct gekoppeld aan juridische en organisatorische kaders, wat essentieel is binnen de Nederlandse Baseline voor Veilige Cloud.

Monitoring

Gebruik PowerShell-script sentinel-analytics-rules-configured.ps1 (functie Invoke-Monitoring) – Automatiseert de verificatie van Azure Sentinel Analytics Rules status en controleert of rules actief zijn.

Effectieve monitoring van Azure Sentinel Analytics Rules is essentieel om te waarborgen dat de bedreigingsdetectie-functionaliteit correct blijft functioneren en dat organisaties altijd beschikken over complete beveiligingszichtbaarheid die essentieel is voor compliance-doeleinden en incident response. Zonder uitgebreide monitoring kunnen organisaties niet garanderen dat analytics rules actief zijn, dat rules correct functioneren en incidenten genereren wanneer verdachte activiteiten worden gedetecteerd, en dat er geen problemen zijn met de detectie-infrastructuur die kunnen leiden tot gaten in de beveiligingszichtbaarheid. Monitoring omvat het continu volgen van de status van analytics rules, het verifiëren dat rules actief zijn en incidenten genereren, het controleren van de gezondheid van de detectie-infrastructuur, en het waarborgen dat rules niet te veel false positives genereren.

De basis van monitoring wordt gevormd door regelmatige verificatie van de status van analytics rules via het Azure Portal of via PowerShell. Beheerders moeten wekelijks controleren of analytics rules actief zijn, of rules correct functioneren en incidenten genereren wanneer verdachte activiteiten worden gedetecteerd, en of er geen waarschuwingen of foutmeldingen zijn die kunnen wijzen op problemen met de detectie-functionaliteit. Deze verificatie kan worden geautomatiseerd via PowerShell-scripts die de status van analytics rules controleren en waarschuwingen genereren wanneer rules zijn uitgeschakeld of wanneer er problemen worden gedetecteerd. Het is belangrijk om deze verificaties regelmatig uit te voeren, omdat configuratiewijzigingen of beheerdersfouten kunnen leiden tot het onbedoeld uitschakelen van analytics rules, wat kan resulteren in gaten in de beveiligingszichtbaarheid en niet-naleving van compliance-vereisten.

Naast het controleren van de status van analytics rules moeten organisaties regelmatig verifiëren dat rules daadwerkelijk incidenten genereren en dat deze incidenten relevant zijn. Dit kan worden gedaan door query's uit te voeren in Azure Sentinel om te controleren of rules incidenten genereren, of door gebruik te maken van ingebouwde monitoring-dashboards die de status van analytics rules weergeven. Als rules geen incidenten genereren of als bepaalde bedreigingen niet worden gedetecteerd, kan dit wijzen op problemen met de rule-configuratie die moeten worden opgelost. Organisaties moeten processen implementeren voor het regelmatig uitvoeren van deze verificaties, waarbij wekelijks wordt gecontroleerd of rules actief zijn en incidenten genereren, en waarbij waarschuwingen worden gegenereerd wanneer problemen worden gedetecteerd.

Voor organisaties die analytics rules hebben geïmplementeerd, is het essentieel om te monitoren of deze rules correct functioneren en of zij daadwerkelijk relevante bedreigingen detecteren zonder te veel false positives te genereren. Dit omvat het controleren van het aantal gegenereerde incidenten per rule, het analyseren van false positives en het optimaliseren van rules om de kwaliteit van detecties te verbeteren. Problemen met analytics rules kunnen leiden tot situaties waarin verdachte activiteiten niet worden gedetecteerd, wat kan resulteren in gaten in de beveiligingszichtbaarheid en problemen met compliance-doeleinden. Organisaties moeten processen implementeren voor het monitoren van de effectiviteit van analytics rules, waarbij maandelijks wordt gecontroleerd of rules correct functioneren en waarbij waarschuwingen worden gegenereerd wanneer problemen worden gedetecteerd.

Daarnaast moeten organisaties processen implementeren voor het monitoren van de gezondheid van de Azure Sentinel-infrastructuur, inclusief het controleren van de capaciteit van de Log Analytics-workspace en het verifiëren dat er voldoende opslagruimte beschikbaar is voor het opslaan van beveiligingsgebeurtenissen. Als de workspace-capaciteit wordt bereikt, kunnen nieuwe beveiligingsgebeurtenissen niet worden opgeslagen, wat kan resulteren in gaten in de beveiligingszichtbaarheid en problemen met analytics rules die afhankelijk zijn van deze data. Organisaties moeten waarschuwingen configureren die worden gegenereerd wanneer workspace-capaciteit bijna wordt bereikt, zodat proactieve maatregelen kunnen worden genomen om te voorkomen dat beveiligingsgebeurtenissen verloren gaan. Voor organisaties die langere retentieperiodes nodig hebben, is het belangrijk om te overwegen om data te exporteren naar externe systemen zoals Azure Storage Accounts, waar langere retentieperiodes mogelijk zijn zonder de beperkingen van de standaard Log Analytics-workspace-capaciteit.

Remediatie

Gebruik PowerShell-script sentinel-analytics-rules-configured.ps1 (functie Invoke-Remediation) – Schakelt Azure Sentinel Analytics Rules in wanneer deze zijn uitgeschakeld en verifieert de configuratie.

Remediatie van Azure Sentinel Analytics Rules omvat het inschakelen van rules wanneer deze zijn uitgeschakeld, het corrigeren van configuratiefouten in rules, en het waarborgen dat alle relevante bedreigingen worden gedetecteerd. Het is belangrijk om te realiseren dat wanneer analytics rules zijn uitgeschakeld, er geen bedreigingsdetectie plaatsvindt en organisaties volledig blind zijn voor beveiligingsbedreigingen die kunnen leiden tot beveiligingsincidenten, datalekken en niet-naleving van compliance-vereisten. Daarom moeten organisaties processen implementeren voor het snel detecteren en oplossen van problemen met analytics rules, zodat de impact op de beveiligingszichtbaarheid wordt geminimaliseerd.

Wanneer analytics rules zijn uitgeschakeld, kunnen deze worden geactiveerd via het Azure Portal door te navigeren naar Azure Sentinel, Analytics te selecteren, de gewenste rule te selecteren, en de rule te activeren. Na het activeren van de rule begint Azure Sentinel onmiddellijk met het uitvoeren van de rule en het genereren van incidenten wanneer verdachte activiteiten worden gedetecteerd, maar het is belangrijk om te realiseren dat beveiligingsbedreigingen die hebben plaatsgevonden tijdens de periode waarin de rule was uitgeschakeld, niet kunnen worden gereconstrueerd. Daarom moeten organisaties processen implementeren voor het snel detecteren wanneer analytics rules zijn uitgeschakeld, zodat de rules zo snel mogelijk kunnen worden geactiveerd en de impact op de beveiligingszichtbaarheid wordt geminimaliseerd.

Na het activeren van analytics rules is het essentieel om te verifiëren dat de rules correct werken en dat zij daadwerkelijk incidenten genereren wanneer verdachte activiteiten worden gedetecteerd. Dit kan worden gedaan door query's uit te voeren in Azure Sentinel om te controleren of rules incidenten genereren, of door gebruik te maken van ingebouwde monitoring-dashboards die de status van analytics rules weergeven. Als rules geen incidenten genereren of als bepaalde bedreigingen niet worden gedetecteerd, kan dit wijzen op problemen met de rule-configuratie die moeten worden opgelost. Organisaties moeten processen implementeren voor het uitvoeren van deze verificaties na het activeren van analytics rules, zodat kan worden bevestigd dat de rules correct werken voordat de organisatie weer afhankelijk wordt van analytics rules voor bedreigingsdetectie en compliance-doeleinden.

Voor organisaties die aangepaste analytics rules hebben geïmplementeerd, is het belangrijk om te verifiëren dat deze rules correct functioneren na het activeren van Azure Sentinel. Dit omvat het controleren of rules actief zijn, of zij daadwerkelijk incidenten genereren wanneer verdachte activiteiten worden gedetecteerd, en of er geen fouten zijn in de rule-configuratie. Als er problemen zijn met aangepaste analytics rules, moeten deze worden opgelost voordat de organisatie weer afhankelijk wordt van analytics rules voor bedreigingsdetectie. Organisaties moeten processen implementeren voor het verifiëren van de effectiviteit van aangepaste analytics rules na het activeren van Azure Sentinel, zodat kan worden bevestigd dat de rules correct werken.

Daarnaast moeten organisaties processen implementeren voor het onderzoeken van de oorzaak van het uitschakelen van analytics rules, zodat preventieve maatregelen kunnen worden genomen om te voorkomen dat het probleem opnieuw optreedt. Dit kan bijvoorbeeld betekenen dat beheerders moeten worden getraind in het belang van analytics rules, dat configuratiewijzigingen moeten worden gereviewd voordat zij worden doorgevoerd, of dat aanvullende controles moeten worden geïmplementeerd om te voorkomen dat analytics rules onbedoeld worden uitgeschakeld. Door deze preventieve maatregelen te implementeren kunnen organisaties ervoor zorgen dat analytics rules continu actief blijven en dat er geen gaten ontstaan in de beveiligingszichtbaarheid die kunnen leiden tot niet-naleving van compliance-vereisten.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# ================================================================================ AZURE POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS Controle en implementatie van Azure Sentinel Analytics Rules configuratie. .DESCRIPTION Dit script controleert of Azure Sentinel Analytics Rules zijn geconfigureerd en actief zijn op Azure Sentinel workspaces. Het script ondersteunt ook het inschakelen van analytics rules wanneer deze zijn uitgeschakeld. Het script is bedoeld als controle- en implementatietool waarmee cloud- en securityteams snel kunnen zien of Azure Sentinel Analytics Rules correct zijn geconfigureerd en actief zijn voor bedreigingsdetectie. .NOTES Filename: sentinel-analytics-rules-configured.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/sentinel/sentinel-analytics-rules-configured.json #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.SecurityInsights, Az.OperationalInsights [CmdletBinding()] param( [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation, [Parameter()] [string]$WorkspaceResourceGroupName, [Parameter()] [string]$WorkspaceName ) $ErrorActionPreference = 'Stop' $PolicyName = "Azure Sentinel Analytics Rules Configured - Threat Detection and Compliance" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount -ErrorAction Stop | Out-Null } } function Get-AzureSentinelAnalyticsRulesStatus { <# .SYNOPSIS Haalt de status van Azure Sentinel Analytics Rules op voor alle Log Analytics workspaces. #> $workspaces = @() if ($WorkspaceName -and $WorkspaceResourceGroupName) { $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $WorkspaceResourceGroupName -Name $WorkspaceName -ErrorAction SilentlyContinue if ($workspace) { $workspaces += $workspace } } else { $workspaces = Get-AzOperationalInsightsWorkspace -ErrorAction Stop } $results = @() foreach ($ws in $workspaces) { $workspaceId = $ws.ResourceId try { # Controleren of Azure Sentinel is ingeschakeld $context = Get-AzContext $accessToken = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate( $context.Account, $context.Environment, $context.Tenant.Id, $null, "Never", $null, "https://management.azure.com" ).AccessToken $headers = @{ 'Authorization' = "Bearer $accessToken" 'Content-Type' = 'application/json' } $sentinelApiUrl = "https://management.azure.com$workspaceId/providers/Microsoft.SecurityInsights/onboardingStates/default?api-version=2021-10-01-preview" try { $sentinelResponse = Invoke-RestMethod -Uri $sentinelApiUrl -Method Get -Headers $headers -ErrorAction SilentlyContinue $sentinelEnabled = $sentinelResponse.properties.customerManagedKey -ne $null -or $sentinelResponse.name -eq "default" } catch { $sentinelEnabled = $false } if (-not $sentinelEnabled) { $results += [PSCustomObject]@{ WorkspaceName = $ws.Name WorkspaceResourceGroup = $ws.ResourceGroupName WorkspaceId = $workspaceId SentinelEnabled = $false AnalyticsRulesCount = 0 ActiveRulesCount = 0 NonCompliant = $true Notes = "Azure Sentinel is niet ingeschakeld op deze workspace." } continue } # Ophalen van analytics rules $analyticsRulesUrl = "https://management.azure.com$workspaceId/providers/Microsoft.SecurityInsights/alertRules?api-version=2022-11-01" try { $rulesResponse = Invoke-RestMethod -Uri $analyticsRulesUrl -Method Get -Headers $headers -ErrorAction SilentlyContinue $allRules = $rulesResponse.value | Where-Object { $_.kind -eq "Scheduled" } $activeRules = $allRules | Where-Object { $_.properties.enabled -eq $true } $rulesCount = if ($allRules) { $allRules.Count } else { 0 } $activeCount = if ($activeRules) { $activeRules.Count } else { 0 } $nonCompliant = $rulesCount -eq 0 -or $activeCount -eq 0 $notes = if ($rulesCount -eq 0) { "Azure Sentinel is ingeschakeld maar er zijn geen analytics rules geconfigureerd." } elseif ($activeCount -eq 0) { "Azure Sentinel is ingeschakeld maar er zijn geen actieve analytics rules." } else { "Azure Sentinel Analytics Rules zijn correct geconfigureerd." } $results += [PSCustomObject]@{ WorkspaceName = $ws.Name WorkspaceResourceGroup = $ws.ResourceGroupName WorkspaceId = $workspaceId SentinelEnabled = $true AnalyticsRulesCount = $rulesCount ActiveRulesCount = $activeCount NonCompliant = $nonCompliant Notes = $notes } } catch { $results += [PSCustomObject]@{ WorkspaceName = $ws.Name WorkspaceResourceGroup = $ws.ResourceGroupName WorkspaceId = $workspaceId SentinelEnabled = $true AnalyticsRulesCount = 0 ActiveRulesCount = 0 NonCompliant = $true Notes = "Fout bij het ophalen van analytics rules: $($_.Exception.Message)" } } } catch { $results += [PSCustomObject]@{ WorkspaceName = $ws.Name WorkspaceResourceGroup = $ws.ResourceGroupName WorkspaceId = $workspaceId SentinelEnabled = $false AnalyticsRulesCount = 0 ActiveRulesCount = 0 NonCompliant = $true Notes = "Fout bij het ophalen van Azure Sentinel status: $($_.Exception.Message)" } } } return $results } function Test-Compliance { $data = Get-AzureSentinelAnalyticsRulesStatus $totalWorkspaces = $data.Count $sentinelDisabled = ($data | Where-Object { -not $_.SentinelEnabled }).Count $noRules = ($data | Where-Object { $_.SentinelEnabled -and $_.AnalyticsRulesCount -eq 0 }).Count $noActiveRules = ($data | Where-Object { $_.SentinelEnabled -and $_.ActiveRulesCount -eq 0 }).Count $nonCompliant = ($data | Where-Object { $_.NonCompliant -eq $true }).Count return [PSCustomObject]@{ TotalWorkspaces = $totalWorkspaces SentinelDisabled = $sentinelDisabled NoAnalyticsRules = $noRules NoActiveRules = $noActiveRules NonCompliantWorkspaces = $nonCompliant Details = $data } } try { Connect-RequiredServices if ($Monitoring) { $result = Test-Compliance Write-Host "" -ForegroundColor White Write-Host "========================================" -ForegroundColor Cyan Write-Host $PolicyName -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host ("Log Analytics workspaces totaal : {0}" -f $result.TotalWorkspaces) -ForegroundColor White if ($result.SentinelDisabled -gt 0) { Write-Host ("Azure Sentinel uitgeschakeld : {0}" -f $result.SentinelDisabled) -ForegroundColor Yellow } else { Write-Host ("Azure Sentinel uitgeschakeld : {0}" -f $result.SentinelDisabled) -ForegroundColor Green } if ($result.NoAnalyticsRules -gt 0) { Write-Host ("Zonder analytics rules : {0}" -f $result.NoAnalyticsRules) -ForegroundColor Yellow } else { Write-Host ("Zonder analytics rules : {0}" -f $result.NoAnalyticsRules) -ForegroundColor Green } if ($result.NoActiveRules -gt 0) { Write-Host ("Zonder actieve rules : {0}" -f $result.NoActiveRules) -ForegroundColor Yellow } else { Write-Host ("Zonder actieve rules : {0}" -f $result.NoActiveRules) -ForegroundColor Green } if ($result.NonCompliantWorkspaces -gt 0) { Write-Host ("Niet-conforme workspaces : {0}" -f $result.NonCompliantWorkspaces) -ForegroundColor Yellow } else { Write-Host ("Niet-conforme workspaces : {0}" -f $result.NonCompliantWorkspaces) -ForegroundColor Green } if ($result.SentinelDisabled -gt 0 -or $result.NoAnalyticsRules -gt 0 -or $result.NoActiveRules -gt 0 -or $result.NonCompliantWorkspaces -gt 0) { Write-Host "" -ForegroundColor White Write-Host "[WAARSCHUWING] Eén of meer workspaces voldoen niet aan de Azure Sentinel Analytics Rules-configuratievereisten." -ForegroundColor Yellow Write-Host " Gebruik de details-uitvoer om te bepalen waar analytics rules moeten worden geconfigureerd" -ForegroundColor Yellow Write-Host " of waar rules moeten worden geactiveerd." -ForegroundColor Yellow } # Gedetailleerde tabel als JSON voor verdere verwerking $result.Details | ConvertTo-Json -Depth 4 } elseif ($Remediation) { $result = Test-Compliance $nonCompliant = $result.Details | Where-Object { $_.NonCompliant -eq $true } if ($nonCompliant) { Write-Host "" -ForegroundColor Yellow Write-Host "[INFO] Dit script kan helpen bij het identificeren van workspaces waar analytics rules moeten worden geconfigureerd." -ForegroundColor Yellow Write-Host "[INFO] Voor het configureren van analytics rules zijn aanvullende handmatige stappen nodig via de Azure Portal." -ForegroundColor Yellow Write-Host "[INFO] Navigeer naar Azure Portal > Azure Sentinel > Analytics om ingebouwde rules in te schakelen" -ForegroundColor Yellow Write-Host " of aangepaste rules te ontwikkelen." -ForegroundColor Yellow foreach ($workspace in $nonCompliant) { Write-Host "" -ForegroundColor White Write-Host "Workspace: $($workspace.WorkspaceName)" -ForegroundColor Cyan Write-Host " Status: $($workspace.Notes)" -ForegroundColor Gray if (-not $workspace.SentinelEnabled) { Write-Host " Actie: Schakel eerst Azure Sentinel in op deze workspace" -ForegroundColor Yellow } elseif ($workspace.AnalyticsRulesCount -eq 0) { Write-Host " Actie: Configureer analytics rules via Azure Portal > Azure Sentinel > Analytics" -ForegroundColor Yellow } elseif ($workspace.ActiveRulesCount -eq 0) { Write-Host " Actie: Activeer bestaande analytics rules via Azure Portal > Azure Sentinel > Analytics" -ForegroundColor Yellow } } } else { Write-Host "Alle gecontroleerde workspaces hebben Azure Sentinel Analytics Rules correct geconfigureerd." -ForegroundColor Green } } else { $result = Test-Compliance Write-Host "" Write-Host ("Azure Sentinel Analytics Rules status: {0} workspace(s) gecontroleerd, {1} met Azure Sentinel uitgeschakeld, {2} zonder analytics rules, {3} zonder actieve rules." -f ` $result.TotalWorkspaces, $result.SentinelDisabled, $result.NoAnalyticsRules, $result.NoActiveRules) } } catch { Write-Error $_ exit 1 } # ================================================================================ # Standaard Invoke-* Functions # ================================================================================ function Invoke-Implementation { <# .SYNOPSIS Voert een implementatie- en configuratiecontrole uit voor Azure Sentinel Analytics Rules. .DESCRIPTION Deze functie controleert of Azure Sentinel Analytics Rules zijn geconfigureerd en actief zijn. Gebruik deze informatie om analytics rules correct te configureren en in te schakelen. #> [CmdletBinding()] param() try { Connect-RequiredServices $result = Test-Compliance Write-Host "" -ForegroundColor White Write-Host "========================================" -ForegroundColor Cyan Write-Host $PolicyName -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host ("Log Analytics workspaces totaal : {0}" -f $result.TotalWorkspaces) -ForegroundColor White Write-Host ("Azure Sentinel uitgeschakeld : {0}" -f $result.SentinelDisabled) -ForegroundColor (if ($result.SentinelDisabled -gt 0) { 'Yellow' } else { 'Green' }) Write-Host ("Zonder analytics rules : {0}" -f $result.NoAnalyticsRules) -ForegroundColor (if ($result.NoAnalyticsRules -gt 0) { 'Yellow' } else { 'Green' }) Write-Host ("Zonder actieve rules : {0}" -f $result.NoActiveRules) -ForegroundColor (if ($result.NoActiveRules -gt 0) { 'Yellow' } else { 'Green' }) Write-Host ("Niet-conforme workspaces : {0}" -f $result.NonCompliantWorkspaces) -ForegroundColor (if ($result.NonCompliantWorkspaces -gt 0) { 'Yellow' } else { 'Green' }) if ($result.SentinelDisabled -gt 0 -or $result.NoAnalyticsRules -gt 0 -or $result.NoActiveRules -gt 0) { Write-Host "" -ForegroundColor White Write-Host "[WAARSCHUWING] Eén of meer workspaces voldoen niet aan de Azure Sentinel Analytics Rules-configuratievereisten." -ForegroundColor Yellow } $result.Details | ConvertTo-Json -Depth 4 } catch { Write-Error $_ exit 1 } } function Invoke-Monitoring { <# .SYNOPSIS Voert een monitoringcontrole uit en toont een samenvatting plus JSON-uitvoer. #> [CmdletBinding()] param() $Monitoring = $true try { Connect-RequiredServices $result = Test-Compliance Write-Host "" -ForegroundColor White Write-Host "========================================" -ForegroundColor Cyan Write-Host $PolicyName -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host ("Log Analytics workspaces totaal : {0}" -f $result.TotalWorkspaces) -ForegroundColor White Write-Host ("Azure Sentinel uitgeschakeld : {0}" -f $result.SentinelDisabled) -ForegroundColor (if ($result.SentinelDisabled -gt 0) { 'Yellow' } else { 'Green' }) Write-Host ("Zonder analytics rules : {0}" -f $result.NoAnalyticsRules) -ForegroundColor (if ($result.NoAnalyticsRules -gt 0) { 'Yellow' } else { 'Green' }) Write-Host ("Zonder actieve rules : {0}" -f $result.NoActiveRules) -ForegroundColor (if ($result.NoActiveRules -gt 0) { 'Yellow' } else { 'Green' }) Write-Host ("Niet-conforme workspaces : {0}" -f $result.NonCompliantWorkspaces) -ForegroundColor (if ($result.NonCompliantWorkspaces -gt 0) { 'Yellow' } else { 'Green' }) if ($result.SentinelDisabled -gt 0 -or $result.NoAnalyticsRules -gt 0 -or $result.NoActiveRules -gt 0 -or $result.NonCompliantWorkspaces -gt 0) { Write-Host "" -ForegroundColor White Write-Host "[WAARSCHUWING] Eén of meer workspaces voldoen niet aan de Azure Sentinel Analytics Rules-configuratievereisten." -ForegroundColor Yellow } $result.Details | ConvertTo-Json -Depth 4 } catch { Write-Error $_ exit 1 } } function Invoke-Remediation { <# .SYNOPSIS Ondersteunt remediatie door analytics rules te identificeren die moeten worden geconfigureerd. .DESCRIPTION Deze functie identificeert workspaces waar analytics rules moeten worden geconfigureerd of geactiveerd. Voor het daadwerkelijk configureren van analytics rules zijn aanvullende handmatige stappen nodig via de Azure Portal. #> [CmdletBinding()] param() try { Connect-RequiredServices $result = Test-Compliance $nonCompliant = $result.Details | Where-Object { $_.NonCompliant -eq $true } if ($nonCompliant) { Write-Host "" -ForegroundColor Yellow Write-Host "[INFO] Dit script kan helpen bij het identificeren van workspaces waar analytics rules moeten worden geconfigureerd." -ForegroundColor Yellow Write-Host "[INFO] Voor het configureren van analytics rules zijn aanvullende handmatige stappen nodig via de Azure Portal." -ForegroundColor Yellow Write-Host "[INFO] Navigeer naar Azure Portal > Azure Sentinel > Analytics om ingebouwde rules in te schakelen" -ForegroundColor Yellow Write-Host " of aangepaste rules te ontwikkelen." -ForegroundColor Yellow foreach ($workspace in $nonCompliant) { Write-Host "" -ForegroundColor White Write-Host "Workspace: $($workspace.WorkspaceName)" -ForegroundColor Cyan Write-Host " Status: $($workspace.Notes)" -ForegroundColor Gray if (-not $workspace.SentinelEnabled) { Write-Host " Actie: Schakel eerst Azure Sentinel in op deze workspace" -ForegroundColor Yellow } elseif ($workspace.AnalyticsRulesCount -eq 0) { Write-Host " Actie: Configureer analytics rules via Azure Portal > Azure Sentinel > Analytics" -ForegroundColor Yellow } elseif ($workspace.ActiveRulesCount -eq 0) { Write-Host " Actie: Activeer bestaande analytics rules via Azure Portal > Azure Sentinel > Analytics" -ForegroundColor Yellow } } } else { Write-Host "Alle gecontroleerde workspaces hebben Azure Sentinel Analytics Rules correct geconfigureerd." -ForegroundColor Green } } catch { Write-Error $_ exit 1 } }

Risico zonder implementatie

Risico zonder implementatie
Critical: Kritiek - Zonder Azure Sentinel Analytics Rules kan een organisatie beveiligingsbedreigingen niet proactief detecteren, wat kan leiden tot onopgemerkte aanvallen, datalekken en niet-naleving van BIO, NIS2 en AVG-vereisten.

Management Samenvatting

Configureer Azure Sentinel Analytics Rules door ingebouwde rules in te schakelen en aangepaste rules te ontwikkelen op basis van organisatie-specifieke behoeften. Essentieel voor bedreigingsdetectie en compliance. Implementatie: 40 uur.