Just-in-Time (JIT)-toegang beheren voor virtuele Azure-machines
01/10/2024
Dit technische en educatieve artikel is bedoeld om beveiligingsanalisten, IT-beheerders en systeemingenieurs te begeleiden bij het implementeren en beheren van Just-in-Time (JIT)-toegang voor Azure Virtual Machines (VM's). JIT is een fundamentele beveiligingsfunctie die wordt aangeboden door Microsoft Defender for Cloud en die VM's helpt beschermen tegen aanvallen door ongeautoriseerde toegang, waardoor het netwerkaanvalsoppervlak dramatisch wordt verkleind door de toegang tot beheerpoorten alleen te beperken wanneer en zo lang als strikt noodzakelijk is [1].
Introductie
In cloudomgevingen zijn virtuele machines vaak het doelwit van brute force-aanvallen en poortscans, vooral die met beheerpoorten (zoals RDP 3389 en SSH 22) die zijn blootgesteld aan internet. Door deze poorten voortdurend open te houden, ontstaat een onnodig groot aanvalsoppervlak, waardoor het risico op compromissen toeneemt. JIT Access lost dit probleem op door beveiligingsteams in staat te stellen inkomend verkeer naar VM's standaard te blokkeren en beheerpoorten alleen op aanvraag, voor een beperkte periode, en vanaf specifieke IP-adressen te openen. Deze aanpak volgt het principe van least privilege en Zero Trust, waardoor wordt gegarandeerd dat toegang alleen wordt verleend wanneer dit gerechtvaardigd is en voor de kortst mogelijke tijd [2].
Deze praktische gids behandelt de vereisten voor het inschakelen van JIT, het configuratieproces via Microsoft Security Center, het aanvragen en goedkeuren van JIT-toegang, de integratie met beveiligingswaarschuwingen en best practices voor effectief beheer. Er worden stapsgewijze instructies, bijvoorbeeld Azure CLI-opdrachten en -instructies gegeven, zodat de lezer de JIT kan implementeren en valideren, waardoor de beveiliging van zijn Azure-VM's wordt versterkt en deze worden beschermd tegen ongeautoriseerde toegangsbedreigingen.
Waarom is Just-in-Time (JIT) toegang cruciaal voor Azure VM's?
- Vermindering van aanvalsoppervlak: Sluit standaard VM-beheerpoorten, waardoor deze alleen worden blootgesteld wanneer en zo lang als nodig is, waardoor de kansen voor aanvallers worden geminimaliseerd.
- Granulaire toegangscontrole: Hiermee kunt u opgeven welke gebruikers toegang kunnen aanvragen, welke poorten kunnen worden geopend, voor hoe lang en vanaf welke bron-IP-adressen.
- Compliance: Helpt te voldoen aan compliance-eisen die strikte controle vereisen over de toegang tot kritieke bronnen.
- Zichtbaarheid en auditing: Biedt gedetailleerde logboeken van alle JIT-toegangsverzoeken, goedkeuringen en poortopeningen/-sluitingen, waardoor beveiligingsaudits en -onderzoek worden vergemakkelijkt.
- Integratie met Defender for Cloud: Volledig geïntegreerd met Microsoft Defender for Cloud, waarbij gebruik wordt gemaakt van het beveiligingsbeheer en de mogelijkheden voor bescherming tegen bedreigingen.
- Automatisering: kan worden geautomatiseerd om toegang goed te keuren in specifieke scenario's, zoals incidentrespons of geplande onderhoudswerkzaamheden.
Vereisten
Om JIT Access voor Azure Virtual Machines te implementeren, hebt u de volgende items nodig:
- Actief Azure-abonnement: een Azure-abonnement om resources te maken en te beheren.
- Beheerderstoegang: een account met de rol 'Eigenaar', 'Bijdrager' of 'Beveiligingsbeheerder' in het Azure-abonnement of in de resourcegroep waar de VM's zich bevinden.
- Microsoft Defender for Cloud Standard (of Defender for Servers): JIT is een premiumfunctie van Microsoft Defender for Cloud en vereist dat het Defender for Servers-abonnement is ingeschakeld op het abonnement dat de VM's bevat [3].
- Bestaande virtuele Azure-machines: Azure-VM's die u wilt beveiligen met JIT. Voor deze zelfstudie gaan we ervan uit dat u al VM's hebt geïmplementeerd.
- Azure CLI of Azure PowerShell: geïnstalleerde en geconfigureerde opdrachtregelprogramma's voor interactie met Azure.
Stap voor stap: JIT-toegang inschakelen en beheren
Laten we de JIT voor uw virtuele Azure-machines configureren.
1. Het Defender for Servers-abonnement inschakelen
Zoals vermeld in de vereisten, vereist JIT dat het Defender for Servers-abonnement is geactiveerd.
- Open uw browser en navigeer naar de Azure-portal:
https://portal.azure.com. - Log in met een account dat over de benodigde rechten beschikt.
- Typ 'Defender for Cloud' in het bovenste zoekveld en selecteer dit uit de resultaten.
- Selecteer in het Defender for Cloud-dashboard Omgevingsinstellingenen in het linkernavigatievenster.
- Selecteer het Azure-abonnement dat uw VM's bevat.
- Zorg ervoor dat op de pagina Defender-abonnementen het Defender for Servers-abonnement 'Geactiveerd' is. Als dit niet het geval is, klikt u op 'Inschakelen' en volgt u de instructies om het in te schakelen.
2. JIT-toegang voor VM's inschakelen
U kunt JIT inschakelen voor individuele VM's of voor meerdere VM's tegelijk.
- Selecteer in het Defender for Cloud-dashboard Workload Protection in het linkernavigatievenster.
- Blader omlaag naar het gedeelte 'Geavanceerde bescherming' en klik op Just-in-Time VM Access.
-
Onder het tabblad 'Virtuele machines' ziet u drie subtabbladen: 'Geconfigureerd', 'Aanbevolen' en 'Niet geconfigureerd'.
- 'Aanbevolen': vermeldt de VM's die Security Center aanbeveelt te beschermen met JIT.
Niet geconfigureerd: vermeldt VM's die niet JIT-beveiligd zijn, maar wel in aanmerking komen.
-
Selecteer op het tabblad 'Aanbevolen' of 'Niet geconfigureerd' de VM's waarvoor u JIT wilt inschakelen.
-
Klik op JIT inschakelen op VM.
-
JIT-beleid configureren: voor elke geselecteerde VM kunt u de volgende opties configureren:
- Poorten: de beheerpoorten die worden beschermd (bijvoorbeeld: 22, 3389, 5985, 5986). U kunt aangepaste poorten toevoegen.
- Protocol: het protocol voor elke poort (bijvoorbeeld TCP, UDP).
- Maximale aanvraagtijd: De maximale tijd (in uren) dat een deur open mag zijn na een goedgekeurde aanvraag. De standaardwaarde is 3 uur.
- Goedgekeurde bron-IP-adressen: Optioneel, maar sterk aanbevolen. Beperkt de toegang tot specifieke IP's of IP-blokken. Standaard is dit
Any(*), wat betekent dat elk IP-adres toegang kan aanvragen.
-
Klik op Opslaan om het JIT-beleid toe te passen op de geselecteerde VM's.
3. Just-in-Time-toegang tot een VM aanvragen
Wanneer een gebruiker of beheerder toegang moet krijgen tot een met JIT beveiligde VM, moet hij/zij toegang aanvragen.
- Selecteer in het Security Center-dashboard Werkbelastingbeveiliging > Just-in-Time VM-toegang.
- Selecteer op het tabblad 'Virtuele machines' de VM waartoe u toegang wilt krijgen (deze zou zich op het tabblad 'Geconfigureerd' moeten bevinden).
-
Klik op Toegang aanvragen.
-
Geef in het venster 'Toegang aanvragen' het volgende op:
- Deuren: de deuren die je moet openen.
- Bron-IP-adres: het openbare IP-adres waarmee u verbinding maakt. U kunt 'Mijn IP-adres' (het huidige openbare IP-adres van uw apparaat) of 'Aangepast' selecteren om een IP-adres of CIDR op te geven.
- Tijdsperiode: de toegangsduur (beperkt door de 'Maximum Request Time' geconfigureerd in het JIT-beleid).
- Motivering: een korte beschrijving van de reden voor het toegangsverzoek.
-
Klik op Poorten openen.
- Opmerking: als het JIT-beleid goedkeuring vereist, wordt het verzoek naar de geconfigureerde goedkeurders verzonden voordat de poorten worden geopend.
4. JIT-toegangsverzoeken goedkeuren (indien geconfigureerd)
Voor scenario's waarbij goedkeuring vereist is (via Azure Logic Apps of Azure Functions), kan het proces variëren. Standaard opent JIT poorten onmiddellijk op verzoek, tenzij er een workflowautomatisering is geconfigureerd.
- Tip: Voor goedkeuringswerkstromen kunt u Azure Logic Apps gebruiken om Azure-auditlogboeken of Azure Security Center-gebeurtenissen te bewaken en een goedkeuringsproces te activeren (bijvoorbeeld een beveiligingsgroep e-mailen voor handmatige goedkeuring).
5. JIT-toegangsstatus controleren
Nadat u toegang heeft aangevraagd, kunt u de status op het portaal controleren.
- Selecteer in het Security Center-dashboard Werkbelastingbeveiliging > Just-in-Time VM-toegang.
- Op het tabblad 'Virtuele machines' moet de VM waartoe u toegang hebt aangevraagd een status weergeven die aangeeft dat de toegang 'Actief' of 'In behandeling' is (indien goedgekeurd).
- In de kolom 'Resterende tijd' wordt weergegeven hoeveel toegangstijd er nog over is.
6. JIT-toegang uitschakelen (optioneel)
Als u JIT voor een VM wilt uitschakelen, volgt u deze stappen:
- Selecteer in het Security Center-dashboard Werkbelastingbeveiliging > Just-in-Time VM-toegang.
- Selecteer op het tabblad 'Virtuele machines' de geconfigureerde VM.
- Klik op JIT uitschakelen op VM.
Validatie en testen
Het valideren van de effectiviteit van JIT Access is van cruciaal belang om ervoor te zorgen dat uw VM’s worden beschermd en dat toegang kan worden verleend wanneer dat nodig is.
1. D-blok testenen standaardtoegang
- Probeer toegang te krijgen tot een beheerpoort (bijvoorbeeld RDP 3389 of SSH 22) vanaf een met JIT beveiligde VM zonder JIT-toegang aan te vragen.
- Verwacht resultaat: de verbinding moet worden geweigerd of er moet een time-out optreden omdat poorten standaard gesloten zijn.
2. Goedgekeurde JIT-toegang testen
- Vraag JIT-toegang aan tot de gewenste VM en poort met behulp van het openbare IP-adres.
-
Probeer na goedkeuring (of onmiddellijke opening als er geen goedkeuring is geconfigureerd) toegang te krijgen tot de VM via RDP of SSH vanaf hetzelfde openbare IP-adres.
- Verwacht resultaat: De verbinding zou succesvol moeten zijn.
-
Wacht tot de JIT-toegangstijd is verstreken (of annuleer de toegang handmatig).
- Probeer opnieuw toegang te krijgen tot de VM.
- Verwacht resultaat: De verbinding moet opnieuw worden geweigerd.
3. Auditlogboeken controleren
Alle JIT-bewerkingen worden vastgelegd in Azure-auditlogboeken, waardoor een volledig spoor ontstaat van wie wat, wanneer en waar heeft aangevraagd.
- Navigeer in de Azure-portal naar uw resourcegroep of specifieke VM.
- Selecteer Activiteitenlog in het linkernavigatievenster.
- Filter op gebeurtenissen gerelateerd aan 'Just-in-Time VM Access' of 'Microsoft.Security/locations/jitNetworkAccessPolicies'.
- U zult gebeurtenissen zien zoals 'JIT-netwerktoegangsbeleid aangemaakt', 'JIT-netwerktoegangsbeleid aangevraagd', 'JIT-netwerktoegangsbeleid goedgekeurd' (indien van toepassing) en 'JIT-netwerktoegangsbeleid gesloten'.
Beveiligingstips en best practices
- Privilege van de minste bevoegdheden: Configureer JIT-beleid om zo min mogelijk bevoegdheden te verlenen: precies de benodigde poorten, voor de kortst mogelijke tijd en vanaf de meest beperkte bron-IP's.
- Beperk bron-IP-adressen: specificeer waar mogelijk bron-IP-adressen in het JIT-beleid en toegangsverzoeken. Vermijd het gebruik van
Any(*) voor bron-IP's. - Korte tijdsperioden: Stel de maximale verzoektijd in op de kortste redelijke periode (bijvoorbeeld 1-2 uur), waardoor gebruikers gedwongen worden de noodzaak van toegang opnieuw te beoordelen.
- Bewaking en waarschuwingen: configureer waarschuwingen in Azure Monitor voor JIT-toegangsaanvragen, vooral voor kritieke poorten of onverwachte IP-adressen. Integreer deze waarschuwingen met uw SIEM (bijvoorbeeld Microsoft Sentinel).
- Workflow Automation: voor omgevingen met strikte goedkeuringsvereisten kunt u Azure Logic Apps of Azure Functions gebruiken om aangepaste goedkeuringsworkflows voor JIT-aanvragen te maken.
- Documentatie en training: documenteer het JIT-toegangsbeleid duidelijk en train gebruikers over hoe ze toegang kunnen aanvragen en hoe belangrijk het is om best practices op het gebied van beveiliging te volgen.
- Periodieke evaluatie: Controleer regelmatig het JIT-beleid en de toegangslogboeken om ervoor te zorgen dat ze relevant en effectief blijven.
- Combineer met NSG's en Azure Firewall: JIT vormt een aanvulling op andere lagen van netwerkbeveiliging, zoals Network Security Groups (NSG's) en Azure Firewall. Gebruik ze samen voor diepgaande verdediging.
Algemene probleemoplossing
- Kan JIT niet inschakelen voor een VM: controleer of het Defender for Servers-abonnement is ingeschakeld voor het VM-abonnement. Zorg ervoor dat de VM zich niet in een ongeldige status bevindt of dat er geen conflicterende instellingen zijn.
- Kan geen JIT-toegang aanvragen: Zorg ervoor dat u over de benodigde machtigingen beschikt (bijvoorbeeld 'Collaborator' of 'Virtual Machine Just-in-Time Access Operator') om toegang aan te vragen. Zorg ervoor dat de VM is geconfigureerd voor JIT en dat de poorten in het beleid zijn gedefinieerd.
- Verbinding geweigerd na JIT-verzoek: Controleer of het bron-IP-adres dat u in het JIT-verzoek hebt opgegeven, overeenkomt met het openbare IP-adres van uw apparaat. Bevestig dat de periode niet is verstreken. Controleer of er geen aanvullende NSG's of firewallregels zijn die verkeer blokkeren na het openen van de JIT-poort.
- Verkeerde poorten open: Controleer het JIT-beleid dat voor de VM is geconfigureerd om er zeker van te zijn dat de juiste poorten worden vermeld. Als u de Azure CLI gebruikt, controleer dan de poortparameters.
- JIT Access Security Alerts: onderzoek eventuele JIT-gerelateerde beveiligingswaarschuwingen. Dit kan duiden op een ongeautoriseerde toegangspoging of een onjuiste configuratie.
- Beïnvloedde VM-prestaties: de JIT zelf zou geen invloed moeten hebben op de VM-prestaties. Als er problemen zijn, onderzoek dan andere componenten van de VM of het netwerk.
Conclusie
OJust-in-Time (JIT) toegangsbeheer voor Azure Virtual Machines is een essentiële beveiligingsstrategie voor het beschermen van uw cloudbronnen tegen ongeautoriseerde toegangsbedreigingen. Door beheerpoorten standaard te sluiten en deze alleen op verzoek te openen, verkleint JIT het aanvalsoppervlak aanzienlijk, versterkt het uw beveiligingspositie en helpt u te voldoen aan compliance-eisen. Een effectieve implementatie van JIT, gecombineerd met best practices op het gebied van beveiliging en continue monitoring, zorgt ervoor dat uw VM's veilig en alleen toegankelijk blijven voor legitieme gebruikers en doeleinden. Met deze praktische gids zijn beveiligingsprofessionals goed toegerust om JIT-toegang te configureren, valideren en beheren, waardoor hun Azure Virtual Machines veerkrachtiger en beter beschermd worden.
Referenties:
[1] Microsoft Leer. Wat is JIT-toegang (just-in-time) tot de VM?. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-overview [2] Microsoft Leer. Maak just-in-time toegang op VM's mogelijk. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-usage [3] Microsoft Leer. Beheer serverbeveiliging met Microsoft Defender for Cloud. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/tutorial-enable-servers-plan [4] Microsoft Leer. Beheer JIT-toegang (just-in-time) tot uw VM's met behulp van PowerShell. Beschikbaar op: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-powershell