💼 Management Samenvatting
Just-In-Time (JIT) VM Access blokkeert RDP (poort 3389) en SSH (poort 22) standaard en opent deze alleen op aanvraag voor goedgekeurde gebruikers gedurende een beperkte tijd, waardoor het aanvalsoppervlak voor brute force-aanvallen en laterale beweging drastisch wordt verkleind.
Openstaande RDP- en SSH-poorten vormen de belangrijkste aanvalsvector voor het compromitteren van virtuele machines. Brute force-aanvallen proberen continu inloggegevens te raden, geautomatiseerde scanners identificeren openstaande poorten binnen minuten na implementatie, ransomware verspreidt zich via laterale beweging via RDP, en credential stuffing-aanvallen zijn succesvol door zwakke wachtwoorden. Met permanent openstaande poorten worden gemiddeld meer dan duizend brute force-pogingen per dag per virtuele machine geregistreerd, waarbij compromittering binnen achtenveertig uur plaatsvindt bij zwakke inloggegevens. Just-In-Time VM Access reduceert het aanvalsvenster van continu naar enkele uren per maand, wat resulteert in een reductie van het aanvalsoppervlak van meer dan negenennegentig procent.
Connection:
Connect-AzAccountRequired Modules: Az.Accounts, Az.Security, Az.Compute
Implementatie
Just-In-Time VM Access, onderdeel van Microsoft Defender voor Servers Plan 2, werkt via beheer van Network Security Group-regels. Standaard worden alle verbindingen voor RDP en SSH geweigerd. Gebruikers kunnen toegang aanvragen via de Azure Portal of API met een rechtvaardiging, waarbij een goedkeuringsworkflow optioneel is. Er wordt een tijdelijke toestemmingsregel aangemaakt voor een specifiek bron-IP-adres met een duur van één tot vierentwintig uur, gevolgd door automatische opruiming na afloop. Alle toegangsaanvragen worden gelogd voor auditdoeleinden. De functionaliteit ondersteunt IP-whitelisting, tijdgebaseerde toegang en workflows met meerdere goedkeurders. Voor deze functionaliteit is Microsoft Defender voor Servers Plan 2 vereist, wat ongeveer dertien euro per virtuele machine per maand kost.
Vereisten
Voor de implementatie van Just-In-Time VM Access zijn verschillende technische en organisatorische vereisten van toepassing. Allereerst moet Microsoft Defender voor Servers Plan 2 zijn ingeschakeld binnen de Azure-omgeving. Deze licentie is essentieel omdat Just-In-Time VM Access een geïntegreerd onderdeel vormt van het uitgebreide beveiligingsplatform. Zonder deze licentie is de functionaliteit niet beschikbaar en kunnen organisaties geen gebruik maken van de geavanceerde toegangsbeheerfuncties. Daarnaast moeten alle virtuele machines die beveiligd moeten worden beschikken over Network Security Groups (NSGs). Deze netwerkbeveiligingsgroepen vormen de basis voor de dynamische regelbeheerfunctionaliteit die Just-In-Time VM Access mogelijk maakt. Zonder correct geconfigureerde NSGs kan het systeem geen tijdelijke toegangsregels aanmaken of verwijderen, wat de effectiviteit van de oplossing volledig tenietdoet. Voor de technische implementatie en configuratie is PowerShell versie 5.1 of hoger vereist. Dit stelt beheerders in staat om geautomatiseerde scripts uit te voeren en configuraties programmatisch te beheren. De benodigde PowerShell-modules omvatten Az.Accounts voor authenticatie en verbinding met Azure, Az.Security voor beveiligingsconfiguraties en Az.Compute voor beheer van virtuele machines. Deze modules moeten allemaal geïnstalleerd en bijgewerkt zijn naar de nieuwste versies om compatibiliteitsproblemen te voorkomen. Vanuit een beveiligingsperspectief is het essentieel dat beheerders beschikken over de juiste Role-Based Access Control (RBAC) rechten. Specifiek is de rol Security Administrator vereist voor de configuratie van Just-In-Time VM Access. Deze rol biedt de benodigde machtigingen om beveiligingsinstellingen te wijzigen zonder volledige eigenaarsrechten op de virtuele machines zelf, wat het principe van minimale bevoegdheden ondersteunt. Financieel gezien moet de organisatie rekening houden met de kosten van Microsoft Defender voor Servers Plan 2, die ongeveer dertien euro per virtuele machine per maand bedragen. Deze investering moet worden afgewogen tegen de aanzienlijke beveiligingsvoordelen en de potentiële kosten van een beveiligingsincident. Voor organisaties met honderden virtuele machines kan dit een aanzienlijke budgettaire overweging zijn, maar de reductie van het aanvalsoppervlak en de verbeterde beveiligingspostuur rechtvaardigen deze investering in de meeste gevallen.
Implementatie
De implementatie van Just-In-Time VM Access begint met het inschakelen van Microsoft Defender voor Servers Plan 2 binnen de Azure-omgeving. Dit kan worden gedaan via de Azure Portal door te navigeren naar Microsoft Defender voor Cloud en de juiste licentie te activeren voor de gewenste abonnementen. Zonder deze licentie is de Just-In-Time functionaliteit niet beschikbaar, dus dit is een absolute vereiste voor de implementatie. Zodra Defender voor Servers Plan 2 is ingeschakeld, kunnen beheerders navigeren naar Microsoft Defender voor Cloud, vervolgens naar Workload protections en daar de optie Just-in-time VM access selecteren. Het systeem zal automatisch alle virtuele machines scannen en diegene markeren als aanbevolen die momenteel openstaande RDP- of SSH-poorten hebben. Deze aanbevelingen helpen beheerders om prioriteit te stellen bij de implementatie, waarbij de meest kwetsbare systemen als eerste worden beveiligd. Voor elke virtuele machine moet een Just-In-Time beleid worden geconfigureerd. Dit beleid definieert welke poorten beheerd moeten worden, meestal RDP op poort 3389 en SSH op poort 22, maar ook aangepaste poorten kunnen worden toegevoegd indien nodig. Voor elke poort wordt een maximale toegangsduur ingesteld, waarbij drie uur als standaard wordt aanbevolen. Deze tijdslimiet zorgt ervoor dat zelfs als een aanvaller toegang krijgt, deze beperkt is in tijd en de schade kan worden beperkt. Voor productieomgevingen met kritieke systemen is het sterk aanbevolen om een goedkeuringsworkflow te configureren. Dit betekent dat toegangsaanvragen niet automatisch worden goedgekeurd, maar eerst moeten worden beoordeeld door een bevoegde beheerder. Deze extra controlelaag voegt een belangrijk beveiligingsniveau toe, vooral voor systemen die gevoelige gegevens bevatten of kritieke bedrijfsprocessen ondersteunen. Na de configuratie van het beleid moet Just-In-Time Access worden ingeschakeld voor elke individuele virtuele machine. Dit kan per machine worden gedaan of in bulk voor meerdere machines tegelijk. Het is belangrijk om te testen of de configuratie correct werkt voordat alle productiesystemen worden beveiligd, om te voorkomen dat legitieme beheerders worden buitengesloten. Een cruciaal onderdeel van de implementatie is het opleiden van beheerders over het nieuwe toegangsaanvraagproces. Beheerders moeten begrijpen hoe ze toegang kunnen aanvragen, welke informatie ze moeten verstrekken in hun rechtvaardiging, en hoe lang ze toegang hebben. Zonder deze training kunnen beheerders gefrustreerd raken of proberen om de beveiliging te omzeilen, wat de effectiviteit van de oplossing ondermijnt. Het toegangsaanvraagproces voor beheerders werkt als volgt. Beheerders navigeren naar Microsoft Defender voor Cloud, selecteren Just-in-time VM access, en kiezen de virtuele machine waarvoor ze toegang nodig hebben. Vervolgens klikken ze op Request access en specificeren ze de benodigde details: het poortnummer (RDP of SSH), het gewenste tijdsbereik (binnen de geconfigureerde maximumduur), het bron-IP-adres (waarbij het gebruik van het eigen IP-adres wordt aanbevolen voor extra beveiliging), en een duidelijke rechtvaardiging voor de toegang. Na het indienen van de aanvraag wordt deze ofwel automatisch goedgekeurd (als er geen goedkeuringsworkflow is geconfigureerd) of wordt deze ter beoordeling voorgelegd aan een bevoegde goedkeurder. Zodra de toegang is goedgekeurd, kan de beheerder verbinding maken binnen het toegestane tijdsbestek. Na afloop van de toegangsperiode wordt de toegang automatisch ingetrokken, zonder dat er handmatige interventie nodig is. Dit automatische intrekken is een belangrijk beveiligingskenmerk dat voorkomt dat toegangsrechten per ongeluk open blijven staan. Gedurende de implementatie en daarna is continue monitoring essentieel. Beheerders moeten regelmatig de Just-In-Time toegangsaanvragen en auditlogboeken controleren om te identificeren of er ongebruikelijke patronen zijn, zoals frequente aanvragen van dezelfde gebruiker, aanvragen buiten kantooruren, of pogingen om toegang te krijgen vanaf onbekende IP-adressen. Deze monitoring helpt bij het detecteren van potentiële beveiligingsincidenten en het verfijnen van de Just-In-Time configuratie.
Monitoring
Gebruik PowerShell-script jit-vm-access-enabled.ps1 (functie Invoke-Monitoring) – Controleert JIT VM Access configuration status per VM.
Effectieve monitoring van Just-In-Time VM Access is essentieel om te zorgen dat de beveiligingsmaatregelen correct functioneren en om potentiële beveiligingsincidenten tijdig te detecteren. Het monitoringproces omvat verschillende aspecten die regelmatig moeten worden gecontroleerd en geanalyseerd. Het primaire monitoringinstrument is het Just-In-Time dashboard binnen Microsoft Defender voor Cloud. Dit dashboard biedt een overzicht van alle toegangsaanvragen, inclusief de status van elke aanvraag, de betrokken gebruikers, de virtuele machines waarvoor toegang is aangevraagd, en de tijdsduur van elke toegangssessie. Beveiligingsanalisten kunnen dit dashboard gebruiken om patronen te identificeren, zoals gebruikers die frequent toegang aanvragen, toegangsaanvragen buiten normale werkuren, of ongebruikelijke combinaties van gebruikers en virtuele machines. Naast het dashboard moeten beheerders regelmatig de activiteitenlogboeken controleren voor wijzigingen in Just-In-Time beleidsregels. Deze logboeken registreren wanneer beleidsregels worden aangemaakt, gewijzigd of verwijderd, en welke gebruiker deze wijzigingen heeft doorgevoerd. Dit is belangrijk voor compliance-doeleinden en helpt bij het detecteren van ongeautoriseerde wijzigingen aan de beveiligingsconfiguratie. Elke wijziging aan een Just-In-Time beleid moet worden gerechtvaardigd en gedocumenteerd, vooral in productieomgevingen. Voor diepgaande netwerkanalyse kunnen Network Security Group flow logs worden gebruikt om de werkelijke RDP- en SSH-verbindingen te monitoren. Deze logs tonen niet alleen wanneer verbindingen worden gemaakt, maar ook de bron- en doel-IP-adressen, de poorten die worden gebruikt, en de duur van elke verbinding. Door deze logs te vergelijken met de Just-In-Time toegangsaanvragen, kunnen beheerders verifiëren dat alle verbindingen legitiem zijn en dat er geen pogingen zijn om de beveiliging te omzeilen. Een belangrijk aspect van de monitoring is het instellen van waarschuwingen voor ongebruikelijke Just-In-Time toegangspogingen. Dit omvat toegangsaanvragen vanaf IP-adressen die niet eerder zijn gebruikt, toegangsaanvragen vanaf geografische locaties die niet overeenkomen met de normale werkpatronen van beheerders, of toegangsaanvragen voor virtuele machines die normaal gesproken niet door bepaalde gebruikers worden benaderd. Deze waarschuwingen moeten worden geconfigureerd met een passende gevoeligheid om valse positieven te voorkomen, maar gevoelig genoeg om echte beveiligingsincidenten te detecteren. Wekelijks moeten beveiligingsanalisten een overzicht maken van de Just-In-Time toegangspatronen per beheerder. Dit helpt bij het identificeren van gebruikers die mogelijk te veel toegang aanvragen, wat kan wijzen op inefficiënte werkprocessen of, in het ergste geval, op kwaadaardige activiteit. Het helpt ook bij het verfijnen van de Just-In-Time configuratie, bijvoorbeeld door de maximale toegangsduur aan te passen voor gebruikers die regelmatig langere toegang nodig hebben, of door goedkeuringsworkflows toe te voegen voor gebruikers met ongebruikelijke toegangspatronen. De monitoring moet ook regelmatige controles omvatten om te verifiëren dat alle virtuele machines met openstaande RDP- of SSH-poorten daadwerkelijk zijn beveiligd met Just-In-Time Access. Dit kan worden gedaan met behulp van geautomatiseerde scripts die de configuratiestatus van elke virtuele machine controleren en rapporteren over systemen die nog niet zijn beveiligd. Deze controles moeten minstens maandelijks worden uitgevoerd, of vaker als er regelmatig nieuwe virtuele machines worden toegevoegd aan de omgeving.
Compliance en Auditing
Just-In-Time VM Access speelt een cruciale rol bij het voldoen aan verschillende beveiligings- en compliance-standaarden die relevant zijn voor Nederlandse overheidsorganisaties en bedrijven die werken met gevoelige gegevens. De implementatie van deze beveiligingsmaatregel helpt organisaties om te voldoen aan zowel internationale als nationale normen. De CIS Azure Foundations Benchmark versie 3.0.0 bevat specifiek controle 2.1.14, die vereist dat Just-In-Time netwerktoegang is ingeschakeld op alle virtuele machines. Deze controle is geclassificeerd als niveau 2, wat betekent dat het wordt aanbevolen voor omgevingen met verhoogde beveiligingsvereisten. Het niet implementeren van deze controle resulteert in een niet-conforme status volgens de CIS-benchmark, wat kan leiden tot problemen bij externe audits en beveiligingsbeoordelingen. Voor organisaties die gecertificeerd zijn volgens ISO 27001, de internationale standaard voor informatiebeveiligingsmanagement, zijn de controles A.9.1.2 (Toegangsrechten) en A.9.4.1 (Beperking van toegang tot informatie) direct relevant. Just-In-Time VM Access ondersteunt deze controles door ervoor te zorgen dat toegang tot systemen wordt beperkt tot alleen die momenten waarop het daadwerkelijk nodig is, en door alle toegangspogingen te loggen voor auditdoeleinden. Dit helpt organisaties om te demonstreren dat ze passende maatregelen hebben genomen om onbevoegde toegang te voorkomen. De NIS2-richtlijn, die van toepassing is op essentiële en belangrijke entiteiten binnen de Europese Unie, bevat in artikel 21 specifieke vereisten voor toegangscontrole en authenticatiemaatregelen. Nederlandse organisaties die onder de reikwijdte van NIS2 vallen, moeten kunnen aantonen dat ze passende technische en organisatorische maatregelen hebben geïmplementeerd om onbevoegde toegang tot hun systemen te voorkomen. Just-In-Time VM Access vormt een belangrijk onderdeel van deze maatregelen, vooral voor organisaties in sectoren zoals energie, transport, gezondheidszorg en digitale infrastructuur. Voor Nederlandse overheidsorganisaties is de Baseline Informatiebeveiliging Overheid (BIO) van bijzonder belang. Thema 11.01 van de BIO behandelt toegangsbeleid en vereist dat organisaties een duidelijk beleid hebben voor het beheren van toegangsrechten. Just-In-Time VM Access ondersteunt dit thema door een gestructureerde aanpak te bieden voor het beheren van toegang tot beheersystemen, waarbij alle toegangsaanvragen worden gedocumenteerd en gecontroleerd. Dit helpt overheidsorganisaties om te voldoen aan de BIO-normen en om tijdens audits te kunnen aantonen dat toegang op een gecontroleerde en geauditeerde manier wordt verleend. De NIST Zero Trust-architectuurprincipes, die steeds belangrijker worden in moderne beveiligingsstrategieën, benadrukken het concept van 'never trust, always verify'. Just-In-Time VM Access past perfect binnen dit paradigma door ervoor te zorgen dat toegang niet wordt verleend op basis van vertrouwen, maar alleen na expliciete verificatie en goedkeuring. Elke toegangsaanvraag wordt geëvalueerd op basis van de huidige context, inclusief de identiteit van de aanvrager, het tijdstip van de aanvraag, en de rechtvaardiging voor de toegang. Dit principe van continue verificatie is een fundamenteel onderdeel van Zero Trust-architectuur en wordt ondersteund door Just-In-Time VM Access. Voor auditdoeleinden is het essentieel dat organisaties kunnen aantonen dat Just-In-Time VM Access correct is geconfigureerd en actief wordt gebruikt. Dit vereist het bijhouden van configuratiegegevens, toegangsaanvragen, goedkeuringen, en daadwerkelijke verbindingen. Deze informatie moet worden bewaard voor de vereiste bewaartermijn, die voor veel compliance-standaarden minimaal zeven jaar is. Organisaties moeten ervoor zorgen dat hun logging- en monitoringoplossingen voldoende detailniveau bieden om tijdens audits te kunnen aantonen dat de beveiligingsmaatregelen effectief zijn geïmplementeerd en worden nageleefd.
Remediatie
Gebruik PowerShell-script jit-vm-access-enabled.ps1 (functie Invoke-Remediation) – Herstellen.
Compliance & Frameworks
- CIS M365: Control 2.1.14 (L2) - Zorg ervoor dat Just-In-Time Network Access is ingeschakeld op alle virtuele machines
- BIO: 11.01.01, 11.02.01 - Toegangsbeleid en control van toegangsrechten - Just-in-time access
- ISO 27001:2022: A.9.1.2, A.9.4.1 - Toegangscontrole en authenticatie en beperking van systeemtoegang
- NIS2: Artikel - Toegangscontrole en authenticatiemaatregelen
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
Just-In-Time VM Access blokkeert RDP (poort 3389) en SSH (poort 22) standaard en opent deze alleen op aanvraag voor goedgekeurde gebruikers gedurende een beperkte tijd (één tot drie uur). Dit reduceert het aanvalsoppervlak met negenennegentig procent. Activatie: Microsoft Defender voor Cloud → Just-In-Time VM access → Inschakelen per virtuele machine. Inbegrepen in Microsoft Defender voor Servers Plan 2 (ongeveer dertien euro per virtuele machine per maand). Verplicht volgens CIS 2.1.14, BIO en NIS2. Implementatietijd: drie tot vijf uur. Absolute vereiste voor alle virtuele machines met beheerpoorten.
- Implementatietijd: 0 uur
- FTE required: 0.1 FTE