VM MFA Privileged Access

πŸ’Ό Management Samenvatting

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

  1. BIO 09.04
  2. ISO 27001:2022 A.5.17

Remediatie

Gebruik PowerShell-script vm-mfa-privileged-access.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 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 = $true 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 } } 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.