Deze security control waarborgt de correcte configuratie en beschermt tegen beveiligingsrisico's.
Aanbeveling
IMPLEMENTEER MFA VOOR VM ACCESS
Risico zonder
Critical
Risk Score
9/10
Implementatie
3u (tech: 2u)
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
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
JIT of Bastion
monitoring
Gebruik PowerShell-script vm-mfa-privileged-access.ps1 (functie Invoke-Monitoring) β Controleren.
Check MFA enforcement voor VM access.
Compliance en Auditing
BIO 09.04
ISO 27001:2022 A.5.17
Remediatie
Gebruik PowerShell-script vm-mfa-privileged-access.ps1 (functie Invoke-Remediation) β Herstellen.
Compliance & Frameworks
BIO: 09.04 - Authentication
ISO 27001:2022: A.5.17 - Authentication
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 MFA Privileged Access
.DESCRIPTION
CIS Azure Foundations Benchmark - Control 7.8
Controleert of MFA verplicht is voor privileged access naar VMs.
.NOTES
Filename: vm-mfa-privileged-access.ps1
Author: Nederlandse Baseline voor Veilige Cloud
Version: 1.0
CIS Control: 7.8#>#Requires -Version 5.1#Requires -Modules Az.Accounts
[CmdletBinding()]
param([Parameter()][switch]$Monitoring)
$ErrorActionPreference = 'Stop'
$PolicyName = "VM MFA Privileged Access"
function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } }
try {
Connect-RequiredServices
if ($Monitoring) {
Write-Host "`n========================================" -ForegroundColor Cyan
Write-Host "$PolicyName" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "β οΈ Manual verification required" -ForegroundColor Yellow
Write-Host "Controleer Conditional Access policies voor:" -ForegroundColor Gray
Write-Host " - Azure Bastion toegang" -ForegroundColor Gray
Write-Host " - RDP/SSH connecties" -ForegroundColor Gray
Write-Host " - Privileged access vereist MFA" -ForegroundColor Gray
}
else {
Write-Host "`nβ οΈ Manual verification: VM MFA voor privileged access" -ForegroundColor Yellow
}
}
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 = $truetry {
Connect-RequiredServices
if ($Monitoring) {
Write-Host "`n========================================" -ForegroundColor Cyan
Write-Host "$PolicyName" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan
Write-Host "β οΈ Manual verification required" -ForegroundColor Yellow
Write-Host "Controleer Conditional Access policies voor:" -ForegroundColor Gray
Write-Host " - Azure Bastion toegang" -ForegroundColor Gray
Write-Host " - RDP/SSH connecties" -ForegroundColor Gray
Write-Host " - Privileged access vereist MFA" -ForegroundColor Gray
}
else {
Write-Host "`nβ οΈ Manual verification: VM MFA voor privileged access" -ForegroundColor Yellow
}
}
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: Admin access zonder MFA = compromised password = volledige VM takeover. Lateral movement naar andere VMs, domain compromise. Compliance: CIS 7.1, BIO 9.04, NIS2. Het risico is KRITIEK - admin access.
Management Samenvatting
VM MFA Privileged Access: Enforce MFA voor ALL VM admin access via Conditional Access (targets RDP/SSH sessions). Phishing-resistant FIDO2 preferred. Activatie: CA β VM admin access β Require MFA. Gratis (MFA included). Verplicht CIS 7.1, BIO 9.04, NIS2. Implementatie: 2-3 uur. CRITICAL admin protection.