VM Endpoint Bescherming

💼 Management Samenvatting

Deze security control waarborgt de correcte configuratie en beschermt tegen beveiligingsrisico's.

Aanbeveling
IMPLEMENTEER - ZIE endpoint-protection-on
Risico zonder
Critical
Risk Score
10/10
Implementatie
1.5u (tech: 1u)
Van toepassing op:
Azure VMs

Deze instelling is essentieel voor het handhaven van een veilige omgeving en voorkomt bekende aanvalsvectoren door het afdwingen van security best practices.

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

Implementatie

Dit control past de benodigde beveiligingsinstellingen toe via Microsoft Intune of Azure Policy om systemen te beschermen volgens actuele security frameworks zoals CIS Benchmarks, BIO en ISO 27001.

Vereisten

Defender voor Servers

monitoring

Gebruik PowerShell-script vm-endpoint-protection-installed.ps1 (functie Invoke-Monitoring) – Controleren.

See endpoint-bescherming-on control.

Compliance en Auditing

  1. CIS 2.1.16
  2. BIO 12.02
  3. ISO 27001:2022 A.8.7

Remediatie

Gebruik PowerShell-script vm-endpoint-protection-installed.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 VM Endpoint Protection Installed .DESCRIPTION CIS Azure Foundations Benchmark - Control 7.5 Controleert of endpoint protection is geïnstalleerd op VMs. .NOTES Filename: vm-endpoint-protection-installed.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 7.5 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Compute [CmdletBinding()] param([Parameter()][switch]$Monitoring) $ErrorActionPreference = 'Stop' $PolicyName = "VM Endpoint Protection Installed" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } function Test-Compliance { $vms = Get-AzVM -ErrorAction SilentlyContinue $result = @{ TotalVMs = $vms.Count; WithEndpointProtection = 0 } foreach ($vm in $vms) { $extensions = Get-AzVMExtension -ResourceGroupName $vm.ResourceGroupName -VMName $vm.Name -ErrorAction SilentlyContinue $hasEP = $extensions | Where-Object { $_.Publisher -like "*Endpoint*" -or $_.Publisher -like "*Antimalware*" -or $_.ExtensionType -like "*Antimalware*" -or $_.Publisher -eq "Microsoft.Azure.Security.Monitoring" -or $_.Publisher -eq "Microsoft.EnterpriseCloud.Monitoring" } if ($hasEP) { $result.WithEndpointProtection++ } } 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 VMs: $($r.TotalVMs)" -ForegroundColor White Write-Host "With Endpoint Protection: $($r.WithEndpointProtection)" -ForegroundColor $(if ($r.WithEndpointProtection -eq $r.TotalVMs) { 'Green' } else { 'Yellow' }) } else { $r = Test-Compliance Write-Host "`nEndpoint Protection: $($r.WithEndpointProtection)/$($r.TotalVMs) VMs" } } 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 VMs: $($r.TotalVMs)" -ForegroundColor White Write-Host "With Endpoint Protection: $($r.WithEndpointProtection)" -ForegroundColor $(if ($r.WithEndpointProtection -eq $r.TotalVMs) { 'Green' } else { 'Yellow' }) } else { $r = Test-Compliance Write-Host "`nEndpoint Protection: $($r.WithEndpointProtection)/$($r.TotalVMs) VMs" } } 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: VMs zonder antimalware = ransomware infections, malware spread. Compliance: CIS 2.1.16, BIO 14.02. Het risico is KRITIEK.

Management Samenvatting

Alternatieve verificatie voor VM Endpoint Protection. Zie microsoft-defender/endpoint-protection-on voor volledige implementatie (Microsoft Defender for Endpoint). Verplicht CIS 2.1.16.