Security Awareness: Overzicht En Fundamenten Voor Nederlandse Overheidsorganisaties

💼 Management Samenvatting

Security awareness vormt de menselijke laag van informatiebeveiliging voor Nederlandse overheidsorganisaties. Waar technische maatregelen zoals firewalls, encryptie en identity- en accessmanagement de technologische basis leggen, bepalen dagelijkse keuzes van medewerkers uiteindelijk of aanvallers succes hebben of niet. Dit index-artikel schetst de overkoepelende principes, strategieën en best practices voor het opzetten en onderhouden van een effectief security awareness programma dat voldoet aan de eisen van de Baseline Informatiebeveiliging Overheid (BIO), de NIS2 richtlijn en andere relevante wet- en regelgeving.

Aanbeveling
IMPLEMENT
Risico zonder
High
Risk Score
9/10
Implementatie
280u (tech: 120u)
Van toepassing op:
Azure
M365
On-premises
Hybride omgevingen

De meeste succesvolle cyberaanvallen op Nederlandse organisaties maken misbruik van menselijke fouten en niet van geavanceerde technische kwetsbaarheden. Phishingmails die achteloos worden geopend, gevoelige documenten die via onbeveiligde kanalen worden gedeeld, of accounts die worden hergebruikt op meerdere diensten zijn nog steeds de belangrijkste oorzaken van incidenten. Zonder een doordacht en structureel security awareness programma loopt een organisatie het risico dat medewerkers onvoldoende voorbereid zijn op moderne dreigingen, dat veilig gedrag niet wordt beloond of ondersteund, en dat incidenten blijven optreden ondanks technische beveiligingsmaatregelen. Dit kan leiden tot schending van wettelijke verplichtingen zoals de BIO en NIS2, verlies van vertrouwen bij burgers, bestuurlijke aansprakelijkheid en maatschappelijke ontwrichting. Een gestructureerde security awareness aanpak zorgt ervoor dat bewustmaking, training en gedragsverandering zijn ingebed in een formeel vastgesteld programma met duidelijke rollen, meetbare doelstellingen en continue evaluatie.

PowerShell Modules Vereist
Primary API: Microsoft 365 Admin Center, Azure Portal
Connection: Connect-MgGraph, Connect-AzAccount
Required Modules: Microsoft.Graph, Az.Accounts

Implementatie

Dit index-artikel positioneert security awareness binnen de Nederlandse Baseline voor Veilige Cloud en beschrijft hoe organisaties een samenhangend awareness-landschap kunnen opbouwen dat voldoet aan de eisen van de Baseline Informatiebeveiliging Overheid (BIO), de NIS2 richtlijn en andere relevante wet- en regelgeving. We behandelen fundamentele concepten zoals gedragsgerichte interventies, phishing-simulaties, awareness-campagnes en meting van effectiviteit, en laten zien hoe deze worden vertaald naar concrete organisatorische en technische maatregelen. Het artikel fungeert als kapstok voor meer specifieke artikelen over gedragsgerichte securityprogramma's, phishing-simulaties, training en opleiding, en beschrijft hoe deze onderdelen samenkomen in een volwassen, aantoonbaar beveiligde en weerbare organisatie. Daarnaast biedt het artikel handvatten voor governance, monitoring en periodieke evaluatie van de awareness-volwassenheid.

Fundamenten van Security Awareness

Security awareness is een strategisch kader dat technische maatregelen, organisatorische processen en gedragsverandering met elkaar verbindt tot een samenhangend geheel dat de menselijke factor in informatiebeveiliging beheerst. In tegenstelling tot ad-hoc initiatieven waarbij eenmalige trainingen of losse campagnes worden georganiseerd, vormt een doordacht security awareness programma de ruggengraat die ervoor zorgt dat alle componenten – van beleid tot training, van simulaties tot feedback, van communicatie tot cultuurverandering – op een consistente, beveiligde en meetbare manier samenwerken. Deze strategie moet expliciet rekening houden met de specifieke eisen die gelden voor Nederlandse overheidsorganisaties, waaronder de Baseline Informatiebeveiliging Overheid (BIO), de NIS2 richtlijn, de Algemene Verordening Gegevensbescherming (AVG) en sectorale wetgeving zoals de Archiefwet.

De primaire rol van security awareness is het waarborgen van een veerkrachtige, betrouwbare en compliance-gerichte organisatie waarin medewerkers hun digitale taken kunnen uitvoeren zonder onnodige risico's op beveiligingsincidenten of datalekken. Dit betekent dat awareness-keuzes niet alleen didactisch correct moeten zijn, maar ook aantoonbaar moeten voldoen aan wettelijke en bestuurlijke vereisten. Een goed ontworpen security awareness programma maakt het mogelijk om te bewijzen dat passende maatregelen zijn genomen om medewerkers te trainen, dat gedragsverandering daadwerkelijk plaatsvindt en dat de organisatie in staat is om snel te reageren op nieuwe dreigingen en veranderende omstandigheden. Voor auditors, toezichthouders en bestuurders biedt een gedocumenteerd security awareness programma transparantie over hoe bewustmaking is ingericht en hoe deze wordt onderhouden en geëvalueerd.

De scope van security awareness binnen de Nederlandse Baseline voor Veilige Cloud omvat alle lagen van de organisatie: van bestuur en directie tot operationele medewerkers, van IT-specialisten tot eindgebruikers, van vaste medewerkers tot externe partijen en leveranciers. Het awareness-landschap moet rekening houden met verschillende doelgroepen – elk met hun eigen risicoprofiel, digitale vaardigheden en informatiebehoefte – en moet schaalbaar zijn van kleine teams tot grote organisaties die duizenden medewerkers omvatten. Daarnaast moet de strategie flexibel genoeg zijn om te kunnen evolueren met nieuwe dreigingen, veranderende technologieën en wijzigende wet- en regelgeving, terwijl de fundamentele awareness-principes consistent blijven.

Een fundamenteel concept binnen security awareness is de gedragsgerichte aanpak, een systematische methode om te bepalen welke risicovolle gedragingen moeten veranderen en hoe dit het beste kan worden bereikt. Tijdens een gedragsanalyse worden concrete gedragingen geïnventariseerd die tot incidenten hebben geleid of kunnen leiden, zoals het klikken op verdachte links, het delen van gevoelige informatie buiten vertrouwelijke kanalen, of het negeren van beveiligingsmeldingen. Voor elk gedrag worden expliciete doelstellingen vastgesteld: welke gewenste gedragingen moeten worden gestimuleerd, welke meetbare indicatoren worden gebruikt om voortgang te monitoren, en welke interventies het meest effectief zijn om gedragsverandering te bewerkstelligen. Deze doelstellingen vormen de harde ontwerpcriteria voor het awareness-programma en voorkomen discussies op het moment van een incident over wie verantwoordelijk is of wat de juiste reactie is.

Governance en Compliance

Governance rond security awareness raakt meerdere disciplines: informatiebeveiliging, HR en opleiding, communicatie, compliance en risk management. Zonder een helder governance-model ontstaat het risico dat awareness-activiteiten versnipperd worden uitgevoerd, dat verschillende afdelingen verschillende standaarden hanteren, en dat niemand zich eigenaar voelt van de integrale awareness-strategie. Een effectief governance-model benoemt daarom ten minste een CISO of security officer die verantwoordelijk is voor de overkoepelende awareness-visie, een awareness-coördinator die het programma dagelijks beheert, een HR- of opleidingsspecialist die training en ontwikkeling faciliteert, en expliciete rollen voor communicatie, lijnmanagement en bestuur. Deze rollen worden vertaald naar concrete taken: wie keurt nieuwe awareness-campagnes goed, wie beoordeelt de effectiviteit van interventies, wie beheert de awareness-documentatie, en wie beslist over investeringen in nieuwe awareness-tools of -methoden.

Op compliancegebied vormt security awareness een kruispunt van verschillende wettelijke kaders. De BIO vereist dat organisaties passende maatregelen treffen om medewerkers bewust te maken van informatiebeveiliging en hen te trainen in veilig gedrag. De NIS2 richtlijn legt eisen op rond bewustmaking en training voor essentiële en belangrijke entiteiten. De AVG vereist dat organisaties technische en organisatorische maatregelen treffen, waaronder bewustmaking van medewerkers. ISO 27001 biedt een internationaal erkend framework voor informatiebeveiligingsmanagement met specifieke controls rond awareness en training. Deze compliance-vereisten moeten expliciet worden vertaald naar awareness-keuzes: welke trainingen worden aangeboden, hoe worden medewerkers getraind in het herkennen van phishing, hoe wordt gedragsverandering gemeten, en hoe wordt incident response georganiseerd. Dit index-artikel moet daarom expliciet worden gelezen in samenhang met andere artikelen binnen de Nederlandse Baseline voor Veilige Cloud, zoals de artikelen over gedragsgerichte securityprogramma's, phishing-simulaties en training en opleiding. Samen vormen zij een consistent raamwerk: dit artikel schetst de overkoepelende lijnen, terwijl de deelartikelen verdieping bieden op specifieke awareness-patronen en technische implementaties.

Voor auditors en toezichthouders is vooral van belang dat de samenhang tussen beleid, programma, implementatie en operationele controles aantoonbaar is. Dat betekent dat u niet alleen beleidsdocumenten en trainingsplannen beschikbaar heeft, maar ook concreet kunt laten zien welke trainingen er zijn gevolgd, hoe vaak phishing-simulaties worden uitgevoerd, welke gedragsveranderingen zijn waargenomen en welke verbeteracties zijn ondernomen na incidenten of bevindingen. De in dit domein beschreven PowerShell-scripts – waaronder het index-script bij dit artikel en de scripts voor specifieke awareness-componenten – helpen om deze informatie snel en reproduceerbaar te verzamelen. Door hun output te koppelen aan dashboards en rapportages wordt governance niet beperkt tot papieren documenten, maar ondersteund door actuele operationele data die aantoonbaar maakt dat het security awareness programma daadwerkelijk wordt nageleefd en onderhouden.

Implementatieroadmap

De implementatie van een volwassen security awareness programma verloopt zelden in één grote stap, maar groeit geleidelijk van een solide basis naar een geavanceerd, geoptimaliseerd landschap. In de eerste fase wordt de fundamentele basis gelegd: een goed gestructureerde gedragsanalyse waarin per doelgroep wordt vastgesteld welke risicovolle gedragingen voorkomen, welke wettelijke verplichtingen gelden en welk niveau van awareness benodigd is. Voor elke doelgroep worden expliciete awareness-doelstellingen vastgesteld, bijvoorbeeld een daling van het klikpercentage op phishing-simulaties met vijftig procent binnen een jaar, of een stijging van het aantal gemelde verdachte berichten met honderd procent. Deze doelstellingen vormen de harde ontwerpcriteria voor het awareness-programma en voorkomen discussies op het moment van een incident over wie verantwoordelijk is of wat de juiste reactie is.

Vervolgens wordt per doelgroep bepaald welke awareness-strategie passend en haalbaar is. Voor bestuur en directie kan een strategische awareness-sessie voldoende zijn, waarbij aandacht wordt besteed aan governance, risicomanagement en bestuurlijke verantwoordelijkheden. Voor operationele medewerkers is doorgaans een combinatie van periodieke training, phishing-simulaties en gerichte communicatiecampagnes nodig. Dit kan bestaan uit e-learning modules, interactieve workshops, themaweken rond specifieke dreigingen, en het inzetten van awareness-tools om gedrag te monitoren en feedback te geven. Belangrijk is dat de gekozen strategie niet alleen didactisch effectief, maar ook financieel verantwoord en beheersbaar is.

In de volwassenheidsfase wordt het security awareness programma geoptimaliseerd en geautomatiseerd. Geavanceerde awareness-tools zorgen voor geautomatiseerde phishing-simulaties, gepersonaliseerde training op basis van individuele risicoprofielen, en real-time feedback wanneer medewerkers risicovol gedrag vertonen. Geautomatiseerde compliance-controles en awareness-assessments worden regelmatig uitgevoerd om te verifiëren dat het programma nog steeds voldoet aan alle vereisten. Advanced monitoring, behavioral analytics en machine learning-gebaseerde detectie helpen om potentiële risico's vroegtijdig te identificeren. Governance wordt volwassen met geautomatiseerde rapportages, dashboards voor bestuurders en geïntegreerde change management processen. Door deze fasering expliciet te maken in een roadmap – met duidelijke mijlpalen, beslismomenten en success criteria – ontstaat voorspelbaarheid voor bestuurders en wordt het eenvoudiger om investeringen, risico's en baten te verantwoorden.

Monitoring en Evaluatie

Gebruik PowerShell-script index.ps1 (functie Invoke-Monitoring) – Geeft een overzicht van de belangrijkste security awareness componenten en controleert of basiselementen aanwezig en correct geconfigureerd zijn..

Monitoring van het security awareness landschap gaat verder dan het tellen van trainingsdeelnames of het meten van phishing-klikpercentages. Bestuurders, CISO's en awareness-coördinatoren hebben behoefte aan een samenvattend beeld: welke awareness-activiteiten zijn uitgevoerd, hoe is de awareness-status ingericht, welke doelgroepen zijn bereikt, en zijn er signalen dat het awareness-programma niet meer voldoet aan compliance-vereisten. Het index-script bij dit artikel inventariseert de belangrijkste awareness-componenten en vertaalt die naar een compacte managementsamenvatting: hoeveel trainingen zijn gevolgd, hoeveel phishing-simulaties zijn uitgevoerd, welke gedragsveranderingen zijn waargenomen, en voor welke onderdelen aanvullende acties nodig zijn. Dit vormt een startpunt voor diepgaandere analyses met gespecialiseerde scripts voor specifieke awareness-componenten, en helpt om het gesprek met bestuur en auditcommissies te structureren rond feitelijke cijfers en meetbare awareness-volwassenheid.

Effectieve security awareness monitoring omvat zowel kwantitatieve als kwalitatieve aspecten. Kwantitatief gezien moet worden gemonitord of awareness-activiteiten correct zijn uitgevoerd volgens de awareness-standaarden, of trainingen en simulaties actief zijn en correct functioneren, en of er afwijkingen zijn die kunnen wijzen op security risico's of compliance-problemen. Kwalitatief gezien richt monitoring zich op de vraag of awareness-principes worden nageleefd, of documentatie actueel is, of change management processen correct worden gevolgd, en of er regelmatige reviews plaatsvinden om het awareness-programma te evalueren en te verbeteren. Door beide aspecten te combineren ontstaat een compleet beeld van de awareness-volwassenheid en kunnen gerichte verbeteracties worden ondernomen om het programma verder te professionaliseren.

Remediatie en Volwassenwording

Gebruik PowerShell-script index.ps1 (functie Invoke-Remediation) – Genereert overzichten van awareness-hiaten en biedt handvatten voor gerichte verbeteracties om de awareness-volwassenheid te verhogen..

Remediatie binnen het security awareness domein betekent in de praktijk dat u gaten dicht tussen de gewenste awareness-strategie en de werkelijkheid. In veel organisaties bestaan al wel beleidsdocumenten over informatiebeveiliging, awareness-principes en gedragsverwachtingen, maar ontbreekt concrete vastlegging van hoe deze worden vertaald naar trainingen, welke awareness-activiteiten daadwerkelijk zijn ingericht, en hoe het awareness-programma wordt onderhouden en geëvalueerd. Het index-script ondersteunt remediatie door automatisch te inventariseren waar awareness-standaarden niet worden nageleefd, waar trainingen of simulaties ontbreken, en waar documentatie verouderd of incompleet is. Op basis van deze inventarisatie kunnen gerichte verbeteracties worden gepland en uitgevoerd, waarbij prioriteit wordt gegeven aan de meest kritieke hiaten die de grootste impact hebben op beveiliging en compliance.

Een volwassen security awareness programma groeit stap voor stap door continue verbetering. Na elke monitoringsronde worden de belangrijkste verbeterpunten vastgelegd, van een eigenaar voorzien en ingepland in het reguliere change- of verbeterportfolio. Denk aan het standaardiseren van awareness-activiteiten, het implementeren van ontbrekende trainingen of simulaties, het verbeteren van gedragsgerichte interventies, het actualiseren van awareness-documentatie of het invoeren van geautomatiseerde compliance-controles. Door de resultaten van het index-script te combineren met de uitkomsten van gespecialiseerde scripts voor specifieke awareness-componenten ontstaat een integraal beeld van de voortgang. Uiteindelijk wordt security awareness zo niet alleen een technisch ontwerp, maar een aantoonbaar beheerst en verantwoord ingericht fundament voor de digitale weerbaarheid van de organisatie, dat continu wordt geëvalueerd en verbeterd om te blijven voldoen aan veranderende eisen en dreigingen.

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 Overzichtsmonitoring en remediatie voor security awareness landschap .DESCRIPTION Geeft een samenvattend beeld van de belangrijkste security awareness componenten (trainingen, phishing-simulaties, campagnes en documentatie) binnen de repository en ondersteunt het gericht dichten van hiaten in awareness-standaarden en configuratieregisters. .NOTES Filename: index.ps1 Author: Nederlandse Baseline voor Veilige Cloud Created: 2025-01-27 Last Modified: 2025-01-27 Version: 1.0 Related JSON: content/general/security-awareness/index.json .LINK https://github.com/[org]/m365-tenant-best-practise .EXAMPLE .\index.ps1 -Monitoring Toont een samenvattend overzicht van security awareness componenten en configuratiestatus. .EXAMPLE .\index.ps1 -Remediation Genereert een basisoverzicht en, indien gewenst, templates voor ontbrekende awareness-documentatie. #> #Requires -Version 5.1 [CmdletBinding()] param( [Parameter(HelpMessage = "Voer een samenvattende monitoring uit van het security awareness landschap.")] [switch]$Monitoring, [Parameter(HelpMessage = "Genereer remediatie-overzichten en optioneel documentatietemplates.")] [switch]$Remediation, [Parameter(HelpMessage = "Toon welke acties zouden worden uitgevoerd zonder daadwerkelijk te wijzigen.")] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' function Get-RepositoryRoot { <# .SYNOPSIS Bepaalt de rootmap van de repository op basis van de locatie van dit script. .OUTPUTS String met pad naar repository-root. #> [CmdletBinding()] param() $root = Resolve-Path (Join-Path $PSScriptRoot "..\..\..") -ErrorAction SilentlyContinue if (-not $root) { throw "Kon de repository-root niet bepalen op basis van PSScriptRoot: $PSScriptRoot" } return $root.Path } function Get-SecurityAwarenessInventory { <# .SYNOPSIS Stelt een overzicht op van security awareness-gerelateerde JSON- en PS1-bestanden. .OUTPUTS PSCustomObject met aantallen en details. #> [CmdletBinding()] param() $repoRoot = Get-RepositoryRoot $contentPaths = @( Join-Path $repoRoot "content\general\security-awareness", Join-Path $repoRoot "content\m365\awareness", Join-Path $repoRoot "content\blogs\security" ) $codePaths = @( Join-Path $repoRoot "code\general\security-awareness", Join-Path $repoRoot "code\m365\awareness", Join-Path $repoRoot "code\blogs\security" ) $jsonFiles = @() foreach ($path in $contentPaths) { if (Test-Path -Path $path) { $files = Get-ChildItem -Path $path -Filter "*awareness*.json" -File -ErrorAction SilentlyContinue $jsonFiles += $files $files = Get-ChildItem -Path $path -Filter "*security-awareness*.json" -File -ErrorAction SilentlyContinue $jsonFiles += $files } } $ps1Files = @() foreach ($path in $codePaths) { if (Test-Path -Path $path) { $files = Get-ChildItem -Path $path -Filter "*awareness*.ps1" -File -ErrorAction SilentlyContinue $ps1Files += $files $files = Get-ChildItem -Path $path -Filter "*security-awareness*.ps1" -File -ErrorAction SilentlyContinue $ps1Files += $files } } $byName = @{} foreach ($json in $jsonFiles) { $base = [System.IO.Path]::GetFileNameWithoutExtension($json.Name) if (-not $byName.ContainsKey($base)) { $byName[$base] = [pscustomobject]@{ Name = $base JsonPath = $null JsonUpdated = $null ScriptPath = $null ScriptUpdated= $null } } $entry = $byName[$base] $entry.JsonPath = $json.FullName $entry.JsonUpdated = $json.LastWriteTime $byName[$base] = $entry } foreach ($ps1 in $ps1Files) { $base = [System.IO.Path]::GetFileNameWithoutExtension($ps1.Name) if (-not $byName.ContainsKey($base)) { $byName[$base] = [pscustomobject]@{ Name = $base JsonPath = $null JsonUpdated = $null ScriptPath = $null ScriptUpdated= $null } } $entry = $byName[$base] $entry.ScriptPath = $ps1.FullName $entry.ScriptUpdated = $ps1.LastWriteTime $byName[$base] = $entry } $items = $byName.Values | Sort-Object Name $missingJson = $items | Where-Object { -not $_.JsonPath } $missingScript = $items | Where-Object { -not $_.ScriptPath } return [pscustomobject]@{ RepositoryRoot = $repoRoot Items = $items MissingJson = $missingJson MissingScripts = $missingScript TotalControls = $items.Count WithJsonAndPs1 = ($items | Where-Object { $_.JsonPath -and $_.ScriptPath }).Count } } function New-SecurityAwarenessDocumentationTemplate { <# .SYNOPSIS Maakt een eenvoudige Markdown-template aan voor aanvullende security awareness documentatie. #> [CmdletBinding()] param( [Parameter(Mandatory = $true)] [string]$Name, [Parameter(Mandatory = $true)] [string]$OutputPath ) $template = @" # Security Awareness component: $Name **Laatst bijgewerkt:** $(Get-Date -Format "yyyy-MM-dd") **Documentatie-eigenaar:** [Naam / functie] **Status:** Concept ## 1. Rol in het security awareness landschap [Beschrijf hoe deze component (artikel, script of control) past in de totale security awareness strategie.] ## 2. Awareness-principes en design patterns [Beschrijf welke awareness-principes en design patterns worden toegepast, inclusief gedragsdoelstellingen en meetbare indicatoren.] ## 3. Technische implementatie [Beschrijf de concrete tools, configuraties en koppelingen voor training, simulaties en monitoring.] ## 4. Beveiligingsmaatregelen [Beschrijf beveiligingslagen, toegangscontrole en monitoring voor awareness-voorzieningen.] ## 5. Compliance en governance [Beschrijf hoe wordt voldaan aan BIO, NIS2, AVG en andere relevante kaders voor security awareness.] ## 6. Evaluatie en verbeterpunten [Beschrijf evaluatiemomenten, metingen van effectiviteit, bekende verbeterpunten en follow-up acties.] "@ $folder = Split-Path -Path $OutputPath -Parent if (-not (Test-Path -Path $folder)) { New-Item -Path $folder -ItemType Directory -Force | Out-Null } $template | Out-File -FilePath $OutputPath -Encoding UTF8 Write-Host " Template gegenereerd: $OutputPath" -ForegroundColor Green } function Invoke-Monitoring { <# .SYNOPSIS Voert een samenvattende monitoring uit van security awareness componenten. .OUTPUTS PSCustomObject met overzichtsresultaten. #> [CmdletBinding()] param() Write-Host "`nMonitoring: Security Awareness overzicht" -ForegroundColor Yellow Write-Host "=========================================" -ForegroundColor Yellow $inventory = Get-SecurityAwarenessInventory Write-Host "`nRepository-root: $($inventory.RepositoryRoot)" -ForegroundColor Cyan Write-Host "Totaal security awareness controls (JSON/PS1-combinaties): $($inventory.TotalControls)" -ForegroundColor Cyan Write-Host "Volledig gekoppeld (JSON + PS1): $($inventory.WithJsonAndPs1)" -ForegroundColor Cyan if ($inventory.MissingJson.Count -gt 0) { Write-Host "`n❌ Ontbrekende JSON voor de volgende scripts:" -ForegroundColor Red foreach ($item in $inventory.MissingJson) { Write-Host " - $($item.Name) (script: $($item.ScriptPath))" -ForegroundColor Red } } if ($inventory.MissingScripts.Count -gt 0) { Write-Host "`n❌ Ontbrekende PS1-scripts voor de volgende JSON-bestanden:" -ForegroundColor Red foreach ($item in $inventory.MissingScripts) { Write-Host " - $($item.Name) (json: $($item.JsonPath))" -ForegroundColor Red } } if (($inventory.MissingJson.Count -eq 0) -and ($inventory.MissingScripts.Count -eq 0)) { Write-Host "`n✅ Alle security awareness artikelen hebben zowel JSON als PS1." -ForegroundColor Green } else { Write-Host "`n⚠️ Er zijn nog hiaten in de JSON/PS1-koppeling voor security awareness." -ForegroundColor Yellow Write-Host " Gebruik -Remediation om gericht met deze hiaten aan de slag te gaan." -ForegroundColor Yellow } return [pscustomobject]@{ Inventory = $inventory } } function Invoke-Remediation { <# .SYNOPSIS Ondersteunt remediatie door ontbrekende componenten inzichtelijk te maken en optioneel documentatietemplates te genereren. .OUTPUTS PSCustomObject met remediatieadvies. #> [CmdletBinding()] param() Write-Host "`nRemediatie: Security Awareness overzicht" -ForegroundColor Yellow Write-Host "=======================================" -ForegroundColor Yellow $inventory = Get-SecurityAwarenessInventory $repoRoot = $inventory.RepositoryRoot $docRoot = Join-Path $repoRoot "documentatie\security-awareness" if (-not (Test-Path -Path $docRoot)) { New-Item -Path $docRoot -ItemType Directory -Force | Out-Null } $actions = @() foreach ($item in $inventory.Items) { $action = [pscustomobject]@{ Name = $item.Name HasJson = [bool]$item.JsonPath HasScript = [bool]$item.ScriptPath DocumentationPath = $null DocumentationExists = $false } $docFile = Join-Path $docRoot ("awareness-" + $item.Name + ".md") $action.DocumentationPath = $docFile $action.DocumentationExists = Test-Path -Path $docFile if (-not $action.DocumentationExists -and -not $WhatIf) { New-SecurityAwarenessDocumentationTemplate -Name $item.Name -OutputPath $docFile } elseif (-not $action.DocumentationExists -and $WhatIf) { Write-Host " [WhatIf] Zou documentatietemplate aanmaken: $docFile" -ForegroundColor Yellow } $actions += $action } Write-Host "`nSamenvatting remediatie-status:" -ForegroundColor Cyan Write-Host (" Items zonder JSON: {0}" -f ($actions | Where-Object { -not $_.HasJson }).Count) -ForegroundColor Cyan Write-Host (" Items zonder script: {0}" -f ($actions | Where-Object { -not $_.HasScript }).Count) -ForegroundColor Cyan Write-Host (" Items zonder documentatie: {0}" -f ($actions | Where-Object { -not $_.DocumentationExists }).Count) -ForegroundColor Cyan return $actions } try { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "Security Awareness Overzichtsmonitor" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan if ($Monitoring) { Invoke-Monitoring | Out-Null } elseif ($Remediation) { Invoke-Remediation | Out-Null } else { # Standaard: compacte compliance check via monitoring $result = Invoke-Monitoring if (($result.Inventory.MissingJson.Count -eq 0) -and ($result.Inventory.MissingScripts.Count -eq 0)) { Write-Host "`n✅ COMPLIANT" -ForegroundColor Green } else { Write-Host "`n❌ NON-COMPLIANT" -ForegroundColor Red Write-Host "Run met -Remediation voor een gericht overzicht van hiaten en documentatietemplates." -ForegroundColor Yellow } } } catch { Write-Error "Er is een fout opgetreden in index.ps1: $_" throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder een doordacht security awareness programma ontstaan versnipperde, inconsistente organisaties waarin awareness-maatregelen niet samenhangend worden toegepast, compliance-vereisten moeilijk aantoonbaar zijn en het risico op beveiligingsincidenten of datalekken door menselijk falen aanzienlijk toeneemt. Dit kan leiden tot niet-naleving van AVG, BIO en NIS2, bestuurlijke aansprakelijkheid en verlies van vertrouwen bij burgers en bestuurders.

Management Samenvatting

Een doordacht security awareness programma vormt de fundamentele basis voor veerkrachtige, schaalbare en beheersbare organisaties binnen de Nederlandse publieke sector. Dit index-artikel schetst de overkoepelende principes, strategieën en best practices, en fungeert als kapstok voor meer specifieke artikelen over gedragsgerichte securityprogramma's, phishing-simulaties en training en opleiding.