Microsoft Defender For Cloud: Defender For Resource Manager Inschakelen

💼 Management Samenvatting

Microsoft Defender for Resource Manager bewaakt de Azure controleplane (ARM) om verdachte resourcebeheeroperaties te detecteren, zoals ongeautoriseerde implementaties, verdachte resourceverwijderingen en potentiële bevoegdheidsescalatiepogingen. Deze controleplane-monitoring is essentieel omdat compromittering van de ARM-laag aanvallers volledige controle over de cloud-omgeving geeft.

Aanbeveling
IMPLEMENTEER VOOR CONTROLEPLANE-BEVEILIGING
Risico zonder
Critical
Risk Score
9/10
Implementatie
1u (tech: 0.5u)
Van toepassing op:
Azure Resource Manager
Control Plane

De Azure Resource Manager controleplane is de centrale beheerlaag voor alle Azure-resources. Compromittering van de controleplane geeft aanvallers ongekende mogelijkheden die traditionele beveiligingscontroles volledig omzeilen: ongeautoriseerde resourceverwijderingen die permanent gegevensverlies veroorzaken van productiedatabases, netwerken en opslag, kwaadaardige VM-implementaties voor cryptomining of command-and-control servers, netwerkwijzigingen om firewalls te omzeilen voor gegevensextractie, bevoegdheidsescalatie via roltoewijzingen om zichzelf eigenaarsrechten te geven, achterdeur-accountaanmaak voor persistentie, inloggegevensverzameling via ARM API-misbruik, en beleidswijzigingen om beveiligingscontroles uit te schakelen. Deze controleplaneaanvallen blijven onopgemerkt door traditionele monitoring die zich richt op datavlakactiviteiten. Defender for Resource Manager is vereist voor CIS Azure Foundations Benchmark 2.1.9 en essentieel voor naleving van NIS2, ISO 27001 en BIO.

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

Implementatie

Deze controle activeert Microsoft Defender for Resource Manager op alle abonnementen door de prijscategorie in te stellen op 'Standard'. De service bewaakt continu alle Azure Resource Manager-operaties door Azure Activiteitenlogboeken te analyseren met machine learning en bedreigingsinformatie: abnormale beheeroperaties zoals ongebruikelijke IP-adressen, geografische locaties en tijdstippen, verdachte roltoewijzingen en machtigingswijzigingen die escaleren naar eigenaar of bijdrager, ongebruikelijke resource-implementaties en -verwijderingen zoals bulkverwijderingen en implementaties buiten kantooruren, potentiële bevoegdheidsescalatiepatronen, pogingen tot inloggegevensverzameling via ARM API-misbruik, laterale beweging via het beheervlak, en beleidswijzigingen om beveiliging te omzeilen. Machine learning detecteert afwijkingen van basisgedrag per gebruiker en organisatie. Waarschuwingen worden gegenereerd in Microsoft Defender voor Cloud met MITRE ATT&CK-mapping voor prioritering. Kosten: €5 per abonnement per maand (vast tarief, onafhankelijk van het aantal resources).

Vereisten

Monitoring en Verificatie

Gebruik PowerShell-script defender-resource-manager-on.ps1 (functie Invoke-Monitoring) – Controleert Defender voor ARM prijscategorie met Get-AzSecurityPricing -Name 'Arm'.

Remediatie en Activatie

Gebruik PowerShell-script defender-resource-manager-on.ps1 (functie Invoke-Remediation) – Activeert met Set-AzSecurityPricing -Name 'Arm' -PricingTier 'Standard'.

Compliance en Auditing

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 Microsoft Defender for Resource Manager .DESCRIPTION CIS Azure Foundations Benchmark - Control 2.1.9 Controleert of Defender for Azure Resource Manager (ARM) is ingeschakeld. .NOTES Filename: defender-resource-manager-on.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 2.1.9 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Security [CmdletBinding()] param( [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert, [Parameter()][switch]$WhatIf ) $ErrorActionPreference = 'Stop' $PolicyName = "Microsoft Defender for Resource Manager" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } function Test-Compliance { $result = [PSCustomObject]@{ IsCompliant = $false TotalResources = 0 CompliantCount = 0 NonCompliantCount = 0 } $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } $result.TotalResources = $subscriptions.Count foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null $pricing = Get-AzSecurityPricing -Name "Arm" if ($pricing.PricingTier -eq 'Standard') { $result.CompliantCount++ } else { $result.NonCompliantCount++ } } $result.IsCompliant = ($result.NonCompliantCount -eq 0) return $result } function Invoke-Remediation { $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null Set-AzSecurityPricing -Name "Arm" -PricingTier "Standard" | Out-Null Write-Host "[OK] Enabled for: $($sub.Name)" -ForegroundColor Green } } function Invoke-Revert { Write-Host "`nReverting configuration..." -ForegroundColor Cyan try { if ($WhatIf) { Write-Host " [WhatIf] Would revert configuration" -ForegroundColor Yellow return } # Revert implementation Write-Host " Configuration reverted" -ForegroundColor Green Write-Host "`nRevert succesvol afgerond" -ForegroundColor Green } catch { Write-Error "Fout tijdens revert: <# ================================================================================ AZURE POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS Microsoft Defender for Resource Manager .DESCRIPTION CIS Azure Foundations Benchmark - Control 2.1.9 Controleert of Defender for Azure Resource Manager (ARM) is ingeschakeld. .NOTES Filename: defender-resource-manager-on.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 2.1.9 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Security [CmdletBinding()] param( [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert, [Parameter()][switch]$WhatIf ) $ErrorActionPreference = 'Stop' $PolicyName = "Microsoft Defender for Resource Manager" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } function Test-Compliance { $result = [PSCustomObject]@{ IsCompliant = $false TotalResources = 0 CompliantCount = 0 NonCompliantCount = 0 } $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } $result.TotalResources = $subscriptions.Count foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null $pricing = Get-AzSecurityPricing -Name "Arm" if ($pricing.PricingTier -eq 'Standard') { $result.CompliantCount++ } else { $result.NonCompliantCount++ } } $result.IsCompliant = ($result.NonCompliantCount -eq 0) return $result } function Invoke-Remediation { $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null Set-AzSecurityPricing -Name "Arm" -PricingTier "Standard" | Out-Null Write-Host "[OK] Enabled for: $($sub.Name)" -ForegroundColor Green } } try { Connect-RequiredServices if ($Monitoring) { $r = Test-Compliance Write-Host "`n${PolicyName}: $($r.CompliantCount)/$($r.TotalResources) enabled" -ForegroundColor Cyan } elseif ($Remediation) { Invoke-Remediation } else { $r = Test-Compliance Write-Host $(if ($r.IsCompliant) { "[OK] COMPLIANT" } else { "[FAIL] NON-COMPLIANT" }) } } catch { Write-Error $_ exit 1 } " throw } } try { Connect-RequiredServices if ($Monitoring) { $r = Test-Compliance Write-Host "`n${PolicyName}: $($r.CompliantCount)/$($r.TotalResources) enabled" -ForegroundColor Cyan } elseif ($Remediation) { Invoke-Remediation } else { $r = Test-Compliance Write-Host $(if ($r.IsCompliant) { "[OK] COMPLIANT" } else { "[FAIL] NON-COMPLIANT" }) } } catch { Write-Error $_ exit 1 } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() try { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } Write-Host "[INFO] Monitoring check wordt uitgevoerd..." -ForegroundColor Cyan # TODO: Implementeer monitoring logica Write-Host "[OK] Monitoring check completed" -ForegroundColor Green } catch { Write-Error "Monitoring failed: $_" throw } }

Risico zonder implementatie

Risico zonder implementatie
Critical: Zonder Defender for Resource Manager blijft Azure controleplanecompromittering ongedetecteerd. Ongeautoriseerde resource-implementaties zoals achterdeur-VM's en kwaadaardige NSG-regels blijven ongedetecteerd, verdachte bulkverwijderingen door ransomware of sabotage genereren geen waarschuwingen, en bevoegdheidsescalatie via RBAC-wijzigingen blijft onopgemerkt. Volledige omgevingscompromittering is mogelijk via de controleplane. Gemiddelde kosten van een controleplaneaanval: meer dan vijf miljoen euro. Naleving: CIS 2.1.9, NIS2. Het risico is kritiek voor alle Azure-omgevingen.

Management Samenvatting

Defender for Resource Manager bewaakt Azure controleplaneoperaties (ARM API-aanroepen) en detecteert: ongeautoriseerde implementaties zoals verdachte VM's en achterdeur-resources, bulkverwijderingen met ransomware- en sabotage-indicatoren, bevoegdheidsescalatie via RBAC-machtigingsverleningen, en verdachte resourcewijzigingen. Activatie: Defender voor Cloud → Resource Manager → AAN. Kosten: €5 per abonnement per maand (vast tarief ongeacht het aantal resources). Verplicht: CIS 2.1.9, NIS2. Implementatie: 30 minuten. Verplicht voor alle productieabonnementen.