Waarschuwing: Verwijdering Beveiligingsoplossing

💼 Management Samenvatting

Een Azure-omgeving die afhankelijk is van Microsoft Defender for Cloud, Microsoft Sentinel of gespecialiseerde Log Analytics-oplossingen, staat of valt met de beschikbaarheid van die beveiligingslagen. Zodra een kwaadwillende beheerder, een verkeerd geconfigureerd automatiseringsscript of een ondoordachte opruimactie een beveiligingsoplossing verwijdert, verdwijnt het zicht op dreigingen onmiddellijk en blijven aanvallen onopgemerkt. Daarom moet voor ieder abonnement een Activity Log-waarschuwing actief zijn die direct meldt wanneer een security resource wordt verwijderd, zodat Nederlandse overheidsorganisaties hun detectieketen kunnen herstellen voordat de schade oploopt.

Aanbeveling
IMPLEMENTEER WAARSCHUWINGEN VOOR VERWIJDERING BEVEILIGINGSOPLOSSINGEN
Risico zonder
Critical
Risk Score
9/10
Implementatie
0.5u (tech: 0.5u)
Van toepassing op:
Azure

Beveiligingsoplossingen zijn niet zomaar ondersteunende opties, maar de zenuwbanen van het detectie- en responssysteem van de organisatie. Zodra Defender for SQL, Defender for Storage, een Microsoft Sentinel-workspace of een gespecialiseerde Log Analytics-oplossing verdwijnt, wordt logging afgekapt, gaan correlatieregels verloren en kan geen enkele SOC-analist nog onderbouwde forensische conclusies trekken. In het Nederlandse publieke domein, waar de BIO en het rijksbrede stelsel van basisbeveiliging leidend zijn, leidt het uitvallen van deze controles direct tot het niet naleven van wettelijke verplichtingen en tot reputatieschade tegenover burgers en toezichthouders. Een waarschuwing die deleties onmiddellijk signaleert, maakt het mogelijk om in te grijpen voordat kritieke opsporingsinformatie verloren gaat.

PowerShell Modules Vereist
Primary API: Azure API
Connection: Connect-AzAccount
Required Modules: Az.Monitor

Implementatie

De maatregel bestaat uit één centrale Activity Log-waarschuwingsregel die elke aanroep van 'Microsoft.Security/solutions/delete' en verwante bewerkingen voor Sentinel, Defender of Log Analytics detecteert. Zodra de gebeurtenis plaatsvindt, stuurt Azure Monitor een melding naar een vooraf vastgestelde Actiegroep met meerdere kanalen zoals e-mail, SMS, Teams-webhooks en optioneel een automatiseringsrunbook dat direct herstel start. Omdat Activity Log-waarschuwingen kosteloos zijn, kan ieder abonnement deze controle implementeren, inclusief test- en ontwikkelomgevingen. De configuratie wordt vastgelegd in het change management register van de organisatie, zodat aantoonbaar is dat aan CIS Azure Benchmark 5.2.7 en BIO 12.04 wordt voldaan.

Vereisten

Implementatie

Gebruik PowerShell-script alert-security-solution-delete.ps1 (functie Invoke-Implementation) – Implementeren.

Compliance en Auditing

Monitoring

Gebruik PowerShell-script alert-security-solution-delete.ps1 (functie Invoke-Monitoring) – Controleren.

Remediatie

Gebruik PowerShell-script alert-security-solution-delete.ps1 (functie Invoke-Remediation) – Herstellen.

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 Alert Security Solution Delete .DESCRIPTION CIS Azure Foundations Benchmark - Control 5.10 Controleert alert voor security solution delete events. .NOTES Filename: alert-security-solution-delete.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 5.10 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Monitor [CmdletBinding()] param([Parameter()][switch]$Monitoring) $ErrorActionPreference = 'Stop' $PolicyName = "Alert Security Solution Delete" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } function Test-Compliance { $alerts = Get-AzActivityLogAlert -ErrorAction SilentlyContinue $result = @{ TotalAlerts = $alerts.Count; SecurityDeleteAlerts = 0 } foreach ($alert in $alerts) { $securityCondition = $alert.Condition.AllOf | Where-Object { $_.Field -eq 'resourceType' -and ($_.Equals -like '*Microsoft.Security*' -or $_.Equals -like '*Microsoft.OperationsManagement/solutions*') } $deleteCondition = $alert.Condition.AllOf | Where-Object { $_.Field -eq 'operationName' -and $_.Equals -like '*delete*' } if ($securityCondition -and $deleteCondition) { $result.SecurityDeleteAlerts++ } } return $result } try { Connect-RequiredServices if ($Monitoring) { $r = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Total Activity Log Alerts: $($r.TotalAlerts)" -ForegroundColor White Write-Host "Security Delete Alerts: $($r.SecurityDeleteAlerts)" -ForegroundColor $(if ($r.SecurityDeleteAlerts -gt 0) { 'Green' } else { 'Yellow' }) if ($r.SecurityDeleteAlerts -eq 0) { Write-Host "`n⚠️ Configureer alert voor security solution verwijderingen" -ForegroundColor Yellow } } else { $r = Test-Compliance Write-Host "`nSecurity Delete Alerts: $($r.SecurityDeleteAlerts) configured" } } catch { Write-Error $_; exit 1 } # ================================================================================ # Standaard Invoke-* Functions (Auto-generated) # ================================================================================ function Invoke-Implementation { <# .SYNOPSIS Implementeert de configuratie #> [CmdletBinding()] param() Invoke-Remediation } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() $Monitoring = $true try { Connect-RequiredServices if ($Monitoring) { $r = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Total Activity Log Alerts: $($r.TotalAlerts)" -ForegroundColor White Write-Host "Security Delete Alerts: $($r.SecurityDeleteAlerts)" -ForegroundColor $(if ($r.SecurityDeleteAlerts -gt 0) { 'Green' } else { 'Yellow' }) if ($r.SecurityDeleteAlerts -eq 0) { Write-Host "`n⚠️ Configureer alert voor security solution verwijderingen" -ForegroundColor Yellow } } else { $r = Test-Compliance Write-Host "`nSecurity Delete Alerts: $($r.SecurityDeleteAlerts) configured" } } catch { Write-Error $_; exit 1 } } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat .DESCRIPTION Dit is een monitoring-only control, remediation delegeert naar monitoring #> [CmdletBinding()] param() Write-Host "[INFO] Dit is een monitoring-only control" -ForegroundColor Yellow Write-Host "[INFO] Running monitoring check..." -ForegroundColor Cyan Invoke-Monitoring }

Risico zonder implementatie

Risico zonder implementatie
Critical: Verwijdering van beveiligingsoplossingen blijft onopgemerkt (Defender uitgeschakeld, Sentinel verwijderd). Beveiligingsblindheid. Compliance: CIS 5.2.7, BIO 12.04. Het risico is KRITIEK - verwijdering van beveiligingscontroles.

Management Samenvatting

Waarschuwing Verwijdering Beveiligingsoplossing: Monitor verwijdering van beveiligingsoplossingen (Defender-plannen uitgeschakeld, Sentinel-workspace verwijderd). Directe waarschuwing. Activatie: Monitor → Activity Log-waarschuwing → Verwijdering beveiligingsoplossing. Gratis. Verplicht CIS 5.2.7, BIO 12.04. Implementatie: 30 minuten. KRITIEKE monitoring van beveiligingsbescherming.