Security Culture Development Binnen De Nederlandse Publieke Sector

💼 Management Samenvatting

Een volwassen securitycultuur is de lijm die beleid, technologie en gedrag met elkaar verbindt. Zonder gedeelde normen blijven investeringen in Defender XDR, Sentinel of Zero Trust slechts technische exercities die afhankelijk zijn van individuele bevlogenheid. Dit artikel beschrijft hoe bestuurders, HR-teams en securityspecialisten de beveiligingscultuur doelgericht ontwikkelen en verankeren in de Nederlandse Baseline voor Veilige Cloud.

Aanbeveling
PLAN_EN_IMPLEMENTEER
Risico zonder
Medium
Risk Score
6/10
Implementatie
300u (tech: 120u)
Van toepassing op:
Microsoft 365
Microsoft Defender XDR
Microsoft Sentinel
Microsoft Teams
Power Platform

Publieke organisaties staan onder toenemende druk van BIO-audits, NIS2-toezicht en parlementaire vragen. Incidenten ontstaan zelden uitsluitend door technische fouten; meestal worden processen omzeild, waarschuwingen genegeerd of wordt gevoelige informatie gedeeld via oncontroleerbare kanalen. Bestuurders hebben daarom behoefte aan een integraal programma waarin leiderschap, gedrag, tooling en bewijsvoering elkaar versterken. Zonder zo'n programma blijft naleving willekeurig en zijn lessons learned niet reproduceerbaar.

PowerShell Modules Vereist
Primary API: Microsoft Graph, Microsoft Defender API, Microsoft Sentinel Management API
Connection: Connect-MgGraph, Invoke-RestMethod met OAuth 2.0 app-registraties
Required Modules: Microsoft.Graph, Microsoft.Graph.Identity.DirectoryManagement, Az.Accounts

Implementatie

Deze handleiding levert een compleet raamwerk voor security culture development. We behandelen bestuurlijke verankering, gedragseconomie, metrieken, tooling, HR-processen en communicatiestrategieën. Het gekoppelde PowerShell-script maakt het mogelijk om maturity-scores lokaal te testen, rapportages voor directies te genereren en verbeteracties automatisch te verdelen zonder productiegegevens op te vragen. Daarmee wordt securitycultuur een aantoonbare pijler binnen de Nederlandse Baseline voor Veilige Cloud.

Leiderschap, governance en verandersturing

Een geloofwaardige securitycultuur begint bij zichtbaar leiderschap. Colleges van B&W, gedeputeerden en ministeriële CIO-beraden moeten expliciet aangeven dat informatiebeveiliging een bestuurlijke prioriteit is die direct samenhangt met dienstverlening aan burgers. Deze boodschap krijgt pas betekenis wanneer bestuurders zelf deelnemen aan cyberoefeningen, periodiek rapportages bespreken en successen van teams uitlichten. Organisaties leggen dit vast in charters, mandaatsbesluiten en prestatiecontracten met topmanagement, zodat securitydoelen even zwaar wegen als financiële of beleidsmatige doelstellingen. Door deze afspraken te koppelen aan bestaande P&C-cycli ontstaat een ritme waarin beveiliging niet wordt gezien als incidentgedreven, maar als structurele stuurvariabele.

Governance vraagt om duidelijke samenhang tussen CISO-office, HR, communicatie en lijnmanagement. Het programma definieert een multidisciplinair stuurteam dat verantwoordelijk is voor culturele interventies, meetmethoden en prioriteiten. Dit team vertaalt BIO-paragrafen, AVG-eisen en NIS2-verplichtingen naar concrete gedragsdoelen, zoals het verplicht stellen van meervoudige authenticatie in alle ketenprocessen of het minimaliseren van ongecontroleerde datadeling. Het governance-model beschrijft hierbij welke besluiten in directies worden genomen, welke onderwerpen in ondernemingsraden thuishoren en hoe controllers toetsen of budgetten daadwerkelijk aan beveiligingsversterking zijn besteed. Zonder deze governance blijft securitycultuur een vrijblijvend communicatieproject.

Verandersturing binnen de publieke sector vereist een zorgvuldig proces waarin juridische verankering, arbeidsvoorwaarden en privacybelangen zijn meegenomen. Elke maatregel – van strengere logging tot gedragsexperimenten – moet juridisch worden getoetst op basis van AVG, Wet open overheid en ambtenarenrecht. Het programma voorziet daarom in een vaste route: impactanalyse, overleg met de functionaris gegevensbescherming, besluitvorming in het HR-overleg en communicatie richting vakbonden. Door deze route vooraf te definiëren voorkomen organisaties dat maatregelen stranden op procedurele bezwaren. Bovendien wordt afgesproken welke gegevens over medewerkers wel of niet mogen worden gebruikt voor cultuurmetingen, zodat privacy by design geborgd is.

Tot slot verbindt dit hoofdstuk securitycultuur aan strategische veranderagenda’s zoals hybride werken, ketensamenwerking en data-gedreven beleid. Elk programma- en projectinitiatief krijgt een security culture impactparagraaf waarin wordt beschreven welke gedragsveranderingen nodig zijn, welke ondersteuning beschikbaar is en hoe succes wordt gemeten. Door securitycultuur onderdeel te maken van projectstartarchitecturen, businesscases en benefit tracking wordt voorkomen dat cultuur pas wordt besproken nadat technologie is uitgerold. Deze integrale benadering zorgt ervoor dat bestuurders cultuur niet zien als soft skill, maar als harde voorwaarde om publieke dienstverlening betrouwbaar en rechtmatig te houden.

Gedragsverandering, procesontwerp en meetbare uitvoering

Gebruik PowerShell-script security-culture-development.ps1 (functie Invoke-SecurityCultureAssessment) – Analyseert lokale voorbeelddata over leiderschapsbetrokkenheid, awareness-bereik, rapportagegraad en naleving en genereert direct een maturity-score voor bestuurders en auditteams..

Gedragsverandering vraagt om een combinatie van nudging, formele regels en ondersteunende tooling. Organisaties bepalen per doelgroep welke gedragingen cruciaal zijn: bijvoorbeeld het tijdig melden van verdachte e-mails, het consequent gebruiken van goedgekeurde Teams-kanalen voor vertrouwelijke informatie of het bijwerken van toegangsrechten na projectafronding. Deze gedragingen worden vertaald naar procesaanpassingen in ITSM-systemen, onboardingtrajecten en werkafspraken met leveranciers. Wanneer medewerkers bijvoorbeeld een Power Platform-app publiceren, controleren change boards automatisch of privacy-impactanalyses zijn uitgevoerd en of data binnen Nederlandse regio’s blijft. Door gedrag direct te koppelen aan processtappen wordt naleving vanzelfsprekend in plaats van optioneel.

Meetbaarheid vormt de kern van dit hoofdstuk. Het programma definieert indicatoren zoals awareness-bereik per doelgroep, percentage leidinggevenden dat kwartaalrapportages bespreekt, aantal gemelde phishingpogingen per duizend medewerkers en de mate waarin externe partners securityclausules ondertekenen. Deze indicatoren worden gevoed door Microsoft Graph, Defender XDR en HR-systemen, maar worden altijd geanonimiseerd en geaggregeerd om privacy te waarborgen. Dashboards in Power BI tonen trends en sturen automatisch waarschuwingen wanneer een norm dreigt te worden overschreden. Zo kan het bestuur bijsturen voordat een incident of auditbevinding ontstaat.

Procesontwerp zorgt ervoor dat security in het dagelijkse werk is ingebouwd. Servicedesks ontvangen scripts en checklists zodat zij gebruikers consistent adviseren. HR koppelt security aan onboarding, exitprocedures en leiderschapstrajecten, terwijl communicatieafdelingen vaste contentkalenders beheren voor campagnegolven rond bijvoorbeeld verkiezingen, vakantieperiodes of internationale crisissen. Deze processen worden ondersteund door Microsoft Viva, SharePoint en Teams, zodat informatie gemakkelijk vindbaar is en interacties kunnen worden gemeten. Door security in deze kernprocessen te embedden ontstaat een cultuur waarin beveiliging niet losstaat van dienstverlening, maar er juist een integraal onderdeel van vormt.

Een belangrijk onderdeel van gedragsverandering is erkenning en beloning. Het programma beschrijft hoe leidinggevenden positieve voorbeelden delen, hoe medewerkers badges of certificaten ontvangen na het afronden van trainingen en hoe successen worden gekoppeld aan HR-gesprekscycli. Door prestaties te koppelen aan carrièremogelijkheden en beoordelingsgesprekken wordt beveiligingsgedrag een zichtbaar criterium. Tegelijkertijd blijven sancties proportioneel en transparant, bijvoorbeeld wanneer medewerkers bewust regels overtreden of vertrouwelijke data buiten goedgekeurde kanalen delen. Dit evenwicht tussen stimuleren en handhaven zorgt voor voorspelbaarheid en vertrouwen.

Training, oefening en continue verbetering

Gebruik PowerShell-script security-culture-development.ps1 (functie Invoke-SecurityCultureImprovement) – Zet bevindingen automatisch om in concrete verbeteracties per doelgroep, inclusief tijdslijnen, verantwoordelijken en advies voor communicatiecampagnes..

Training is effectief wanneer hij aansluit bij realistische scenario’s uit de Nederlandse overheid. Het programma definieert daarom leerlijnen voor bestuurders, projectleiders, ontwikkelaars, servicedesks en leveranciers. Elke leerlijn combineert e-learning, microlearning in Teams, fysieke sessies en simulaties met Defender Attack Simulation of eigen phishingplatformen. De inhoud verwijst naar actuele dreigingen, zoals statelijke actoren, Wob-verzoeken die vertrouwelijke data blootleggen of de impact van AI-tools op informatiebeheer. Door opleidingen te koppelen aan HR-systemen ontstaat inzicht in dekkingsgraad en kan gericht worden bijgestuurd.

Oefeningen zorgen ervoor dat kennis beklijft en dat ketenpartners elkaar begrijpen. Organisaties plannen minimaal elk kwartaal een tabletop waarbij bestuurders en ketenpartners gezamenlijk een scenario doorlopen, bijvoorbeeld een datalek in een regionale samenwerkingsvoorziening of een supply-chainincident in een SaaS-oplossing. Daarnaast worden technische purple-team-oefeningen gekoppeld aan lessons learned sessies, zodat SOC-teams, ontwikkelaars en communicatieprofessionals exact weten welke signalen te herkennen zijn. De resultaten worden vastgelegd in het risicoregister en vormen input voor beleidsaanpassingen, contractherzieningen en trainingontwerpen.

Continue verbetering vraagt om een feedbackmechanisme dat zowel formele audits als informele signalen verwerkt. Het programma instrumenteert een centraal register waarin bevindingen uit audits, pentests, gebruikerspanels en security champions samenkomen. Iedere bevinding krijgt een eigenaar, doelstelling, meetwaarde en beoogde einddatum. De PowerShell-automatisering in dit project leest het register uit, controleert deadlines en stuurt notificaties wanneer voortgang stokt. Hierdoor wordt verbetering een aantoonbare managementtaak en geen willekeurige set acties die alleen tijdens crisismomenten aandacht krijgt.

Transparante communicatie sluit de verbetercyclus. Organisaties publiceren periodieke cultuurupdates waarin zij openlijk delen welke stappen zijn gezet, welke dilemma’s spelen en hoe burgers, leveranciers en auditors worden meegenomen. Door deze narratieven te combineren met dashboards en verhalen uit de praktijk ontstaat vertrouwen in de aanpak. Bovendien kunnen andere overheidsorganisaties de inzichten hergebruiken, wat interbestuurlijke samenwerking versnelt. Op die manier wordt security culture development een blijvend onderdeel van de Nederlandse Baseline voor Veilige Cloud.

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
<# .SYNOPSIS Meet en versterk de securitycultuur met lokale voorbeelddata. .DESCRIPTION Dit script hoort bij content/security/security-culture-development.json van het project "Nederlandse Baseline voor Veilige Cloud". Het werkt volledig met sampledata zodat lokale tests veilig in DebugMode kunnen draaien zonder verbinding met productieomgevingen. Het script kan een maturity-score berekenen of een verbeterplan genereren en slaat resultaten op in een JSON-rapport. .NOTES Filename: security-culture-development.ps1 Version: 1.0 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-11-27 Related JSON: content/security/security-culture-development.json .LINK https://github.com/microsoft/m365-tenant-best-practise .EXAMPLE .\security-culture-development.ps1 -Assessment -DebugMode Voert de maturity-analyse uit met sampledata en toont scores in de console. .EXAMPLE .\security-culture-development.ps1 -Improvement -WhatIf Genereert een verbeterplan op basis van sampledata en toont de acties zonder deze weg te schrijven. #> #Requires -Version 5.1 [CmdletBinding(DefaultParameterSetName = 'Assessment')] param( [Parameter(ParameterSetName = 'Assessment')] [switch]$Assessment, [Parameter(ParameterSetName = 'Improvement')] [switch]$Improvement, [Parameter()] [switch]$DebugMode, [Parameter()] [switch]$WhatIf, [Parameter()] [string]$OutputPath = ".\artifacts\security-culture-development-report.json" ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Write-SecurityCultureBanner { Write-Host "`n==============================================" -ForegroundColor Cyan Write-Host " Security Culture Development Assessment " -ForegroundColor Cyan Write-Host " Nederlandse Baseline voor Veilige Cloud " -ForegroundColor Cyan Write-Host "==============================================`n" -ForegroundColor Cyan } function Test-RequiredModules { [CmdletBinding()] param() if ($DebugMode) { Write-Verbose "DebugMode actief: modulecontroles worden overgeslagen." return } $modules = @('Microsoft.Graph', 'Microsoft.Graph.Identity.DirectoryManagement', 'Az.Accounts') foreach ($module in $modules) { if (-not (Get-Module -ListAvailable -Name $module)) { Write-Warning "Module $module ontbreekt. Installeer de module voordat u productiegegevens analyseert." } } } function Get-SecurityCultureSampleData { [CmdletBinding()] param() return [pscustomobject]@{ LeadershipSessionsPerQuarter = 3 AwarenessCoverage = 0.76 PhishingReportRate = 0.42 PolicyComplianceScore = 68 SupplierClauseCoverage = 0.55 LessonsLearnedClosure = 0.62 TrainingCompletion90Days = 0.71 ChampionsNetworkSize = 48 EscalationResponseHours = 6 CultureSurveyTrend = -0.07 } } function Test-SecurityCultureMaturity { [CmdletBinding()] param() $data = Get-SecurityCultureSampleData $issues = @() if ($data.LeadershipSessionsPerQuarter -lt 4) { $issues += "Bestuur bespreekt security minder dan vier keer per kwartaal." } if ($data.AwarenessCoverage -lt 0.85) { $issues += "Awarenesscampagnes bereiken minder dan 85% van de doelgroep." } if ($data.PhishingReportRate -lt 0.55) { $issues += "Medewerkers melden minder dan 55% van gesimuleerde phishingpogingen." } if ($data.PolicyComplianceScore -lt 80) { $issues += "Nalevingsscore van kernprocessen blijft onder de norm van 80%." } if ($data.SupplierClauseCoverage -lt 0.7) { $issues += "Minder dan 70% van de leverancierscontracten bevat securitycultuurclausules." } if ($data.LessonsLearnedClosure -lt 0.8) { $issues += "Te weinig verbetermaatregelen uit incidenten worden binnen 60 dagen afgerond." } if ($data.TrainingCompletion90Days -lt 0.8) { $issues += "Trainingen worden door minder dan 80% van de nieuwkomers afgerond binnen 90 dagen." } if ($data.ChampionsNetworkSize -lt 60) { $issues += "Het netwerk van security champions is kleiner dan de vereiste 60 personen." } if ($data.EscalationResponseHours -gt 4) { $issues += "Escalaties naar bestuur worden niet binnen vier uur beoordeeld." } if ($data.CultureSurveyTrend -lt 0) { $issues += "De cultuur-enquêtetrend is negatief en vereist direct bestuursoverleg." } $penalty = $issues.Count * 6 $score = [math]::Max(0, 100 - $penalty) [pscustomobject]@{ ScriptName = 'security-culture-development.ps1' Timestamp = Get-Date LeadershipSessions = $data.LeadershipSessionsPerQuarter AwarenessCoverage = "{0:P0}" -f $data.AwarenessCoverage PhishingReportRate = "{0:P0}" -f $data.PhishingReportRate PolicyComplianceScore = $data.PolicyComplianceScore SupplierClauseCoverage = "{0:P0}" -f $data.SupplierClauseCoverage LessonsLearnedClosure = "{0:P0}" -f $data.LessonsLearnedClosure TrainingCompletion = "{0:P0}" -f $data.TrainingCompletion90Days ChampionsNetworkSize = $data.ChampionsNetworkSize EscalationResponse = $data.EscalationResponseHours CultureSurveyTrend = $data.CultureSurveyTrend Issues = $issues OverallScore = $score IsCompliant = ($issues.Count -eq 0) } } function Invoke-SecurityCultureAssessment { [CmdletBinding()] param() $result = Test-SecurityCultureMaturity Write-Host "Leiderschapssessies per kwartaal : $($result.LeadershipSessions)" -ForegroundColor White Write-Host "Awareness dekking : $($result.AwarenessCoverage)" -ForegroundColor White Write-Host "Phishing meldratio : $($result.PhishingReportRate)" -ForegroundColor White Write-Host "Beleid nalevingsscore : $($result.PolicyComplianceScore)" -ForegroundColor White Write-Host "Leveranciersclausules : $($result.SupplierClauseCoverage)" -ForegroundColor White Write-Host "Lessons learned afronding : $($result.LessonsLearnedClosure)" -ForegroundColor White Write-Host "Training binnen 90 dagen : $($result.TrainingCompletion)" -ForegroundColor White Write-Host "Champions netwerk : $($result.ChampionsNetworkSize)" -ForegroundColor White Write-Host "Escalatie-responstijd (uur) : $($result.EscalationResponse)" -ForegroundColor White Write-Host "Cultuurtrend : $($result.CultureSurveyTrend)" -ForegroundColor White Write-Host "Totale maturity-score : $($result.OverallScore)" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host "`nSecuritycultuur voldoet aan de ingestelde normen." -ForegroundColor Green } else { Write-Host "`nVerbeterpunten:" -ForegroundColor Yellow $result.Issues | ForEach-Object { Write-Host " - $_" -ForegroundColor Yellow } } return $result } function Invoke-SecurityCultureImprovement { [CmdletBinding()] param() $result = Test-SecurityCultureMaturity $actions = @() foreach ($issue in $result.Issues) { switch -Wildcard ($issue) { "*bestuur*" { $actions += "Plan extra bestuursessies en koppel KPI's aan P&C-rapportages." } "*Awareness*" { $actions += "Start een gerichte campagne via Microsoft Viva en Teams live events." } "*Phishing*" { $actions += "Verhoog frequentie van simulaties en geef serviceteams realtime feedback." } "*Nalevingsscore*" { $actions += "Laat proces-eigenaren runbooks actualiseren en verbind sancties aan afwijkingen." } "*leveranciers*" { $actions += "Actualiseer contracttemplates en eis securityclausules bij alle verlengingen." } "*maatregelen*" { $actions += "Introduceer een lessons learned board dat wekelijks opvolging beoordeelt." } "*Trainingen*" { $actions += "Koppel onboarding automatisch aan LMS-registraties en stuur HR-reminders." } "*champions*" { $actions += "Breid het championsprogramma uit met regionale ambassadeurs en beloningspunten." } "*Escalaties*" { $actions += "Herzie escalatieprocedures en automatiseer meldingen via Teams en SMS." } "*trend*" { $actions += "Voer aanvullende cultuurmetingen uit en bespreek resultaten in MT-overleggen." } } } if ($actions.Count -eq 0) { Write-Host "Geen verbeteracties vereist." -ForegroundColor Green return $result } Write-Host "`nVerbeterplan securitycultuur:" -ForegroundColor Cyan foreach ($action in $actions | Select-Object -Unique) { if ($WhatIf) { Write-Host "WhatIf: $action" -ForegroundColor Yellow } else { Write-Host $action -ForegroundColor Gray } } return $result } function Save-SecurityCultureReport { [CmdletBinding()] param( [Parameter(Mandatory)] [pscustomobject]$Data ) $directory = Split-Path -Parent $OutputPath if (-not (Test-Path $directory)) { New-Item -ItemType Directory -Path $directory -Force | Out-Null } $Data | ConvertTo-Json -Depth 4 | Out-File -FilePath $OutputPath -Encoding UTF8 Write-Host "`nRapport opgeslagen op $OutputPath" -ForegroundColor Green } Write-SecurityCultureBanner Test-RequiredModules try { $result = if ($Improvement) { Invoke-SecurityCultureImprovement } else { Invoke-SecurityCultureAssessment } Save-SecurityCultureReport -Data $result return $result } catch { Write-Error "Fout tijdens security culture assessment: $_" exit 1 } finally { Write-Host "`n==============================================" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
Medium: Wanneer securitycultuur niet wordt ontwikkeld blijven processen kwetsbaar voor menselijk falen, ontbreekt bewijs richting toezichthouders en is het onmogelijk om NIS2- en BIO-verplichtingen geloofwaardig na te komen.

Management Samenvatting

Maak securitycultuur een bestuurlijk programma: definieer governance, meet gedragingen met het script, veranker training en oefeningen in HR-processen en koppel verbetermaatregelen aan rapportages voor bestuurders.