Azure: Geen Publieke IP-adressen Op Virtuele Machines (Gebruik Bastion/VPN)

💼 Management Samenvatting

Geen publieke IP-adressen op virtuele machines - alle beheerders toegang verloopt via Azure Bastion of VPN (Zero Trust: beheerinterfaces nooit blootstellen aan internet).

Aanbeveling
IMPLEMENTEER GEEN PUBLIEKE IP-ADRESSEN OP VIRTUELE MACHINES
Risico zonder
Critical
Risk Score
10/10
Implementatie
15u (tech: 10u)
Van toepassing op:
Azure VMs

Publieke IP-adressen vormen een kritiek aanvalsoppervlak voor cybercriminelen. Internetgerichte RDP-poorten (3389) zijn de belangrijkste toegangsvector voor ransomware-aanvallen via brute-force aanvallen, credential stuffing en RDP-exploits. Ook SSH-poorten (22) zijn kwetsbaar voor brute-force aanvallen en het misbruiken van bekende kwetsbaarheden. Aanvallers gebruiken tools zoals Shodan om publiek toegankelijke RDP-servers te scannen en direct aan te vallen. Door virtuele machines uitsluitend privé IP-adressen toe te kennen en beheerders toegang te verlenen via Azure Bastion, elimineert u directe blootstelling aan internet en creëert u een gecontroleerde beheeromgeving die voldoet aan Zero Trust-principes.

Implementatie

Het principe van geen publieke IP-adressen op virtuele machines betekent dat alle virtuele machines uitsluitend privé IP-adressen gebruiken volgens RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16). Beheerders toegang verloopt via Azure Bastion, dat HTML5-gebaseerde RDP- en SSH-verbindingen biedt via HTTPS op poort 443, of via Site-to-Site VPN-verbindingen die on-premises netwerken verbinden met Azure privé IP-adressen. ExpressRoute biedt aanvullende mogelijkheden voor private connectiviteit tussen on-premises omgevingen en Azure-cloudomgevingen. Uitzonderingen zijn toegestaan voor load balancers die publieke IP-adressen gebruiken als frontend, terwijl de backend virtuele machines privé blijven. Deze architectuur minimaliseert het aanvalsoppervlak en voldoet aan moderne beveiligingsstandaarden.

Vereisten

De implementatie van een beveiligde netwerkarchitectuur zonder publieke IP-adressen op virtuele machines vereist een zorgvuldige planning en de inzet van verschillende essentiële componenten en diensten. Deze vereisten vormen samen de fundamentele basis voor een robuuste beveiligingspostuur die voldoet aan moderne cybersecurity standaarden en compliance-eisen die essentieel zijn voor Nederlandse overheidsorganisaties en bedrijven die werken met gevoelige informatie. Het begrijpen van deze vereisten is cruciaal voor het succesvol implementeren van een netwerkarchitectuur die bescherming biedt tegen moderne cyberbedreigingen en die voldoet aan de strikte eisen die worden gesteld aan organisaties die werken met vertrouwelijke gegevens. Azure Bastion vormt de absolute kerncomponent voor beveiligde beheerders toegang en is onmisbaar in een moderne cloudbeveiligingsarchitectuur die voldoet aan Zero Trust-principes. Deze volledig beheerde Platform-as-a-Service (PaaS) dienst biedt naadloze Remote Desktop Protocol (RDP) en Secure Shell (SSH) connectiviteit rechtstreeks via de Azure Portal, zonder dat virtuele machines directe internetverbindingen nodig hebben. Het revolutionaire aspect van Azure Bastion ligt in het feit dat het volledig werkt op basis van HTML5-technologie, waardoor beheerders geen extra client software hoeven te installeren of complexe VPN-verbindingen hoeven te configureren. Deze benadering elimineert volledig de operationele complexiteit die traditioneel gepaard gaat met VPN-oplossingen en vereenvoudigt de beheerervaring aanzienlijk, wat resulteert in een efficiëntere en veiligere beheeromgeving. De service versleutelt alle communicatie end-to-end via Hypertext Transfer Protocol Secure (HTTPS) en integreert naadloos met Azure Active Directory voor geavanceerde authenticatie en autorisatie. Deze diepe integratie maakt het mogelijk om multi-factor authenticatie en conditional access policies toe te passen op alle beheerders toegang, wat een fundamenteel onderdeel vormt van Zero Trust-beveiligingsprincipes waarbij elke toegangspoging wordt geverifieerd en geautoriseerd, ongeacht de locatie van de gebruiker. Organisaties moeten een grondig begrip hebben van de kostenstructuur van Azure Bastion om weloverwogen beslissingen te kunnen nemen over de implementatie. De Basic SKU start vanaf ongeveer 140 euro per maand voor standaard gebruik, waarbij de kosten zijn gebaseerd op een combinatie van compute-uren en dataverkeer. Dit betekent dat organisaties met intensief gebruik of grote aantallen gelijktijdige verbindingen mogelijk hogere kosten zullen zien, wat een belangrijke overweging is bij het plannen van de implementatie. Voor grotere omgevingen met hoge beschikbaarheidseisen en kritieke workloads is de Standard SKU sterk aanbevolen, die extra functies biedt zoals ondersteuning voor meerdere gelijktijdige sessies, geavanceerde monitoring mogelijkheden, verbeterde prestaties en betere schaalbaarheid. De Standard SKU biedt ook superieure integratie met Azure Monitor en Log Analytics, wat essentieel is voor compliance en security auditing doeleinden. Organisaties moeten een uitgebreide kosten-batenanalyse uitvoeren waarbij de beveiligingsvoordelen worden afgewogen tegen de operationele kosten, waarbij rekening wordt gehouden met de potentiële financiële impact van een beveiligingsincident dat kan worden voorkomen door deze maatregel. Deze analyse moet ook rekening houden met de besparingen die worden gerealiseerd door het verminderen van de operationele overhead die gepaard gaat met het beheren van traditionele VPN-oplossingen. VPN Gateway diensten zijn optioneel maar sterk aanbevolen voor organisaties die hybride netwerkarchitecturen implementeren waarbij on-premises infrastructuur moet worden verbonden met Azure-cloudomgevingen. Site-to-Site VPN-verbindingen maken het mogelijk om on-premises netwerken veilig te verbinden met Azure virtuele netwerken via versleutelde Internet Protocol Security tunnels, waardoor beheerders toegang kunnen krijgen via bestaande netwerkinfrastructuur zonder dat virtuele machines directe internetverbindingen nodig hebben. Deze aanpak is bijzonder waardevol voor organisaties die al substantieel hebben geïnvesteerd in on-premises netwerkinfrastructuur en deze willen integreren met hun cloudomgevingen zonder grote architecturale wijzigingen. ExpressRoute biedt een alternatief met toegewijde private connectiviteit voor organisaties met hogere bandbreedte- en beschikbaarheidseisen, waarbij verbindingen worden gemaakt via een serviceprovider zonder dat verkeer over het publieke internet gaat. Deze toegewijde verbindingen bieden betere prestaties, lagere latentie en hogere beschikbaarheid in vergelijking met VPN-verbindingen, wat essentieel kan zijn voor kritieke workloads. De keuze tussen VPN Gateway en ExpressRoute hangt af van specifieke organisatorische behoeften, budgettaire overwegingen, compliance-eisen en de vereiste bandbreedte en beschikbaarheid. Organisaties moeten ook rekening houden met de operationele complexiteit en de benodigde expertise voor het beheren van deze verbindingen, waarbij VPN Gateway over het algemeen eenvoudiger te beheren is maar ExpressRoute betere prestaties biedt. Network Security Groups (NSGs) vormen een essentiële laag in de defense-in-depth strategie en zijn cruciaal voor het implementeren van netwerksegmentatie en micro-segmentatie binnen Azure-omgevingen. Hoewel virtuele machines geen publieke IP-adressen hebben, blijven NSGs cruciaal voor het beheren van verkeer tussen subnetten, het implementeren van least-privilege toegangsprincipes en het voorkomen van laterale beweging door aanvallers binnen het netwerk. NSGs maken het mogelijk om specifieke verkeersstromen toe te staan of te blokkeren op basis van bron- en doeladressen, poorten en protocollen, wat essentieel is voor het creëren van geïsoleerde netwerksegmenten voor verschillende workloads en toepassingen. Deze granulariteit stelt organisaties in staat om een fijnmazige beveiligingsarchitectuur te implementeren waarbij alleen geautoriseerd verkeer wordt toegestaan, wat de beveiligingspostuur aanzienlijk verbetert. Organisaties moeten NSG-regels regelmatig auditen en optimaliseren om onnodige toegang te voorkomen, de beveiligingspostuur te verbeteren en te voldoen aan compliance-eisen zoals de Baseline Informatiebeveiliging Overheid (BIO) en ISO 27001. Deze regelmatige audits zijn essentieel omdat netwerkconfiguraties kunnen veranderen naarmate organisaties groeien en nieuwe services implementeren, wat kan leiden tot onbedoelde beveiligingslekken als de NSG-regels niet worden bijgewerkt. De combinatie van privé IP-adressen, Azure Bastion en goed geconfigureerde NSGs creëert een gelaagde beveiligingsarchitectuur die bescherming biedt tegen zowel externe als interne bedreigingen, wat essentieel is voor het implementeren van Zero Trust-netwerkbeveiligingsprincipes waarbij elke laag van de netwerkarchitectuur bijdraagt aan de algehele beveiligingspostuur.

Implementatie

Gebruik PowerShell-script no-public-ip-on-vms.ps1 (functie Invoke-Implementation) – Implementeren.

De implementatie van een beveiligde netwerkarchitectuur zonder publieke IP-adressen op virtuele machines vereist een gestructureerde en methodische aanpak die begint met grondige planning, het implementeren van Azure Policy regels en het opzetten van de benodigde infrastructuur componenten. Deze implementatie vertegenwoordigt een fundamentele beveiligingsmaatregel die essentieel is voor het voldoen aan moderne cybersecurity standaarden en compliance-eisen zoals de CIS Microsoft Azure Foundations Benchmark, Zero Trust-architectuur principes en de Baseline Informatiebeveiliging Overheid (BIO). Het succesvol implementeren van deze maatregel vereist een diep begrip van de netwerkarchitectuur, de beschikbare Azure-services en de specifieke behoeften van de organisatie, waarbij elke stap zorgvuldig moet worden gepland en uitgevoerd om te zorgen voor een naadloze overgang zonder impact op bedrijfsprocessen. De eerste en meest kritieke stap betreft het configureren van Azure Policy om automatisch te voorkomen dat nieuwe virtuele machines publieke IP-adressen toegewezen krijgen. Deze policy regel moet worden toegepast op alle resourcegroepen en abonnementen waar virtuele machines worden geïmplementeerd, wat betekent dat organisaties een uitgebreide governance-strategie moeten ontwikkelen die ervoor zorgt dat alle relevante resources worden gedekt. De policy definitie controleert bij het maken of wijzigen van virtuele machines of er een publiek IP-adres wordt toegewezen en blokkeert deze actie proactief indien nodig, wat voorkomt dat beheerders per ongeluk beveiligingsconfiguratiefouten maken die kunnen leiden tot onbedoelde blootstelling aan internet. Voor bestaande omgevingen moet deze policy worden toegepast met een audit-modus om eerst te identificeren welke virtuele machines momenteel publieke IP-adressen hebben, voordat de enforcement-modus wordt geactiveerd. Deze gefaseerde aanpak minimaliseert het risico op service-onderbrekingen en geeft organisaties de tijd om alternatieve toegangsmethoden te implementeren voordat de policy wordt gehandhaafd, wat essentieel is voor het waarborgen van bedrijfscontinuïteit. Organisaties moeten ook overwegen om de policy te koppelen aan Azure Management Groups voor enterprise-wide governance, wat ervoor zorgt dat de policy automatisch wordt toegepast op alle nieuwe abonnementen en resourcegroepen, waardoor een consistente beveiligingspostuur wordt gegarandeerd across de gehele organisatie. De implementatie van Azure Bastion vormt de volgende kritieke stap en vereist zorgvuldige planning van de netwerkarchitectuur om te zorgen voor optimale prestaties en beschikbaarheid. Azure Bastion moet worden geïmplementeerd in hetzelfde virtuele netwerk als de virtuele machines die beheerd moeten worden, of in een peered virtueel netwerk met de juiste routeerconfiguratie. Deze netwerkconfiguratie is essentieel omdat Azure Bastion alleen verbinding kan maken met virtuele machines binnen hetzelfde virtuele netwerk of peered netwerken, wat betekent dat organisaties de netwerktopologie zorgvuldig moeten plannen om te zorgen dat alle virtuele machines toegankelijk zijn via Bastion. De Bastion-service vereist een dedicated subnet met de exacte naam 'AzureBastionSubnet' en een minimale subnetgrootte van /26, wat overeenkomt met 64 IP-adressen. Deze subnetgrootte is vereist omdat Azure Bastion meerdere interne IP-adressen gebruikt voor load balancing en hoge beschikbaarheid, wat essentieel is voor het waarborgen van betrouwbare toegang tot virtuele machines. Organisaties moeten rekening houden met de beschikbaarheidseisen en overwegen om meerdere Bastion-instanties te implementeren in verschillende beschikbaarheidszones voor hoge beschikbaarheid, wat essentieel is voor productieomgevingen waar service-onderbrekingen niet acceptabel zijn en waar continue toegang tot virtuele machines cruciaal is voor bedrijfsprocessen. Na de implementatie kunnen beheerders via de Azure Portal verbinding maken met virtuele machines door simpelweg op de 'Connect' knop te klikken en 'Bastion' te selecteren, wat een naadloze gebruikerservaring biedt zonder dat complexe VPN-configuraties nodig zijn. De verbinding verloopt volledig via HTTPS op poort 443, waardoor geen extra firewallregels nodig zijn voor RDP (poort 3389) of SSH (poort 22) poorten, wat het aanvalsoppervlak aanzienlijk vermindert en de beveiligingspostuur verbetert. Voor bestaande omgevingen met virtuele machines die momenteel publieke IP-adressen hebben, moet een uitgebreid migratieplan worden uitgevoerd dat rekening houdt met bedrijfscontinuïteit en minimale service-onderbrekingen. Dit proces begint met het identificeren van alle virtuele machines met publieke IP-adressen via Azure Resource Graph queries of de meegeleverde PowerShell scripts, wat een volledig overzicht geeft van de huidige configuratie en de omvang van de migratie. Deze inventarisatie is essentieel voor het plannen van de migratie en het identificeren van potentiële uitdagingen voordat het migratieproces begint. Vervolgens moeten organisaties een uitgebreide risicoanalyse uitvoeren voor elke virtuele machine om te bepalen of er legitieme bedrijfsvereisten zijn voor het publieke IP-adres, of dat het kan worden verwijderd zonder impact op bedrijfsprocessen. Deze analyse moet worden uitgevoerd in samenwerking met de eigenaren van de virtuele machines en de applicatie-eigenaren om ervoor te zorgen dat alle bedrijfsvereisten worden begrepen en dat alternatieve oplossingen kunnen worden geïmplementeerd waar nodig. Voor virtuele machines die legitieme publieke toegang vereisen, moeten organisaties alternatieve oplossingen implementeren zoals Application Gateways of Load Balancers met publieke frontends, terwijl de backend virtuele machines privé blijven. Deze architectuur biedt een veiligere benadering waarbij alleen de frontend publiek toegankelijk is terwijl de backend volledig geïsoleerd blijft. Vervolgens moeten de publieke IP-adressen worden losgekoppeld van de virtuele machines en verwijderd tijdens geplande onderhoudsvensters om service-onderbrekingen te minimaliseren. Het is belangrijk om dit proces te plannen tijdens onderhoudsvensters, omdat het loskoppelen van een publiek IP-adres tijdelijk de externe toegang kan onderbreken totdat alternatieve toegangsmethoden operationeel zijn. Na het verwijderen van publieke IP-adressen moeten beheerders overstappen op Azure Bastion voor alle beheeractiviteiten, wat mogelijk training en aanpassing van bestaande procedures en scripts vereist. Organisaties moeten ook controleren of er applicaties of services zijn die afhankelijk zijn van de publieke IP-adressen en deze migreren naar alternatieve oplossingen zoals Application Gateways of Load Balancers met publieke frontends, wat een veiligere architectuur biedt waarbij alleen de frontend publiek toegankelijk is terwijl de backend volledig geïsoleerd blijft.

Compliance

De implementatie van een netwerkarchitectuur zonder publieke IP-adressen op virtuele machines draagt direct en substantieel bij aan het voldoen aan verschillende belangrijke cybersecurity frameworks en compliance-eisen die relevant zijn voor Nederlandse overheidsorganisaties en bedrijven die werken met gevoelige informatie en moeten voldoen aan strikte beveiligings- en privacyvereisten. Deze compliance-aspecten zijn van cruciaal belang omdat organisaties die niet voldoen aan deze eisen kunnen worden geconfronteerd met financiële boetes, reputatieschade en het verlies van certificeringen, wat kan leiden tot aanzienlijke bedrijfsimpact. Het begrijpen van hoe deze maatregel bijdraagt aan compliance is essentieel voor het verkrijgen van steun van management en stakeholders voor de implementatie. De CIS Microsoft Azure Foundations Benchmark Level 1 (L1) bevat expliciete en gedetailleerde aanbevelingen voor het minimaliseren van het aanvalsoppervlak door het vermijden van onnodige blootstelling van beheerinterfaces aan internet. Deze baseline, ontwikkeld door het Center for Internet Security, vormt een internationaal erkende standaard voor cloudbeveiliging en wordt gebruikt door organisaties wereldwijd als basis voor hun cloudbeveiligingsstrategie. De baseline controleert of virtuele machines geen publieke IP-adressen hebben en of beheerders toegang verloopt via beveiligde kanalen zoals Azure Bastion, wat een fundamentele beveiligingsmaatregel is die essentieel is voor het voorkomen van ongeautoriseerde toegang en cyberaanvallen. Organisaties die deze baseline implementeren, demonstreren een fundamentele beveiligingspostuur die essentieel is voor cloud-omgevingen en die een solide basis vormt voor verdere beveiligingsmaatregelen. Compliance met de CIS Azure Benchmark is vaak een vereiste voor organisaties die werken met gevoelige informatie of die moeten voldoen aan sectorale compliance-eisen, en het niet implementeren van deze maatregel kan leiden tot niet-compliance en mogelijke financiële en reputatieschade. Deze baseline wordt ook gebruikt door auditors en compliance officers als basis voor het beoordelen van de beveiligingspostuur van cloud-omgevingen, wat betekent dat organisaties die niet voldoen aan deze eisen kunnen worden geconfronteerd met negatieve auditbevindingen. Zero Trust-architectuur principes vereisen dat alle netwerkverkeer wordt geverifieerd en geautoriseerd, ongeacht de locatie van de bron, wat betekent dat organisaties niet langer kunnen vertrouwen op netwerkgrenzen als beveiligingscontrole. Deze fundamentele verschuiving in beveiligingsdenken vereist dat organisaties elke toegangspoging behandelen als potentieel verdacht en expliciete verificatie en autorisatie vereisen voor alle toegang, ongeacht of deze afkomstig is van binnen of buiten het netwerk. Door virtuele machines uitsluitend privé IP-adressen toe te kennen en beheerders toegang te verlenen via Azure Bastion, elimineert u impliciete vertrouwen in netwerklocatie en implementeert u expliciete verificatie voor alle toegangspogingen, wat een fundamenteel principe is van Zero Trust-beveiliging. Deze aanpak sluit naadloos aan bij Microsoft's Zero Trust-model, dat organisaties helpt bij het implementeren van een moderne beveiligingsarchitectuur die bescherming biedt tegen geavanceerde bedreigingen, en de aanbevelingen van het Nationaal Cyber Security Centrum (NCSC) voor cloudbeveiliging, die specifiek gericht zijn op Nederlandse organisaties. Het NCSC benadrukt het belang van het minimaliseren van het aanvalsoppervlak en het implementeren van defense-in-depth strategieën, waarbij het vermijden van publieke IP-adressen op virtuele machines een essentiële eerste verdedigingslaag vormt. Deze aanbevelingen zijn gebaseerd op uitgebreid onderzoek naar moderne cyberbedreigingen en vormen een essentieel onderdeel van de Nederlandse cybersecurity-strategie. De Baseline Informatiebeveiliging Overheid (BIO) controle 13.01.03 specificeert expliciete eisen voor netwerksegmentatie en het beperken van netwerktoegang, wat essentieel is voor het voorkomen van ongeautoriseerde toegang en het beperken van de impact van beveiligingsincidenten. De BIO is de Nederlandse standaard voor informatiebeveiliging in de publieke sector en is verplicht voor alle overheidsorganisaties die werken met gevoelige informatie. Deze standaard is ontwikkeld om te zorgen voor een consistente en hoge beveiligingsstandaard across alle overheidsorganisaties, wat essentieel is voor het beschermen van vertrouwelijke overheidsinformatie. Door virtuele machines te isoleren van directe internettoegang en beheerders toegang te verlenen via gecontroleerde kanalen zoals Azure Bastion, voldoet u aan deze BIO-eis en demonstreert u dat uw organisatie serieus omgaat met informatiebeveiliging. De implementatie moet worden gedocumenteerd in het informatiebeveiligingsbeleid en regelmatig worden geaudit om te verifiëren dat de maatregelen effectief blijven en dat er geen regressie optreedt in de beveiligingsconfiguratie. Organisaties moeten ook kunnen aantonen tijdens audits dat alle virtuele machines uitsluitend privé IP-adressen hebben en dat er geen publieke IP-adressen zijn toegewezen aan virtuele machines, wat vereist dat regelmatige compliance controles worden uitgevoerd en gedocumenteerd. Deze audits worden uitgevoerd door interne en externe auditors die de beveiligingsconfiguratie controleren op compliance met de BIO-eisen. ISO 27001 controle A.13.1.1 betreft het beheer van netwerkdiensten en vereist dat organisaties netwerkbeveiliging implementeren die geschikt is voor de bedrijfsvereisten en de classificatie van informatie, wat betekent dat organisaties moeten beoordelen welke netwerkbeveiligingsmaatregelen nodig zijn op basis van de gevoeligheid van de informatie die wordt verwerkt. Deze controle is onderdeel van het informatiebeveiligingsmanagementsysteem (ISMS) en vereist dat organisaties een risicogebaseerde aanpak volgen voor het implementeren van netwerkbeveiligingsmaatregelen. Het vermijden van publieke IP-adressen op virtuele machines vormt een fundamentele netwerkbeveiligingsmaatregel die het risico op ongeautoriseerde toegang en data-exfiltratie aanzienlijk vermindert, wat essentieel is voor het voldoen aan ISO 27001-eisen. Organisaties moeten deze maatregel documenteren in hun informatiebeveiligingsmanagementsysteem (ISMS) en regelmatig evalueren op effectiviteit, wat betekent dat de implementatie moet worden beschreven in beveiligingsdocumentatie, dat regelmatige risicoanalyses moeten worden uitgevoerd, en dat de maatregel moet worden getest en geaudit om te verifiëren dat deze effectief blijft. ISO 27001-certificering is vaak een vereiste voor organisaties die werken met gevoelige informatie of die moeten voldoen aan internationale compliance-eisen, en het niet implementeren van deze maatregel kan leiden tot niet-compliance en het verlies van certificering. Deze certificering wordt gebruikt door klanten en partners als bewijs van een sterke beveiligingspostuur, wat betekent dat het verlies van certificering aanzienlijke bedrijfsimpact kan hebben. De NIST Cybersecurity Framework controle SC-7 betreft perimeterbeveiliging en vereist dat organisaties externe systemen monitoren en controleren op communicatie aan de externe grenzen van het systeem, wat betekent dat organisaties effectieve perimeterbeveiliging moeten implementeren. Deze controle is onderdeel van het Protect-functiegebied van het NIST Cybersecurity Framework en richt zich op het beperken van het aanvalsoppervlak door het implementeren van effectieve perimeterbeveiligingsmaatregelen. Door virtuele machines te isoleren van directe internettoegang en alle beheerders communicatie te routeren via Azure Bastion, implementeert u effectieve perimeterbeveiligingsmaatregelen die ervoor zorgen dat alle communicatie met virtuele machines verloopt via gecontroleerde en gemonitorde kanalen. Deze aanpak vermindert het aantal aanvalsvectoren aanzienlijk en maakt het mogelijk om alle beheerders toegang te monitoren en te loggen voor security auditing doeleinden, wat essentieel is voor het detecteren en reageren op beveiligingsincidenten. De NIST Cybersecurity Framework wordt gebruikt door organisaties wereldwijd als basis voor hun cybersecurity-strategie en biedt een gestructureerde aanpak voor het implementeren van beveiligingsmaatregelen die bescherming bieden tegen een breed scala aan bedreigingen. Dit framework wordt ook gebruikt door overheidsorganisaties in de Verenigde Staten en wordt steeds vaker gebruikt door organisaties wereldwijd als basis voor hun cybersecurity-strategie.

Monitoring

Gebruik PowerShell-script no-public-ip-on-vms.ps1 (functie Invoke-Monitoring) – Controleren.

Effectieve monitoring van de netwerkbeveiligingsconfiguratie vereist continue verificatie dat virtuele machines geen publieke IP-adressen hebben en dat alle beheerders toegang verloopt via beveiligde kanalen zoals Azure Bastion. Deze monitoring vormt een essentieel onderdeel van een moderne cybersecurity-strategie en is cruciaal voor het handhaven van een sterke beveiligingspostuur en het voldoen aan compliance-eisen zoals de Baseline Informatiebeveiliging Overheid (BIO), ISO 27001 en de CIS Microsoft Azure Foundations Benchmark. Organisaties moeten een proactieve en uitgebreide monitoringstrategie implementeren die niet alleen detecteert wanneer configuratiefouten optreden, maar ook trends en patronen identificeert die kunnen wijzen op beveiligingsrisico's of compliance-problemen. Deze strategie moet worden geïntegreerd in de algehele security operations center (SOC) workflows om te zorgen voor snelle detectie en respons op beveiligingsincidenten. Azure Policy biedt ingebouwde en krachtige monitoring mogelijkheden voor het controleren van compliance met de regel dat virtuele machines geen publieke IP-adressen mogen hebben, wat een fundamentele beveiligingsmaatregel is die essentieel is voor het voorkomen van ongeautoriseerde toegang. Deze policy-based monitoring biedt een geautomatiseerde manier om te verifiëren dat alle virtuele machines voldoen aan de beveiligingsvereisten, wat essentieel is voor grote omgevingen waar handmatige controles niet praktisch zijn. Organisaties moeten regelmatig de compliance status controleren via het Azure Policy compliance dashboard, dat een overzicht geeft van alle resources die niet voldoen aan de geconfigureerde policies, en actie ondernemen voor resources die niet-compliant zijn. Dit dashboard biedt inzicht in de algehele compliance status en helpt organisaties bij het identificeren van trends en patronen in configuratiefouten. De policy evaluatie kan worden geautomatiseerd met Azure Automation runbooks of Azure Functions die periodiek de compliance status controleren en meldingen verzenden wanneer niet-compliant resources worden gedetecteerd, wat ervoor zorgt dat beveiligingsproblemen snel worden geïdentificeerd en opgelost. Deze automatisering is bijzonder waardevol voor grote omgevingen waar handmatige controles niet praktisch zijn en waar snelle detectie van configuratiefouten essentieel is voor het handhaven van beveiliging. Organisaties moeten ook overwegen om de compliance status te integreren met hun Security Information and Event Management (SIEM) systemen voor gecentraliseerde monitoring en alerting, wat zorgt voor een holistische view van de beveiligingspostuur. Azure Resource Graph queries vormen een krachtige en efficiënte tool voor het identificeren van virtuele machines met publieke IP-adressen en bieden een snelle manier om grote Azure-omgevingen te doorzoeken op specifieke configuratieproblemen. Deze queries kunnen complexe zoekopdrachten uitvoeren across meerdere abonnementen en resourcegroepen, wat essentieel is voor enterprise-omgevingen met honderden of duizenden virtuele machines. Organisaties moeten regelmatig queries uitvoeren die alle virtuele machines identificeren met gekoppelde publieke IP-adressen en deze rapporteren aan het security team, wat een proactieve aanpak mogelijk maakt waarbij beveiligingsproblemen worden gedetecteerd voordat ze kunnen worden uitgebuit door aanvallers. Deze queries kunnen worden geautomatiseerd en geïntegreerd met monitoring oplossingen zoals Azure Monitor of SIEM-systemen voor continue bewaking, wat ervoor zorgt dat configuratiefouten snel worden gedetecteerd en gecorrigeerd. Azure Resource Graph biedt ook de mogelijkheid om complexe queries uit te voeren die rekening houden met meerdere factoren, zoals resourcegroepen, tags en abonnementen, wat organisaties helpt bij het identificeren van patronen en trends in configuratiefouten. Deze patronen kunnen wijzen op systematische problemen in de implementatie of governance-processen die moeten worden aangepakt. Azure Bastion biedt uitgebreide ingebouwde logging en monitoring mogelijkheden via Azure Monitor, wat een gecentraliseerde oplossing biedt voor het verzamelen, analyseren en opslaan van beveiligingslogs. Alle Bastion-verbindingen worden gedetailleerd gelogd, inclusief gebruikersinformatie, verbindingstijden, doelvirtuele machines en de status van verbindingspogingen, wat een volledig audit trail biedt voor alle beheerders toegang. Deze logs zijn essentieel voor compliance-auditing en forensisch onderzoek na beveiligingsincidenten, wat betekent dat organisaties deze logs moeten bewaren voor de vereiste retentieperiode zoals gespecificeerd in compliance-eisen. Organisaties moeten deze logs regelmatig analyseren om verdachte activiteiten te detecteren, zoals ongebruikelijke verbindingstijden, meerdere mislukte verbindingspogingen, toegangspogingen door onbevoegde gebruikers, of verbindingen vanaf ongebruikelijke locaties, wat kan wijzen op een beveiligingsincident of een poging tot ongeautoriseerde toegang. De logs kunnen worden doorgestuurd naar een Log Analytics workspace voor geavanceerde analyse en lange-termijn opslag, wat organisaties helpt bij het identificeren van trends en patronen in beheerders toegang en het voldoen aan compliance-eisen voor logretentie. Organisaties moeten ook overwegen om Azure Sentinel te gebruiken voor geavanceerde security analytics en threat detection op basis van Bastion-logs, wat zorgt voor proactieve detectie van beveiligingsbedreigingen. Network Security Groups (NSGs) genereren gedetailleerde flow logs die uitgebreid inzicht bieden in netwerkverkeer naar en van virtuele machines, wat essentieel is voor het detecteren van ongebruikelijke verkeerspatronen en potentiële beveiligingsincidenten. Hoewel virtuele machines geen publieke IP-adressen hebben, blijven NSG flow logs waardevol voor het detecteren van laterale beweging door aanvallers binnen het netwerk, het identificeren van ongebruikelijke verkeerspatronen die kunnen wijzen op malware of data-exfiltratie, en het monitoren van netwerkverkeer voor compliance-doeleinden. Deze logs bieden inzicht in alle netwerkcommunicatie binnen het virtuele netwerk, wat essentieel is voor het detecteren van verdachte activiteiten die kunnen wijzen op een beveiligingsincident. Organisaties moeten NSG flow logs inschakelen en configureren voor doorgifte naar een Log Analytics workspace of Azure Storage account voor analyse, wat een gecentraliseerde oplossing biedt voor het verzamelen en analyseren van netwerkverkeersdata. Deze logs kunnen worden gebruikt voor security analytics, compliance-auditing en forensisch onderzoek na beveiligingsincidenten, wat essentieel is voor het voldoen aan compliance-eisen en het verbeteren van de beveiligingspostuur. De analyse van deze logs kan ook helpen bij het identificeren van optimalisatiemogelijkheden in de netwerkconfiguratie en het verbeteren van de algehele beveiligingspostuur. Azure Security Center, nu onderdeel van Microsoft Defender for Cloud, biedt geïntegreerde en intelligente beveiligingsaanbevelingen die organisaties proactief waarschuwen wanneer virtuele machines publieke IP-adressen hebben of wanneer beveiligingsconfiguraties niet optimaal zijn, wat een proactieve aanpak mogelijk maakt waarbij beveiligingsproblemen worden geïdentificeerd voordat ze kunnen worden uitgebuit. Deze service biedt een gecentraliseerde view van de beveiligingspostuur van alle Azure-resources en helpt organisaties bij het identificeren en oplossen van beveiligingsproblemen. Organisaties moeten Security Center regelmatig controleren en actie ondernemen op beveiligingsaanbevelingen, wat essentieel is voor het handhaven van een sterke beveiligingspostuur en het voldoen aan compliance-eisen. De aanbevelingen kunnen worden geautomatiseerd via Azure Security Center's automatische remediation functies of via Azure Automation runbooks die de aanbevelingen implementeren volgens goedgekeurde procedures, wat ervoor zorgt dat beveiligingsproblemen snel worden opgelost zonder handmatige interventie. Security Center biedt ook een security score die organisaties helpt bij het meten van hun beveiligingspostuur en het identificeren van gebieden waar verbetering mogelijk is, wat een waardevolle tool is voor continue beveiligingsverbetering. Deze score kan worden gebruikt als key performance indicator (KPI) voor de beveiligingspostuur en kan worden gerapporteerd aan management en stakeholders.

Remediatie

Gebruik PowerShell-script no-public-ip-on-vms.ps1 (functie Invoke-Remediation) – Herstellen.

Wanneer virtuele machines worden gedetecteerd met publieke IP-adressen, moet een gestructureerd en methodisch remediatieproces worden uitgevoerd om de beveiligingspostuur te herstellen en compliance te waarborgen. Dit proces is essentieel voor het elimineren van beveiligingsrisico's en het voldoen aan compliance-eisen zoals de CIS Microsoft Azure Foundations Benchmark, Zero Trust-architectuur principes en de Baseline Informatiebeveiliging Overheid (BIO). Het remediatieproces moet worden uitgevoerd met zorgvuldige planning en coördinatie om service-onderbrekingen te minimaliseren en ervoor te zorgen dat bedrijfsprocessen niet worden verstoord. Deze planning is cruciaal omdat het verwijderen van publieke IP-adressen tijdelijk de externe toegang tot virtuele machines kan onderbreken, wat kan leiden tot service-onderbrekingen als het proces niet zorgvuldig wordt uitgevoerd. Het remediatieproces begint met een uitgebreide identificatie en inventarisatie van alle virtuele machines die momenteel publieke IP-adressen hebben, wat een grondige en systematische inventarisatie vereist van alle resources in de Azure-omgeving. Deze inventarisatie is essentieel voor het plannen van het remediatieproces en het identificeren van potentiële uitdagingen voordat het proces begint. Dit kan worden gedaan via Azure Resource Graph queries, die een efficiënte manier bieden om grote omgevingen te doorzoeken, Azure Policy compliance rapporten die een overzicht geven van niet-compliant resources, of de meegeleverde PowerShell scripts die specifiek zijn ontwikkeld voor dit doel. Voor elke virtuele machine moet worden geëvalueerd of er legitieme bedrijfsvereisten zijn voor het publieke IP-adres, of dat het kan worden verwijderd zonder impact op bedrijfsprocessen. Deze evaluatie moet worden uitgevoerd in samenwerking met de eigenaren van de virtuele machines en de applicatie-eigenaren om ervoor te zorgen dat alle bedrijfsvereisten worden begrepen en dat alternatieve oplossingen kunnen worden geïmplementeerd waar nodig. Deze samenwerking is essentieel omdat het verwijderen van publieke IP-adressen impact kan hebben op applicaties en services die afhankelijk zijn van deze configuratie. Voor virtuele machines die legitieme publieke toegang vereisen, moeten organisaties alternatieve oplossingen implementeren zoals Application Gateways of Load Balancers met publieke frontends, terwijl de backend virtuele machines privé blijven, wat een veiligere architectuur biedt waarbij alleen de frontend publiek toegankelijk is. Voordat publieke IP-adressen worden verwijderd, moeten organisaties ervoor zorgen dat alternatieve toegangsmethoden beschikbaar zijn en volledig operationeel zijn, wat essentieel is voor het voorkomen van service-onderbrekingen en het waarborgen van bedrijfscontinuïteit. Deze voorbereiding is cruciaal omdat het verwijderen van publieke IP-adressen zonder alternatieve toegangsmethoden kan leiden tot volledige verlies van toegang tot virtuele machines, wat kan resulteren in aanzienlijke service-onderbrekingen. Als Azure Bastion nog niet is geïmplementeerd, moet dit eerst worden opgezet in het virtuele netwerk waar de virtuele machines zich bevinden, wat een zorgvuldige planning vereist van de netwerkarchitectuur en de configuratie van het dedicated subnet. Deze implementatie moet worden getest om te verifiëren dat beheerders toegang kunnen krijgen tot virtuele machines via Bastion voordat publieke IP-adressen worden verwijderd. Voor omgevingen met bestaande VPN-verbindingen moet worden geverifieerd dat beheerders toegang kunnen krijgen via deze kanalen voordat publieke IP-adressen worden verwijderd, wat testen vereist van de VPN-verbindingen en verificatie dat alle benodigde routes en firewallregels correct zijn geconfigureerd. Organisaties moeten ook overwegen om een testomgeving op te zetten waar het remediatieproces kan worden getest voordat het wordt toegepast op productieomgevingen, wat helpt bij het identificeren van potentiële problemen en het minimaliseren van risico's. Deze testomgeving moet een representatieve kopie zijn van de productieomgeving om te zorgen dat testresultaten accuraat zijn. Het loskoppelen van publieke IP-adressen moet worden uitgevoerd tijdens geplande onderhoudsvensters om eventuele service-onderbrekingen te minimaliseren, wat betekent dat organisaties een change management proces moeten volgen waarbij onderhoudsvensters worden gepland en stakeholders worden geïnformeerd. Dit change management proces is essentieel voor het waarborgen dat alle betrokken partijen op de hoogte zijn van de geplande wijzigingen en dat eventuele impact wordt geminimaliseerd. Het proces omvat het loskoppelen van het publieke IP-adres van de netwerkinterface van de virtuele machine, gevolgd door het verwijderen van het publieke IP-adres resource zelf, wat zorgvuldig moet worden uitgevoerd om ervoor te zorgen dat er geen afhankelijkheden zijn die kunnen leiden tot onverwachte problemen. Organisaties moeten ervoor zorgen dat alle afhankelijke services en applicaties kunnen blijven functioneren zonder het publieke IP-adres, of dat alternatieve oplossingen zoals Application Gateways of Load Balancers zijn geïmplementeerd voordat het publieke IP-adres wordt verwijderd. Het is ook belangrijk om te controleren of er DNS-records of andere configuraties zijn die verwijzen naar het publieke IP-adres en deze bij te werken naar de nieuwe configuratie, wat essentieel is voor het voorkomen van service-onderbrekingen die kunnen optreden wanneer applicaties of services proberen verbinding te maken met het oude IP-adres. Na het verwijderen van publieke IP-adressen moeten beheerders overstappen op Azure Bastion voor alle beheeractiviteiten, wat een significante verandering vereist in de manier waarop beheerders toegang krijgen tot virtuele machines. Deze overgang vereist mogelijk training en aanpassing van bestaande procedures en scripts die mogelijk afhankelijk zijn van directe RDP- of SSH-verbindingen, wat betekent dat organisaties moeten investeren in training en documentatie om ervoor te zorgen dat beheerders bekend zijn met de nieuwe toegangsmethode. Deze training is essentieel voor het waarborgen dat beheerders effectief kunnen werken met de nieuwe toegangsmethode en dat productiviteit niet wordt beïnvloed. Organisaties moeten ook controleren of er monitoring- of automatiseringstools zijn die afhankelijk zijn van publieke IP-adressen en deze bijwerken naar alternatieve toegangsmethoden, wat een grondige inventarisatie vereist van alle tools en scripts die worden gebruikt voor het beheren van virtuele machines. Deze inventarisatie is essentieel omdat tools die afhankelijk zijn van publieke IP-adressen niet meer zullen functioneren na het verwijderen van deze adressen. Het is ook belangrijk om te documenteren welke wijzigingen zijn aangebracht en waarom, wat essentieel is voor compliance en auditing doeleinden en wat helpt bij het verifiëren dat het remediatieproces correct is uitgevoerd. Azure Policy moet worden geconfigureerd om toekomstige toewijzingen van publieke IP-adressen aan virtuele machines te voorkomen, wat een preventieve maatregel is die ervoor zorgt dat configuratiefouten niet opnieuw kunnen optreden. Deze policy-configuratie is essentieel voor het waarborgen dat de beveiligingspostuur wordt gehandhaafd en dat nieuwe virtuele machines automatisch voldoen aan de beveiligingsvereisten. De policy moet worden toegepast op alle relevante resourcegroepen en abonnementen met enforcement-modus om te voorkomen dat nieuwe virtuele machines per ongeluk publieke IP-adressen krijgen toegewezen, wat betekent dat organisaties een governance-strategie moeten ontwikkelen die ervoor zorgt dat alle relevante resources worden gedekt. Regelmatige compliance controles moeten worden uitgevoerd om te verifiëren dat de policy effectief blijft en dat geen nieuwe niet-compliant resources worden gecreëerd, wat een continue monitoring vereist van de compliance status en het nemen van corrigerende maatregelen wanneer nodig. Deze controles zijn essentieel voor het waarborgen dat de beveiligingspostuur wordt gehandhaafd en dat configuratiefouten snel worden gedetecteerd en gecorrigeerd. Organisaties moeten ook overwegen om de policy te koppelen aan Azure Management Groups voor enterprise-wide governance, wat ervoor zorgt dat de policy automatisch wordt toegepast op alle nieuwe abonnementen en resourcegroepen, wat een consistente beveiligingspostuur garandeert across de gehele organisatie.

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 Azure: No Public IPs op VMs (Use Bastion/VPN) .DESCRIPTION Implementeert, monitort en herstelt: Azure: No Public IPs op VMs (Use Bastion/VPN) .NOTES Filename: no-public-ip-on-vms.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Workload: Azure Category: network-security #> #Requires -Version 5.1 #Requires -Modules Az.Accounts [CmdletBinding()] param() $ErrorActionPreference = 'Stop' function Invoke-Implementation { <# .SYNOPSIS Implementeert de configuratie #> [CmdletBinding()] param() Write-Host "[INFO] Invoke-Implementation - Azure: No Public IPs op VMs (Use Bastion/VPN)" -ForegroundColor Cyan Invoke-Remediation } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() try { Write-Host " ========================================" -ForegroundColor Cyan Write-Host "Azure: No Public IPs op VMs (Use Bastion/VPN) - Monitoring" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } # TODO: Implementeer monitoring logica voor Azure: No Public IPs op VMs (Use Bastion/VPN) Write-Host "[INFO] Monitoring check voor Azure: No Public IPs op VMs (Use Bastion/VPN)" -ForegroundColor Yellow Write-Host "[OK] Monitoring check completed" -ForegroundColor Green } catch { Write-Error "Monitoring failed: $_" throw } } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat #> [CmdletBinding()] param() try { Write-Host " ========================================" -ForegroundColor Cyan Write-Host "Azure: No Public IPs op VMs (Use Bastion/VPN) - Remediation" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } # TODO: Implementeer remediation logica voor Azure: No Public IPs op VMs (Use Bastion/VPN) Write-Host "[INFO] Remediation voor Azure: No Public IPs op VMs (Use Bastion/VPN)" -ForegroundColor Yellow Write-Host "[OK] Remediation completed" -ForegroundColor Green } catch { Write-Error "Remediation failed: $_" throw } }

Risico zonder implementatie

Risico zonder implementatie
Critical: Publieke IP-adressen op virtuele machines creëren directe blootstelling aan internet, wat een kritiek beveiligingsrisico vormt. RDP- en SSH-poorten zijn de belangrijkste toegangsvectoren voor ransomware-aanvallen via brute-force aanvallen, credential stuffing en het misbruiken van bekende kwetsbaarheden. Aanvallers gebruiken geautomatiseerde tools zoals Shodan om publiek toegankelijke beheerpoorten te scannen en direct aan te vallen. Virtuele machines met publieke IP-adressen zijn ook kwetsbaar voor port scanning activiteiten en kunnen worden gebruikt als doelwit voor DDoS-aanvallen. Deze configuratie voldoet niet aan moderne beveiligingsstandaarden zoals CIS Azure Benchmark, Zero Trust-principes en BIO controle 13.01. Het risico is kritiek omdat het een aanzienlijk aanvalsoppervlak creëert dat direct toegankelijk is vanaf internet zonder aanvullende beveiligingslagen.

Management Samenvatting

Geen publieke IP-adressen op virtuele machines: alle virtuele machines gebruiken uitsluitend privé IP-adressen (RFC 1918 ranges zoals 10.x.x.x). Beheerders toegang verloopt via Azure Bastion (ongeveer 140 euro per maand) of VPN Gateway voor hybride omgevingen. Toewijzing van publieke IP-adressen wordt geblokkeerd via Azure Policy om toekomstige configuratiefouten te voorkomen. Activatieproces: verwijder bestaande publieke IP-adressen, implementeer Azure Bastion in het virtuele netwerk, en configureer Azure Policy om toekomstige toewijzingen te blokkeren. De implementatie zelf is kosteloos, maar Azure Bastion brengt maandelijkse kosten met zich mee. Deze maatregel is verplicht voor compliance met CIS Azure Benchmark, Zero Trust-architectuur en BIO controle 13.01. Geschatte implementatietijd: 10 tot 15 uur voor een standaard omgeving. Deze aanpak elimineert directe internetblootstelling en vermindert het aanvalsoppervlak aanzienlijk.