Azure Sentinel Ingeschakeld: Centrale SIEM-oplossing Voor Beveiligingsmonitoring

💼 Management Samenvatting

Azure Sentinel vormt de centrale Security Information and Event Management (SIEM) en Security Orchestration, Automation and Response (SOAR) oplossing binnen Microsoft Azure omgevingen. Zonder een geïntegreerde SIEM-oplossing zoals Azure Sentinel beschikken organisaties niet over de benodigde capaciteiten om beveiligingsgebeurtenissen uit verschillende bronnen te verzamelen, te correleren, te analyseren en geautomatiseerd te reageren op bedreigingen die de beveiliging, beschikbaarheid en integriteit van cloudinfrastructuur kunnen schaden.

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

Azure Sentinel is niet alleen een technische tool, maar een kritieke beveiligingscontrole die organisaties in staat stelt om volledige zichtbaarheid te verkrijgen over alle beveiligingsgebeurtenissen die plaatsvinden binnen hun Azure-omgeving, Microsoft 365-omgeving, on-premises infrastructuur en externe cloudservices. Zonder een centrale SIEM-oplossing zoals Azure Sentinel beschikken organisaties niet over de benodigde capaciteiten om beveiligingsincidenten tijdig te detecteren, te onderzoeken en te reageren op bedreigingen die de beveiliging, beschikbaarheid en integriteit van informatie kunnen schaden. Deze zichtbaarheid is essentieel voor het uitvoeren van proactieve beveiligingsmonitoring, waarbij security analisten moeten kunnen identificeren wanneer verdachte activiteiten plaatsvinden, welke bedreigingen actief zijn en welke acties moeten worden ondernomen om verdere schade te voorkomen. Zonder een geïntegreerde SIEM-oplossing is het onmogelijk om correlaties te leggen tussen gebeurtenissen uit verschillende bronnen, waardoor complexe aanvallen die meerdere systemen omvatten onopgemerkt blijven. Daarnaast is Azure Sentinel 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 beveiligingsincidenten te detecteren, te onderzoeken en te reageren, en dat zij beschikken over geautomatiseerde systemen voor beveiligingsmonitoring. Het ontbreken van adequate SIEM-capaciteiten kan leiden tot niet-naleving van deze vereisten, wat kan resulteren in boetes, reputatieschade en juridische aansprakelijkheid. Voor organisaties in de publieke sector is Azure Sentinel 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 informatie te waarborgen.

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

Implementatie

Azure Sentinel biedt organisaties een cloud-native SIEM-oplossing die beveiligingsgebeurtenissen verzamelt uit verschillende bronnen, waaronder Azure Activity Logs, Azure Resource Logs, Microsoft 365 audit logs, Microsoft Defender for Cloud alerts, on-premises systemen via agents en externe cloudservices via API-connectors. Deze geïntegreerde aanpak zorgt ervoor dat alle relevante beveiligingsgebeurtenissen worden vastgelegd in een centrale Log Analytics-workspace, waardoor security analisten en incident response teams een compleet beeld krijgen van alle beveiligingsactiviteiten binnen de organisatie. Azure Sentinel biedt geavanceerde analytics-capaciteiten die gebruikmaken van machine learning en kunstmatige intelligentie om verdachte activiteiten te detecteren, bedreigingen te identificeren en automatische responsacties uit te voeren. Het systeem bevat ingebouwde detectieregels die zijn gebaseerd op Microsoft's threat intelligence en best practices, en biedt de mogelijkheid om aangepaste detectieregels te ontwikkelen die zijn afgestemd op de specifieke behoeften van de organisatie. Daarnaast biedt Azure Sentinel uitgebreide SOAR-capaciteiten via playbooks die geautomatiseerde responsacties kunnen uitvoeren wanneer beveiligingsincidenten worden gedetecteerd, zoals het automatisch isoleren van gecompromitteerde systemen, het blokkeren van verdachte IP-adressen of het verzenden van notificaties naar security teams. Door al deze capaciteiten te combineren in één geïntegreerde oplossing kunnen organisaties hun Mean Time To Detect (MTTD) en Mean Time To Respond (MTTR) aanzienlijk verminderen, wat essentieel is voor het effectief beheren van beveiligingsrisico's en het voldoen aan compliance-vereisten.

Vereisten

Voor het inschakelen en effectief gebruiken van Azure Sentinel zijn specifieke licentievereisten, beheerdersbevoegdheden en technische configuraties noodzakelijk. Deze vereisten vormen de fundamentele basis voor een succesvolle implementatie van Azure Sentinel 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 zichtbaarheid in hun cloudomgeving en niet kunnen voldoen aan wettelijke verplichtingen zoals vastgelegd in de BIO, NIS2 richtlijn en de AVG.

De primaire licentievereiste voor Azure Sentinel is een Log Analytics-workspace met de juiste capaciteit en retentie-instellingen. Azure Sentinel wordt ingeschakeld op een bestaande Log Analytics-workspace en gebruikt deze workspace als centrale opslagplaats voor alle beveiligingsgebeurtenissen. 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. De kosten voor Azure Sentinel zijn gebaseerd op de hoeveelheid data die wordt ingezameld en opgeslagen in de Log Analytics-workspace, waarbij organisaties betalen per gigabyte aan ingezamelde data. Voor organisaties met grote hoeveelheden beveiligingsgebeurtenissen kunnen de kosten aanzienlijk zijn, maar deze investering is essentieel voor effectieve beveiligingsmonitoring en compliance.

Naast licentievereisten is een specifieke beheerdersrol vereist om Azure Sentinel te kunnen inschakelen, configureren en beheren. De Security Administrator of Azure Sentinel Contributor rol is de primaire rol die nodig is voor het beheren van Azure Sentinel functionaliteit. Deze rol kan worden toegewezen via het Azure Portal of via Azure PowerShell met behulp van de Az.SecurityInsights module. De Security Administrator beschikt over de benodigde rechten om Azure Sentinel in te schakelen, data connectors te configureren, detectieregels te maken en te beheren, playbooks te ontwikkelen en incidenten te onderzoeken. Het is belangrijk te realiseren dat deze rol gevoelige bevoegdheden bevat, omdat Azure Sentinel toegang heeft tot alle beveiligingsgebeurtenissen binnen de organisatie. Daarom moet de rol alleen worden toegewezen aan vertrouwde beheerders die een security clearance hebben en die zijn getraind in het omgaan met gevoelige informatie. 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 Azure Sentinel functionaliteit.

Voor organisaties die Azure Sentinel willen integreren met Microsoft 365 services, on-premises systemen of externe cloudservices, zijn aanvullende configuraties en machtigingen vereist. De integratie met Microsoft 365 vereist dat de organisatie beschikt over de juiste Microsoft 365 licenties en dat de Azure Sentinel data connectors zijn geconfigureerd met de benodigde machtigingen om data te verzamelen uit Microsoft 365 services zoals Exchange Online, SharePoint Online, Microsoft Teams en Azure Active Directory. Voor on-premises systemen moeten Azure Sentinel agents worden geïnstalleerd op de betreffende systemen, en deze agents moeten kunnen communiceren met de Log Analytics-workspace via internet of via een ExpressRoute-verbinding. Voor externe cloudservices moeten API-connectors worden geconfigureerd met de benodigde authenticatiegegevens en machtigingen om data te verzamelen uit deze services. Deze integraties maken het mogelijk om beveiligingsgebeurtenissen uit verschillende bronnen te verzamelen en te correleren, wat essentieel is voor effectieve beveiligingsmonitoring en threat detection.

Technische vereisten omvatten ook de beschikbaarheid van PowerShell-modules en de juiste netwerkconnectiviteit. Beheerders die Azure Sentinel 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 Azure Sentinel, zoals New-AzSentinel voor het inschakelen van Azure Sentinel, Get-AzSentinelDataConnector voor het beheren van data connectors, en New-AzSentinelAlertRule voor het maken van detectieregels. 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 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 SIEM-capaciteiten 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 Azure Sentinel voor beveiligingsmonitoring en compliance-doeleinden.

Implementatie

De implementatie van Azure Sentinel vereist een gestructureerde aanpak die begint met de voorbereiding van de Log Analytics-workspace, gevolgd door het inschakelen van Azure Sentinel, het configureren van data connectors, het implementeren van detectieregels en het ontwikkelen van playbooks voor geautomatiseerde respons. Hoewel Azure Sentinel relatief eenvoudig kan worden ingeschakeld, is het essentieel om een doordachte implementatiestrategie te volgen die ervoor zorgt dat alle benodigde componenten correct zijn geconfigureerd en dat de organisatie optimaal profiteert van de beschikbare functionaliteiten.

De eerste stap in het implementatieproces is het voorbereiden van de Log Analytics-workspace die zal dienen als basis voor Azure Sentinel. Deze 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. De workspace moet zich bevinden in een Azure-regio die voldoet aan data residency-vereisten, en moet zijn geconfigureerd met de juiste beveiligingsinstellingen zoals private endpoints, customer-managed keys en netwerkisolatie indien vereist. Na het voorbereiden van de workspace kan Azure Sentinel worden ingeschakeld via het Azure Portal door te navigeren naar Azure Sentinel en de workspace te selecteren waarop Azure Sentinel moet worden ingeschakeld.

Na het inschakelen van Azure Sentinel is het essentieel om data connectors te configureren die beveiligingsgebeurtenissen verzamelen uit verschillende bronnen. Azure Sentinel biedt ingebouwde data connectors voor Microsoft 365 services zoals Exchange Online, SharePoint Online, Microsoft Teams en Azure Active Directory, voor Azure services zoals Azure Activity Logs en Azure Resource Logs, en voor Microsoft Defender for Cloud alerts. Deze connectors kunnen worden geconfigureerd via het Azure Portal door te navigeren naar Azure Sentinel, Data connectors te selecteren en de gewenste connectors in te schakelen. Voor Microsoft 365 connectors is het nodig om de juiste machtigingen te verlenen aan Azure Sentinel om data te verzamelen uit deze services, wat meestal wordt gedaan via een service principal of managed identity. Voor Azure services moeten diagnostic settings worden geconfigureerd om logs te exporteren naar de Log Analytics-workspace waarop Azure Sentinel is ingeschakeld.

Gebruik PowerShell-script azure-sentinel-enabled.ps1 (functie Invoke-Implementation) – Implementeren en controleren van Azure Sentinel configuratie en data connectors.

Het PowerShell-script azure-sentinel-enabled.ps1 ondersteunt deze implementatie door te controleren of Azure Sentinel is ingeschakeld op de Log Analytics-workspace, of data connectors zijn geconfigureerd en actief zijn, en of detectieregels 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 de benodigde data connectors zijn ingeschakeld. De uitvoer bevat zowel een totaalscore per tenant als een overzicht per workspace en per connector, waardoor teams gericht acties kunnen uitzetten naar de eigenaar van de betreffende workload. Het script kan herhaaldelijk worden gedraaid nadat nieuwe configuraties zijn toegevoegd om te verifiëren dat de verwachte configuratie inderdaad aanwezig is.

Wanneer de basis staat, verschuift de aandacht naar het implementeren van detectieregels die verdachte activiteiten identificeren en beveiligingsincidenten genereren. Azure Sentinel biedt een uitgebreide set aan ingebouwde detectieregels 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 detectieregels te ontwikkelen die zijn afgestemd op de specifieke behoeften van de organisatie, waarbij gebruik wordt gemaakt van KQL (Kusto Query Language) 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.

De laatste implementatiestap omvat het ontwikkelen van playbooks die geautomatiseerde responsacties uitvoeren wanneer beveiligingsincidenten worden gedetecteerd. Azure Sentinel playbooks zijn gebaseerd op Azure Logic Apps en kunnen complexe workflows implementeren die automatisch acties uitvoeren zoals het isoleren van gecompromitteerde systemen, het blokkeren van verdachte IP-adressen, het verzenden van notificaties naar security teams of het aanmaken van tickets in ITSM-systemen. Deze playbooks kunnen worden ontwikkeld op basis van incident response procedures en kunnen worden getest en gevalideerd voordat zij in productie worden genomen. Door implementatie en automatisering op deze manier te combineren groeit Azure Sentinel uit tot een stabiele pijler onder het security operating model en het incident response-proces.

Compliance en Auditing

Vanuit complianceperspectief vervult Azure Sentinel een centrale rol als technische voorziening om beveiligingsincidenten tijdig te detecteren, te onderzoeken 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 Azure Sentinel gecentraliseerd te beheren en detectieregels te koppelen aan gedocumenteerde incident response procedures, kan eenvoudig worden aangetoond welke gebeurtenissen worden gemonitord, over welke periode, met welke detectieregels en welke responsacties daarop volgen. Tijdens ENSIA-audits en interne controles kunnen Azure Sentinel configuraties, detectieregels, incidenthistorie en responsmetrieken rechtstreeks uit Azure Sentinel worden geëxporteerd als evidence dat proactieve beveiligingsmonitoring volwassen is ingericht.

Ook de AVG en NIS2 stellen impliciete en expliciete eisen aan beveiligingsmonitoring 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 beveiligingsmonitoring 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 detectieregels, incidenthistorie 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 is Azure Sentinel 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 beveiligingsmonitoring 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 detectieregels, 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 beveiligingsmonitoring proportioneel en doelgebonden is ingericht.

Transparantie en dataminimalisatie blijven randvoorwaarden, ook bij beveiligingsmonitoring. Organisaties moeten onderbouwen waarom bepaalde persoonsgegevens – zoals IP-adressen, gebruikersnamen of resource-identifiers – in detectieregels worden gebruikt en hoe lang incidenthistorie 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 beveiligingsmonitoring 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 azure-sentinel-enabled.ps1 (functie Invoke-Monitoring) – Automatiseert de verificatie van Azure Sentinel status en controleert of data connectors actief zijn.

Effectieve monitoring van Azure Sentinel is essentieel om te waarborgen dat de SIEM-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 Azure Sentinel actief is, dat alle relevante data connectors zijn geconfigureerd en actief zijn, en dat er geen problemen zijn met de SIEM-infrastructuur die kunnen leiden tot gaten in de beveiligingszichtbaarheid. Monitoring omvat het continu volgen van de status van Azure Sentinel, het verifiëren dat data connectors actief zijn en data verzamelen, het controleren van de gezondheid van de SIEM-infrastructuur, en het waarborgen dat detectieregels correct functioneren en incidenten genereren wanneer verdachte activiteiten worden gedetecteerd.

De basis van monitoring wordt gevormd door regelmatige verificatie van de status van Azure Sentinel via het Azure Portal of via PowerShell. Beheerders moeten wekelijks controleren of Azure Sentinel is ingeschakeld op de Log Analytics-workspace, of alle benodigde data connectors zijn geconfigureerd en actief zijn, en of er geen waarschuwingen of foutmeldingen zijn die kunnen wijzen op problemen met de SIEM-functionaliteit. Deze verificatie kan worden geautomatiseerd via PowerShell-scripts die de status van Azure Sentinel controleren en waarschuwingen genereren wanneer de functionaliteit is 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 Azure Sentinel of data connectors, wat kan resulteren in gaten in de beveiligingszichtbaarheid en niet-naleving van compliance-vereisten.

Naast het controleren van de status van Azure Sentinel moeten organisaties regelmatig verifiëren dat data connectors daadwerkelijk data verzamelen en dat deze data correct wordt opgeslagen in de Log Analytics-workspace. Dit kan worden gedaan door query's uit te voeren in Azure Sentinel om te controleren of data daadwerkelijk binnenkomt uit verschillende bronnen, of door gebruik te maken van ingebouwde monitoring-dashboards die de status van data connectors weergeven. Als data connectors geen data verzamelen of als bepaalde data bronnen ontbreken, kan dit wijzen op problemen met de connector-configuratie die moeten worden opgelost. Organisaties moeten processen implementeren voor het regelmatig uitvoeren van deze verificaties, waarbij wekelijks wordt gecontroleerd of data connectors actief zijn en data verzamelen, en waarbij waarschuwingen worden gegenereerd wanneer problemen worden gedetecteerd.

Voor organisaties die detectieregels hebben geïmplementeerd, is het essentieel om te monitoren of deze regels correct functioneren en of zij daadwerkelijk incidenten genereren wanneer verdachte activiteiten worden gedetecteerd. Dit omvat het controleren van het aantal gegenereerde incidenten per regel, het analyseren van false positives en het optimaliseren van detectieregels om de kwaliteit van detecties te verbeteren. Problemen met detectieregels 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 detectieregels, waarbij maandelijks wordt gecontroleerd of regels 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. 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 azure-sentinel-enabled.ps1 (functie Invoke-Remediation) – Schakelt Azure Sentinel in wanneer deze is uitgeschakeld en verifieert de configuratie.

Remediatie van Azure Sentinel omvat het inschakelen van de functionaliteit wanneer deze is uitgeschakeld, het corrigeren van configuratiefouten in data connectors, en het waarborgen dat alle relevante beveiligingsgebeurtenissen worden verzameld en gemonitord. Het is belangrijk om te realiseren dat wanneer Azure Sentinel is uitgeschakeld, er geen beveiligingsmonitoring 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 Azure Sentinel, zodat de impact op de beveiligingszichtbaarheid wordt geminimaliseerd.

Wanneer Azure Sentinel is uitgeschakeld, kan dit worden geactiveerd via het Azure Portal door te navigeren naar Azure Sentinel en de Log Analytics-workspace te selecteren waarop Azure Sentinel moet worden ingeschakeld. Na het activeren van de functionaliteit begint Azure Sentinel onmiddellijk met het verzamelen en analyseren van beveiligingsgebeurtenissen, maar het is belangrijk om te realiseren dat beveiligingsgebeurtenissen die hebben plaatsgevonden tijdens de periode waarin de functionaliteit was uitgeschakeld, niet kunnen worden gereconstrueerd. Daarom moeten organisaties processen implementeren voor het snel detecteren wanneer Azure Sentinel is uitgeschakeld, zodat de functionaliteit zo snel mogelijk kan worden geactiveerd en de impact op de beveiligingszichtbaarheid wordt geminimaliseerd.

Na het activeren van Azure Sentinel is het essentieel om te verifiëren dat de functionaliteit correct werkt en dat data connectors actief zijn en data verzamelen. Dit kan worden gedaan door query's uit te voeren in Azure Sentinel om te controleren of data daadwerkelijk binnenkomt uit verschillende bronnen, of door gebruik te maken van ingebouwde monitoring-dashboards die de status van data connectors weergeven. Als data connectors geen data verzamelen of als bepaalde data bronnen ontbreken, kan dit wijzen op problemen met de connector-configuratie die moeten worden opgelost. Organisaties moeten processen implementeren voor het uitvoeren van deze verificaties na het activeren van Azure Sentinel, zodat kan worden bevestigd dat de functionaliteit correct werkt voordat de organisatie weer afhankelijk wordt van Azure Sentinel voor beveiligingsmonitoring en compliance-doeleinden.

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

Daarnaast moeten organisaties processen implementeren voor het onderzoeken van de oorzaak van het uitschakelen van Azure Sentinel, 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 Azure Sentinel, dat configuratiewijzigingen moeten worden gereviewd voordat zij worden doorgevoerd, of dat aanvullende controles moeten worden geïmplementeerd om te voorkomen dat Azure Sentinel onbedoeld wordt uitgeschakeld. Door deze preventieve maatregelen te implementeren kunnen organisaties ervoor zorgen dat Azure Sentinel continu actief blijft 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 configuratie. .DESCRIPTION Dit script controleert of Azure Sentinel is ingeschakeld op een Log Analytics workspace, of data connectors zijn geconfigureerd en actief zijn, en of detectieregels zijn geïmplementeerd. Het script ondersteunt ook het inschakelen van Azure Sentinel wanneer deze is uitgeschakeld. Het script is bedoeld als controle- en implementatietool waarmee cloud- en securityteams snel kunnen zien of Azure Sentinel correct is geconfigureerd en actief is voor beveiligingsmonitoring. .NOTES Filename: azure-sentinel-enabled.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/logging-monitoring/azure-sentinel-enabled.json #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.OperationalInsights [CmdletBinding()] param( [Parameter()] [switch]$Monitoring, [Parameter()] [switch]$Remediation, [Parameter()] [string]$WorkspaceResourceGroupName, [Parameter()] [string]$WorkspaceName ) $ErrorActionPreference = 'Stop' $PolicyName = "Azure Sentinel Enabled - SIEM Configuration and Compliance" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount -ErrorAction Stop | Out-Null } } function Get-AzureSentinelStatus { <# .SYNOPSIS Haalt de status van Azure Sentinel 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 via REST API $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 { $response = Invoke-RestMethod -Uri $sentinelApiUrl -Method Get -Headers $headers -ErrorAction SilentlyContinue $isEnabled = $response.properties.customerManagedKey -ne $null -or $response.name -eq "default" } catch { # Als de API-call faalt, controleren we of Sentinel mogelijk is ingeschakeld via workspace-eigenschappen # Dit is een fallback-methode $isEnabled = $false } # Data connectors en alert rules kunnen niet eenvoudig worden gecontroleerd zonder specifieke API-calls # We markeren deze als 0 voor nu, maar in productie zouden deze via REST API moeten worden gecontroleerd $dataConnectorCount = 0 $alertRuleCount = 0 $results += [PSCustomObject]@{ WorkspaceName = $ws.Name WorkspaceResourceGroup = $ws.ResourceGroupName WorkspaceId = $workspaceId SentinelEnabled = $isEnabled DataConnectorCount = $dataConnectorCount AlertRuleCount = $alertRuleCount NonCompliant = -not $isEnabled -or $dataConnectors.Count -eq 0 Notes = if (-not $isEnabled) { "Azure Sentinel is niet ingeschakeld op deze workspace." } elseif ($dataConnectors.Count -eq 0) { "Azure Sentinel is ingeschakeld maar er zijn geen data connectors geconfigureerd." } else { "Azure Sentinel is correct geconfigureerd." } } } catch { $results += [PSCustomObject]@{ WorkspaceName = $ws.Name WorkspaceResourceGroup = $ws.ResourceGroupName WorkspaceId = $workspaceId SentinelEnabled = $false DataConnectorCount = 0 AlertRuleCount = 0 NonCompliant = $true Notes = "Fout bij het ophalen van Azure Sentinel status: $($_.Exception.Message)" } } } return $results } function Test-Compliance { $data = Get-AzureSentinelStatus $totalWorkspaces = $data.Count $sentinelDisabled = ($data | Where-Object { -not $_.SentinelEnabled }).Count $noDataConnectors = ($data | Where-Object { $_.SentinelEnabled -and $_.DataConnectorCount -eq 0 }).Count $nonCompliant = ($data | Where-Object { $_.NonCompliant -eq $true }).Count return [PSCustomObject]@{ TotalWorkspaces = $totalWorkspaces SentinelDisabled = $sentinelDisabled NoDataConnectors = $noDataConnectors NonCompliantWorkspaces = $nonCompliant Details = $data } } function Enable-AzureSentinel { <# .SYNOPSIS Schakelt Azure Sentinel in op een Log Analytics workspace via REST API. #> param( [Parameter(Mandatory = $true)] [string]$ResourceGroupName, [Parameter(Mandatory = $true)] [string]$WorkspaceName ) try { $workspace = Get-AzOperationalInsightsWorkspace -ResourceGroupName $ResourceGroupName -Name $WorkspaceName -ErrorAction Stop $workspaceId = $workspace.ResourceId $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' } Write-Host "Controleren of Azure Sentinel al is ingeschakeld..." -ForegroundColor Gray $checkUrl = "https://management.azure.com$workspaceId/providers/Microsoft.SecurityInsights/onboardingStates/default?api-version=2021-10-01-preview" try { $existing = Invoke-RestMethod -Uri $checkUrl -Method Get -Headers $headers -ErrorAction SilentlyContinue if ($existing) { Write-Host " [OK] Azure Sentinel is al ingeschakeld op workspace '$WorkspaceName'" -ForegroundColor Green return $true } } catch { # Sentinel is nog niet ingeschakeld, doorgaan met inschakelen } Write-Host "Azure Sentinel inschakelen op workspace '$WorkspaceName'..." -ForegroundColor Gray $body = @{ properties = @{ customerManagedKey = $false } } | ConvertTo-Json -Depth 3 $enableUrl = "https://management.azure.com$workspaceId/providers/Microsoft.SecurityInsights/onboardingStates/default?api-version=2021-10-01-preview" $response = Invoke-RestMethod -Uri $enableUrl -Method Put -Headers $headers -Body $body -ErrorAction Stop if ($response) { Write-Host " [OK] Azure Sentinel succesvol ingeschakeld" -ForegroundColor Green Write-Host "`nBelangrijke volgende stappen:" -ForegroundColor Cyan Write-Host " • Configureer data connectors voor Microsoft 365 en Azure services" -ForegroundColor Gray Write-Host " • Implementeer detectieregels voor bedreigingsdetectie" -ForegroundColor Gray Write-Host " • Ontwikkel playbooks voor geautomatiseerde incident response" -ForegroundColor Gray Write-Host " • Gebruik Azure Portal > Azure Sentinel voor volledige configuratie" -ForegroundColor Gray return $true } else { Write-Host " [FAIL] Kon Azure Sentinel niet inschakelen" -ForegroundColor Red return $false } } catch { Write-Host " [FAIL] Fout bij inschakelen van Azure Sentinel: $_" -ForegroundColor Red Write-Host " [INFO] Azure Sentinel kan ook handmatig worden ingeschakeld via Azure Portal" -ForegroundColor Yellow Write-Host " Navigeer naar Azure Portal > Azure Sentinel > Add" -ForegroundColor Yellow return $false } } 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.NoDataConnectors -gt 0) { Write-Host ("Zonder data connectors : {0}" -f $result.NoDataConnectors) -ForegroundColor Yellow } else { Write-Host ("Zonder data connectors : {0}" -f $result.NoDataConnectors) -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.NoDataConnectors -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-configuratievereisten." -ForegroundColor Yellow Write-Host " Gebruik de details-uitvoer om te bepalen waar Azure Sentinel moet worden ingeschakeld" -ForegroundColor Yellow Write-Host " of waar data connectors moeten worden geconfigureerd." -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 Azure Sentinel inschakelen op workspaces waar dit nog niet is gebeurd." -ForegroundColor Yellow Write-Host "[INFO] Voor het configureren van data connectors en detectieregels zijn aanvullende stappen nodig." -ForegroundColor Yellow foreach ($workspace in $nonCompliant) { if (-not $workspace.SentinelEnabled) { Write-Host "" -ForegroundColor White Write-Host "Azure Sentinel inschakelen op workspace: $($workspace.WorkspaceName)" -ForegroundColor Cyan Enable-AzureSentinel -ResourceGroupName $workspace.WorkspaceResourceGroup -WorkspaceName $workspace.WorkspaceName } else { Write-Host "" -ForegroundColor White Write-Host "Workspace '$($workspace.WorkspaceName)' heeft Azure Sentinel ingeschakeld maar mist data connectors." -ForegroundColor Yellow Write-Host " Configureer data connectors via Azure Portal > Azure Sentinel > Data connectors" -ForegroundColor Gray } } } else { Write-Host "Alle gecontroleerde workspaces hebben Azure Sentinel correct geconfigureerd." -ForegroundColor Green } } else { $result = Test-Compliance Write-Host "" Write-Host ("Azure Sentinel status: {0} workspace(s) gecontroleerd, {1} met Azure Sentinel uitgeschakeld, {2} zonder data connectors." -f ` $result.TotalWorkspaces, $result.SentinelDisabled, $result.NoDataConnectors) } } catch { Write-Error $_ exit 1 } # ================================================================================ # Standaard Invoke-* Functions # ================================================================================ function Invoke-Implementation { <# .SYNOPSIS Voert een implementatie- en configuratiecontrole uit voor Azure Sentinel. .DESCRIPTION Deze functie controleert of Azure Sentinel is ingeschakeld en of data connectors zijn geconfigureerd. Gebruik deze informatie om Azure Sentinel correct te configureren en data connectors 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 data connectors : {0}" -f $result.NoDataConnectors) -ForegroundColor (if ($result.NoDataConnectors -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.NoDataConnectors -gt 0) { Write-Host "" -ForegroundColor White Write-Host "[WAARSCHUWING] Eén of meer workspaces voldoen niet aan de Azure Sentinel-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 data connectors : {0}" -f $result.NoDataConnectors) -ForegroundColor (if ($result.NoDataConnectors -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.NoDataConnectors -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-configuratievereisten." -ForegroundColor Yellow } $result.Details | ConvertTo-Json -Depth 4 } catch { Write-Error $_ exit 1 } } function Invoke-Remediation { <# .SYNOPSIS Ondersteunt remediatie door Azure Sentinel in te schakelen waar nodig. .DESCRIPTION Deze functie schakelt Azure Sentinel in op workspaces waar dit nog niet is gebeurd. Voor het configureren van data connectors en detectieregels 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 Azure Sentinel inschakelen op workspaces waar dit nog niet is gebeurd." -ForegroundColor Yellow Write-Host "[INFO] Voor het configureren van data connectors en detectieregels zijn aanvullende stappen nodig." -ForegroundColor Yellow foreach ($workspace in $nonCompliant) { if (-not $workspace.SentinelEnabled) { Write-Host "" -ForegroundColor White Write-Host "Azure Sentinel inschakelen op workspace: $($workspace.WorkspaceName)" -ForegroundColor Cyan Enable-AzureSentinel -ResourceGroupName $workspace.WorkspaceResourceGroup -WorkspaceName $workspace.WorkspaceName } else { Write-Host "" -ForegroundColor White Write-Host "Workspace '$($workspace.WorkspaceName)' heeft Azure Sentinel ingeschakeld maar mist data connectors." -ForegroundColor Yellow Write-Host " Configureer data connectors via Azure Portal > Azure Sentinel > Data connectors" -ForegroundColor Gray } } } else { Write-Host "Alle gecontroleerde workspaces hebben Azure Sentinel correct geconfigureerd." -ForegroundColor Green } } catch { Write-Error $_ exit 1 } }

Risico zonder implementatie

Risico zonder implementatie
Critical: Kritiek - Zonder Azure Sentinel kan een organisatie beveiligingsincidenten niet tijdig detecteren, onderzoeken en reageren, wat kan leiden tot datalekken, beveiligingsinbreuken en niet-naleving van BIO, NIS2 en AVG-vereisten.

Management Samenvatting

Schakel Azure Sentinel in op een Log Analytics-workspace, configureer data connectors voor Microsoft 365 en Azure services, implementeer detectieregels en ontwikkel playbooks voor geautomatiseerde respons. Essentieel voor beveiligingsmonitoring en compliance. Implementatie: 24 uur.