Checklist - Klant
CHECKLIST: Voorbereiding op een Azure Cloud Pentest
Gebruik deze lijst om stap voor stap af te vinken welke informatie je als klant kunt aanleveren vóór de pentest.
Inleiding
Deze checklist helpt je om alle relevante details omtrent jouw Azure-omgeving te verzamelen vóórdat de pentest begint. Door deze stappen te doorlopen:
Bepaal je precies wat er getest wordt (scope en resources).
Zorg je voor de juridische kaders (Rules of Engagement, autorisaties).
Maak je inzichtelijk hoe Azure AD, netwerken, VM’s/containers en data zijn geconfigureerd.
Definieer je logging en incidentrespons (SIEM, Sentinel, Security Center).
Regel je governance en DevOps-aspecten (zoals RBAC, IaC, pipelines).
Leg je vast hoe escalatie, rapportage en nazorg verlopen.
Zo ontstaat een volledig en helder beeld, waarmee de pentester jou de meest waardevolle inzichten kan geven.
1. Scope en Omvang
1.1 Subscripties, Resource Groups en Regio’s
Azure-subscripties in scope
Waarom: Dit bepaalt welke omgevingen (production, test, dev) onderzocht mogen worden.
Check:
Resource groups met (kritieke) data
Waarom: Sommige RG’s bevatten gevoelige workloads (bijv. financiële data, HR).
Check:
Regio’s en geo-redundantie
Waarom: Azure-regio’s hebben verschillende data residency-eisen (AVG/GDPR). Ook kan er sprake zijn van geo-redundantielatentie.
Check:
Management Groups en Policies
Waarom: Op root-level kunnen strikte policies of resource locks actief zijn, die de pentest kunnen inperken.
Check:
Cross-tenant / B2B-relaties
Waarom: Azure AD B2B en gedelegeerde resources kunnen de scope sterk beïnvloeden
Check:
1.2 Uitsluitingen en Bijzondere Verzoeken
Kritieke systemen uitgesloten?
Waarom: Zeer gevoelige of bedrijfskritieke systemen kunnen soms alleen oppervlakkig worden gescand.
Check:
Externe (SaaS-)applicaties
Waarom: Integraties met Slack, Salesforce, etc. kunnen je Azure-tenant raken.
Check:
Compliance-beperkingen
Waarom: In PCI-DSS- of HIPAA-omgevingen kunnen destructieve tests verboden zijn.
Check:
Social engineering-tests
Waarom: Phishing en pretext-calls kunnen Azure AD-accounts blootleggen.
Check:
Data-eigenaars of partners
Waarom: Is data mogelijk eigendom van derden, en is hun toestemming vereist?
Check:
2. Juridische Dekking en Engagementregels
2.1 Rules of Engagement (RoE)
Rapportagefrequentie
Waarom: Sommigen willen dagelijkse updates, anderen alleen een eindrapport.
Check:
Omvang exploit attempts
Waarom: Is diepgaande exploit op OS-level toegestaan of alleen passieve scans?
Check:
Destructieve tests (DDoS/resource exhaustion)
Waarom: Een mini-DDoS-simulatie kan de service verstoren.
Check:
Communicatie bij escalaties
Waarom: Bij kritieke incidenten moet je direct weten wie te bellen of mailen.
Check:
Letter of Authorization (LoA/MoU)
Waarom: Juridische basis om te testen zonder dat het als ongeautoriseerde aanval wordt gezien.
Check:
3. Azure AD – Identiteit en Toegang
3.1 Basisvragen over Azure AD-configuratie
Authenticatiemethode (Hash Sync, Pass-through, ADFS)
Waarom: Dit bepaalt hoe inloggegevens en tokens naar on-prem of cloud gefedereerd worden.
Check:
Gastaccounts (B2B/B2C)
Waarom: Inactieve gastaccounts kunnen een risico zijn.
Check:
MFA voor admins en high-priv users
Waarom: Beveiliging van Global Admins, etc.
Check:
Blokkering van legacy protocollen
Waarom: POP/IMAP/SMTP Basic Auth omzeilt MFA.
Check:
Privileged Identity Management (PIM)
Waarom: JIT-toegang kan permanente admin-rechten beperken.
Check:
4. Netwerk en Hybride Koppelingen
4.1 Virtual Networks en NSG’s
Subnetten en NSG’s
Waarom: Kan er onbedoeld veel openstaan in NSG’s?
Check:
Azure Firewall / WAF / App Gateway
Waarom: Controleren of webapplicaties een WAF hebben met correcte rule sets.
Check:
VPN- of ExpressRoute-koppeling
Waarom: Een gecompromitteerde Azure-VM kan zo naar on-prem pivotten.
Check:
DDoS Protection Standard
Waarom: Biedt extra bescherming voor public IP’s.
Check:
Private Link/Private Endpoint
Waarom: Beschermt services (storage, DB) tegen publiek internet.
Check:
5. Compute Services (VM's, Containers, PaaS)
5.1 Virtual Machines
OS-versies en patchniveau
Waarom: Achterstallige patches zijn populaire aanvalsvector.
Check:
OS-hardening
Waarom: Een baseline (CIS, STIG) kan misconfiguraties voorkomen.
Check:
Azure Arc / config management
Waarom: Scripts kunnen plaintext credentials bevatten.
Check:
Remote beheer (RDP/SSH, Bastion, JIT)
Waarom: Onbeveiligde RDP/SSH-poorten zijn een groot risico.
Check:
Bijzondere workloads (GPU, HPC)
Waarom: HPC-omgevingen vereisen extra veiligheidsupdates.
Check:
5.2 Containers (AKS, Container Instances)
AKS
Waarom: Kubernetes-clusters kunnen misbruikt worden via clusterrole=cluster-admin.
Check:
Container Registry (ACR)
Waarom: Publieke ACR of ongescande images kunnen risico’s inhouden.
Check:
Azure Container Instances (ACI)
Waarom: Containers met ‘anonymous’ endpoints kunnen openstaan.
Check:
Azure Functions
Waarom: HTTP-trigger anoniem maakt de functie publiek.
Check:
App Services
Waarom: HTTPS-only en correct domain-binding is essentieel.
Check:
6. Data en Opslag
6.1 Azure Storage (Blob, File, Disk)
Publieke Blob-containers
Waarom: Containers met public access kunnen datalekken veroorzaken.
Check:
SAS-tokens
Waarom: Te ruim ingestelde SAS-tokens (lange geldigheid, brede rechten) vormen een risico.
Check:
Disk Encryption
Waarom: Door BitLocker/dm-crypt of SSE+BYOK te gebruiken, wordt data-at-rest beter beschermd.
Check:
Cosmos DB
Waarom: Publiek toegankelijke DB’s of slechte firewall configuraties zijn gevaarlijk.
Check:
SQL Databases
Waarom: Force TDE beveiligt data, Azure AD-auth kan veiliger zijn dan SQL logins.
Check:
7. Logging, Monitoring en Incidentrespons
7.1 Logging en SIEM-integratie
Resource logs (Activity, Diagnostic, NSG Flow)
Waarom: Zonder goede logs is forensisch onderzoek moeilijk.
Check:
Azure Sentinel of andere SIEM
Waarom: Detectie van brute force, exfil, enz. kan alerts genereren.
Check:
Microsoft Defender for Cloud
Waarom: Security Score en aanbevelingen geven directe adviezen.
Check:
Azure AD Identity Protection
Waarom: Herkent gelekte credentials en ongebruikelijke inlogs.
Check:
Incidentrespons-plan
Waarom: Zonder plan is reageren op een werkelijk incident lastig.
Check:
8. Organisatorische en Governance Aspecten
8.1 DevOps en CI/CD
DevOps-pipelines (Azure DevOps, GitHub, Jenkins)
Waarom: Secrets in pipeline-variabelen kunnen uitlekken.
Check:
IaC (Terraform, Bicep, ARM)
Waarom: Embedded credentials in .tf of .json kunnen direct tot compromise leiden.
Check:
Change Management-procedures
Waarom: Formeel goedgekeurde wijzigingen voorkomen wildgroei.
Check:
Koppeling code-repos
Waarom: Secrets of connection strings kunnen in Git-commit-historie staan.
Check:
Test- en stagingomgevingen
Waarom: Staging kan prod-data bevatten, maar is minder goed beveiligd.
Check:
8.2 Governance en Security Policies
Azure Policy en Blueprints
Waarom: Blokkeren ongewenste configuraties (bijv. open RDP).
Check:
RBAC – Roltoewijzingen
Waarom: Contributor/Owner te vaak geven leidt tot privilege escalatie.
Check:
Managed Identities
Waarom: VM’s/App Services/Functions kunnen via MI ongewenste rechten hebben.
Check:
Security-overzichten, auditing
Waarom: Periodieke interne audits en “security board meetings” verbeteren security posture.
Check:
Training en awareness
Waarom: Als beheerders en devs niet getraind zijn, kunnen misconfiguraties blijven ontstaan.
Check:
9. Escalatie, Rapportage en Nazorg
9.1 Escalaties bij Kritieke Bevindingen
Directe melding
Waarom: Een “critical exploit” (bijv. Key Vault compromise) wil je meteen weten.
Check:
Stoppen test bij storing
Waarom: Voorkom extra schade als de test ernstige verstoring veroorzaakt.
Check:
Realtime vs. eindrapport
Waarom: Sommige klanten willen wekelijks updates, anderen alleen slotpresentatie.
Check:
9.2 Eindrapport en Actieplan
Structuur van rapport
Waarom: Combinatie van executive summary (voor directie) en gedetailleerd technisch deel (voor IT).
Check:
Prioritering (High/Med/Low)
Waarom: Duidelijke prioriteit is cruciaal om snel te patchen.
Check:
9.3 Validatie en Retesting
Plan voor hertest
Waarom: Na het oplossen van bevindingen is een hertest nodig voor confirmatie.
Check:
Nazorg en forensische readiness
Waarom: Logging-retentie en forensische tools zijn onmisbaar bij echte incidenten.
Check:
Continue verbetering
Waarom: Security is een ongoing proces; periodieke scans en audits voorkomen terugval.
Check:
Last updated