💼 Management Samenvatting
Azure Virtual Machine security design vormt de ruggengraat van een moderne verdedigingsstrategie doordat elke laag, van identiteiten tot data-opslag, een consistent beschermingsniveau afdwingt. Door versleuteling standaard te activeren, beheerpoorten uitsluitend via Azure Bastion open te stellen, en operationele processen zoals back-up en patchbeheer te automatiseren, ontstaat een omgeving waarin zowel menselijke fouten als geavanceerde aanvallen aanzienlijk minder kans krijgen om een productie- of testlandschap te verstoren.
Virtuele machines in Azure zijn vaak de plek waar mission critical werkbelastingen landen, variërend van applicaties met vertrouwelijke persoonsgegevens tot rekenclusters die beleidsinformatie verwerken. Deze workloads draaien 24/7 en zijn daardoor continu zichtbaar voor dreigingsactoren die geautomatiseerde scanners en brute-force botnets inzetten. Zodra een VM onversleuteld blijft of beheerpoorten via het internet beschikbaar zijn, is de stap naar gegevensdiefstal, privilege escalation of ransomware-injectie klein. Nederlandse overheidsorganisaties hebben bovendien te maken met strikte nalevingseisen uit de BIO en NIS2, waardoor een incident direct kan leiden tot bestuurlijke aansprakelijkheid. Het waarom van deze architectuur is dus tweeledig: enerzijds het drastisch verlagen van het aanvalsoppervlak, anderzijds het aantoonbaar voldoen aan toezichtskaders door middel van controleerbare configuraties en logging.
Implementatie
Het ontwerp combineert technische componenten en organisatorische keuzes tot een coherent geheel. Schijven worden standaard met Azure Disk Encryption of host-based versleuteling beveiligd; sleutelmateriaal wordt opgeslagen in een toegewezen Key Vault met toegangsbeleid dat past bij de vertrouwelijkheid van de gegevens. Netwerktoegang verloopt uitsluitend via privélanen, waarbij Network Security Groups en Application Security Groups het verkeer segmenteren en Just-In-Time toegang vanuit Defender voor Cloud bepaalt wanneer beheerpoorten tijdelijk open mogen. Bastion levert versleutelde RDP- en SSH-sessies zonder publiek IP-adres. Defender voor Servers Plan 2 en de ingebouwde antimalware-extensies zorgen voor detectie en respons op endpointniveau, terwijl Azure Update Manager en guest configuration policies afdwingen dat patches binnen afgesproken tijdslijnen worden uitgerold. Azure Backup en replicatie naar een tweede regio beschermen tegen crypto-extortion en fysieke calamiteiten. Telemetrie uit Monitor, Log Analytics en Defender samengebracht in dashboards en werkboeken zorgt er tenslotte voor dat securityteams afwijkingen snel signaleren en forensisch kunnen reconstrueren. Zo ontstaat een compleet verhaal waarin beleidsdoelen rechtstreeks traceerbaar zijn naar technische instellingen in de tenant.
Vereisten
Een robuuste beveiligingsarchitectuur voor Azure-virtual machines begint met heldere randvoorwaarden die nog vóór de eerste deployment worden vastgelegd. Alle abonnementen waarin VMs draaien moeten gekoppeld zijn aan een centrale Key Vault of Dedicated HSM zodat cryptografische sleutels bedrijfsmatig kunnen worden beheerd, inclusief lifecycle-processen voor rotatie, back-up van sleutelmateriaal en toegangsbeheer via Azure RBAC. Elke schijf, zowel besturingssysteem als datadisk, wordt direct na provisioning versleuteld met Azure Disk Encryption of host-based encryptie, waarbij de keuze tussen platformbeheerste sleutels en door de klant beheerde sleutels expliciet wordt gemaakt op basis van het gegevensclassificatieniveau. Netwerk- en identiteitsvereisten zorgen ervoor dat virtuele machines nimmer direct aan het internet hangen. Subnetten waarin beheerwerkzaamheden plaatsvinden hebben geen uitgaande route naar het publieke netwerk en alle beheerconnectiviteit loopt via Azure Bastion dat in een apart, gemonitord VNet segment is geplaatst. Network Security Groups implementeren minimaal privilege door inkomend verkeer per rol vast te leggen en Application Security Groups koppelen labels aan VMs om rule management beheersbaar te houden bij honderden systemen. Just-In-Time toegang in Defender voor Cloud is verplicht zodat poorten als 22 en 3389 alleen gedurende een vooraf goedgekeurde periode toegankelijk zijn, waarbij MFA en privileged access workstations verplicht worden gesteld voor elke beheerder die een verzoek indient. Aanvullend op netwerk- en identiteitsmaatregelen wordt endpointbescherming standaard ingeschakeld. Defender voor Servers Plan 2 levert EDR, kwetsbaarhedenscans en adaptieve applicatiecontroles; deze functionaliteit is verplicht voor alle productiemachines en voor test- of ontwikkelomgevingen die privacygevoelige datasets bevatten. De Microsoft Antimalware-extensie of een gelijkwaardig product draait naast Defender om baseline malwarebescherming te garanderen, terwijl guest configuration policies afdwingen dat logging, local firewallprofielen en auditinstellingen correct zijn ingesteld. Alle machines worden aan een Update Manager deployment planning gekoppeld zodat wekelijks beveiligingsupdates en maandelijks kwaliteitsupdates worden toegepast. Continuïteit en herstel zijn het laatste vereiste blok. Azure Backup moet per VM zijn geconfigureerd met minimaal dagelijkse snapshots en geografisch redundante opslag wanneer de workload een hoge beschikbaarheidseis heeft. Voor missiekritieke systemen definieert de organisatie daarnaast replicatie naar een tweede regio of een dedicated site recovery plan. Diagnostic logs, performancecounters en SecurityEvent-logs stromen naar Log Analytics workspaces met een retentie van zeven jaar om auditverplichtingen te ondersteunen. Alleen wanneer aan al deze randvoorwaarden is voldaan, krijgt een workload het predicaat ‘gereed voor productie’ en mag deze binnen de Nederlandse Baseline voor Veilige Cloud worden ontsloten. Tot slot omvat het eisenpakket de personele en organisatorische kant. Medewerkers die VMs beheren volgen verplichte trainingen over veilig bastion-gebruik, sleutelbeheer en incidentrespons, terwijl leverancierscontracten opnemen dat externe beheerders dezelfde standaarden naleven. Er bestaat een actueel overzicht van welke workloads persoonsgegevens of staatsgeheime informatie bevatten, zodat aanvullende maatregelen zoals confidential computing of dedicated hosts tijdig kunnen worden ingepland. Aan deze voorwaarden wordt minimaal jaarlijks getoetst tijdens een gezamenlijke review tussen CISO, cloudplatformteam en de operationele eigenaar, waardoor de eisenlijst levend blijft en wordt aangepast aan nieuwe dreigingen en wetgeving.
Implementatie
De implementatie start met het in kaart brengen van alle bestaande virtuele machines via Azure Resource Graph en Inventory zodat duidelijk is welke systemen nog niet aan de ontwerpprincipes voldoen. Vervolgens wordt per abonnement een landing zone ingesteld met beleid in Azure Policy. Deze policies blokkeren het aanmaken van publieke IP-adressen op netwerkinterfaces, dwingen de installatie van de Defender-extensie af, controleren of schijven versleuteld zijn met de juiste key vault, en initiëren een remediering wanneer een VM buiten de back-up scope valt. Door eerst de guardrails neer te zetten, voorkomen we dat engineers onder tijdsdruk shortcuts nemen. Daarna wordt de beheerconnectiviteit heringericht. We implementeren centraal Azure Bastion in ieder regionaal hub-netwerk en configureren role-based access control zodat alleen beheerders met een goedgekeurd change- of incidentticket sessies kunnen starten. Just-In-Time toegang wordt geautomatiseerd via Defender for Cloud waardoor firewallregels en NSG-poorten automatisch openen en sluiten zonder handmatige ingrepen. Voor Linux-machines wordt SSH op basis van Azure AD en tijdelijke certificaten geconfigureerd zodat wachtwoorden volledig uitgeschakeld kunnen worden. De volgende stap richt zich op gegevensbescherming. Alle bestaande OS- en datadisks worden via een rolling plan naar ADE of host-based encryptie gemigreerd, waarbij we rekening houden met onderhoudsvensters en herstelplannen voor kritieke applicaties. Key Vault logging wordt naar een centrale Log Analytics workspace gestuurd zodat iedere sleuteloperatie auditbaar is. Parallel hieraan activeren we Azure Backup met gedefinieerde beleidsprofielen (bijvoorbeeld dagelijkse back-up, 35 dagen retentie, wekelijkse kopieën zes maanden bewaard) en voeren we hersteltests uit om aantoonbaar te maken dat terugzetten binnen de RPO- en RTO-doelstellingen plaatsvindt. Operationele borging sluit de implementatie af. Update Manager wordt geconfigureerd met dynamische groepen, zodat nieuwe VMs automatisch deelnemen aan de juiste patchcyclus. Workbooks in Azure Monitor combineren performance-, back-up-, Defender- en policycompliancegegevens tot één dashboard dat door het SOC en het cloudplatformteam dagelijks wordt geraadpleegd. Voor elke workload documenteren we de verantwoordelijkheden: wie keurt Just-In-Time aanvragen goed, wie monitort mislukte back-ups, en wie start een forensische analyse wanneer Defender een high-severity alert afgeeft. Door techniek en proces onlosmakelijk te koppelen, ontstaat een beheermodel dat schaalbaar is binnen meerdere departementen en uitvoeringsorganisaties. Tot slot wordt de implementatie verankerd in DevSecOps-werkstromen. Infrastructure-as-code repositories bevatten de Bastion-configuraties, NSG-regels en back-uppolicies zodat wijzigingen alleen via pull requests plaatsvinden en automatisch worden getest met statische analyses en policy compliance checks. Release pipelines voeren geautomatiseerde validaties uit, zoals het scannen op openstaande poorten, het controleren van de status van Defender-extensies en het simuleren van herstelacties. Door een combinatie van technische controles, processtappen en continue rapportages ontstaat een duurzaam werkmodel waarin verbeteringen cyclisch worden doorgevoerd in plaats van ad hoc na een auditbevinding.
Compliance en Auditing
Het ontwerp adresseert meerdere verplichtingen uit de Baseline Informatiebeveiliging Overheid. BIO 10.01 verlangt dat vertrouwelijke gegevens bij opslag cryptografisch worden beschermd, inclusief de sleutellogging en controle op sleuteluitgifte; door Azure Disk Encryption te combineren met customer managed keys en logging in een zevenjarige retentie, tonen organisaties eenvoudig aan dat zij aan dit vereiste voldoen. BIO 12.03 eist aantoonbare back-up- en herstelprocedures. Het centrale Azure Backup-beleid voorziet in dagelijkse kopieën, regelmatige hersteltesten en een vastgelegde verantwoordelijkheidsmatrix, waardoor auditors per workload kunnen nagaan welke herstelpunten beschikbaar zijn en of de maximale uitvalduur binnen de afgesproken grenzen blijft. Naast BIO richt de architectuur zich op ISO/IEC 27001:2022. Controle A.8.28 over informatiebeveiliging voor clouddiensten krijgt invulling doordat alle platforms waar de overheid gebruik van maakt dezelfde policyset hanteren en rapporteren naar één governanceboard. Controle A.5.30 (ICT-readiness for business continuity) komt terug in het verplichte failoverplan en de runbooks voor forensisch onderzoek die onderdeel zijn van de documentatie per VM-landschap. A.8.9 en A.12.6.1, respectievelijk versleuteling en beheer van technische kwetsbaarheden, zijn direct gekoppeld aan de technische instellingen voor diskversleuteling en het patchbeleid via Update Manager. Elke wijziging wordt geregistreerd binnen Azure DevOps of een vergelijkbare changeadministratie, zodat traceerbaarheid behouden blijft. De architectuur ondersteunt eveneens de eisen uit de NIS2-richtlijn en de Wet beveiliging netwerk- en informatiesystemen doordat kritieke processen worden geclassificeerd en voorzien van aanvullende telemetrie. Via Microsoft Defender for Cloud genereren we compliance-rapportages die laten zien hoe goed abonnementen scoren op de CIS Azure Foundation Benchmark en de Azure Security Benchmark. Deze rapportages worden gedeeld met de Chief Information Security Officer en vormen onderdeel van de kwartaalrapportage richting het departementale auditcommittee. Afwijkingen, zoals VMs zonder back-up of niet-versleutelde disks, krijgen een risicobeoordeling en een hersteltermijn opgelegd conform de RACI die binnen Nederlandse Baseline voor Veilige Cloud is vastgesteld. Auditability wordt tenslotte geborgd door de uitgebreide loggingketen. Elk sleutelgebruik, elke Bastion-sessie, elke Just-In-Time aanvraag en elke wijziging in NSG-regels wordt vastgelegd in Log Analytics en verzonden naar een Security Information and Event Management-platform, zoals Microsoft Sentinel. Hiermee kunnen auditors steekproeven uitvoeren op sessies van beheerders, controleren of MFA werkelijk verplicht was, en nagaan of niet-goedgekeurde aanbevelingen alsnog zijn uitgevoerd. De combinatie van technische maatregelen, procesmatige borging en rapportages vormt een sluitend geheel waarmee organisaties niet alleen compliant zijn, maar dit ook overtuigend kunnen aantonen tijdens inspecties of bij het afhandelen van datalekmeldingen bij de Autoriteit Persoonsgegevens. Voor organisaties die onderworpen zijn aan sectorale toezichtkaders, zoals de Wet digitale overheid of specifieke eisen van Agentschap Telecom, levert het ontwerp bovendien standaardrapportages in JSON en PDF-formaat die direct kunnen worden aangeleverd tijdens assessments. Deze rapportages bevatten per controle doelstellingen, toegepaste Azure Policies, compliant resources en openstaande noodzakelijke acties. Door bewijsverzameling te automatiseren en deze centraal beschikbaar te stellen in een auditevidence-archief, verkorten we de voorbereidingstijd voor audits van weken naar dagen en beschikken bestuurders op ieder moment over een actueel inzicht in de mate van naleving.
Monitoring
Gebruik PowerShell-script azure-vm-security.ps1 (functie Invoke-Monitoring) – Controleren.
Remediatie
Gebruik PowerShell-script azure-vm-security.ps1 (functie Invoke-Remediation) – Herstellen.
Compliance & Frameworks
- CIS M365: Control 7.x (L1) - Virtual machine security
- BIO: 10.01.01, 12.03.01 - versleuteling + Backup mandatory
- ISO 27001:2022: A.8.9, A.12.6.1 - versleuteling + kwetsbaarheidsbeheer
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).
Risico zonder implementatie
Management Samenvatting
Beveilig elke virtuele machine met schijfversleuteling, beheer via Azure Bastion zonder publieke IP-adressen, Just-In-Time toegang op basis van MFA, Defender voor Servers Plan 2 voor detectie en kwetsbaarheidsbeheer, geautomatiseerde patches via Update Manager, en dagelijkse back-ups met retentie van minimaal dertig dagen. De investering van circa €25–30 per VM per maand voorkomt incidenten die gemiddeld tussen €500.000 en €5 miljoen aan herstel- en reputatieschade kosten en voldoet aantoonbaar aan BIO 10.01/12.03, CIS 7.x en NIS2.
- Implementatietijd: 40 uur
- FTE required: 0.2 FTE