BIO2: maatregelen en Goooy
For the CISO of a Dutch government organization; written in Dutch because it feeds the Verklaring van Toepasselijkheid directly.
Per overheidsmaatregel uit BIO2 v1.3 (9 januari 2026), deel 2: wie hem invult en hoe Goooy daarbij helpt. Bedoeld als invoer voor de Verklaring van Toepasselijkheid (VvT) en de ENSIA-zelfevaluatie. De BIO2 is via de Cyberbeveiligingswet wettelijk verplicht; de overheidsmaatregelen zijn de minimale invulling van de beheersmaatregelen uit NEN-EN-ISO/IEC 27002:2022.
Wie
- S: de software. Goooy levert de functie; soms moet die aangezet of ingesteld worden (staat erbij).
- B: wie de installatie beheert (de gemeente zelf, de GR, een hostingpartij of Goooy als dienst). Zie de verwerkersovereenkomst.
- G: de gemeente als organisatie: beleid, mensen, processen.
Status (van het software-deel): ☑︎ geregeld · ◐ deels, zie de toelichting · ✗ ontbreekt, staat onder Gaten · n.v.t.: geen softwaretaak.
Maatregelen met “Geen overheidsmaatregel”, “Vervallen” of “Verplaatst” staan niet in de tabellen; ISO-beheersmaatregelen zonder overheidsmaatregel waar Goooy aan bijdraagt staan in de laatste tabel.
5. Organisatorische maatregelen
| OM | Kern | Wie | Invulling | Status |
|---|---|---|---|---|
| 5.01.01, 5.01.02 | Informatiebeveiligingsbeleid, jaarlijks herzien | G | n.v.t. | |
| 5.02.01, 5.02.02 | Rollen, CISO | G | n.v.t. | |
| 5.04.01 | Scholing bestuur en medewerkers | G | n.v.t. | |
| 5.05.01 | Contacten met instanties en toezichthouders | G | n.v.t. | |
| 5.08.01 | Risicoafweging bij nieuwe systemen en grote wijzigingen | G | De DPIA en deze tabel zijn invoer. Het API-changelog en de releasenotes melden wijzigingen vooraf. | n.v.t. |
| 5.09.01 | Inventaris van bedrijfsmiddelen, ook cloud | G, B | De SBOM per release (npm run sbom, CycloneDX) en de lijst van koppelingen in Beheer → Compliance → Dataresidentie geven de softwarekant van de inventaris. |
☑︎ |
| 5.10.02, 5.10.03 | Gedragsregels voor gebruik | G | n.v.t. | |
| 5.12.01 | Informatie geclassificeerd met risicoafweging | G, S | Eigen classificatielabels van de organisatie op mail en bestanden, met regels voor mail naar buiten (toestaan, vastleggen, beveiligd portaal, weigeren) en delen buiten de organisatie (compliance.md). De organisatie kiest de labels op basis van haar eigen risicoafweging. Nog niet op chat, agenda en in native mailprogramma’s. | ◐ |
| 5.14.01 | Internetfacing systemen en e-mail voldoen aan de verplichte standaarden, gestuurd met internet.nl | S, B | TLS 1.2/1.3, HSTS, security.txt, DKIM, DMARC, SPF, STARTTLS + DANE, MTA-STS, IPv6 en DNSSEC-klaar; scripts/internetnl-check.mjs voert de internet.nl-toetsen lokaal uit (dns.md). DNSSEC en IPv6 zijn een taak van de DNS- en netwerkbeheerder. |
☑︎ |
| 5.14.02 | OV-certificaat (of PKIo) bij gevoelige gegevens | B | Let op: ACME/Let’s Encrypt geeft alleen DV-certificaten. Zet een OV- of PKIo-certificaat in het TLS-secret van de ingress (ingress.tls.secretName, zonder clusterIssuer) en voor de mailserver. |
◐ |
| 5.14.03 | AdES Baseline Profiles voor geavanceerde handtekeningen | S | De PAdES-handtekening (ESIGN_PADES_ENABLED) volgt het Baseline-profiel: ETSI.CAdES.detached met het ESS-attribuut signing-certificate-v2 (B-B) en, met een tijdstempeldienst (ESIGN_TSA_URL), een RFC 3161-tijdstempel (B-T). Het eigen certificaat van de organisatie (bijvoorbeeld PKIoverheid) wordt in Beheer → Compliance ingevoerd; gecontroleerd met pyHanko (esign.md). Niet: B-LT/B-LTA. |
☑︎ |
| 5.14.04 | Registratie van internetfacing systemen, IP’s, API’s | G, B | De OpenAPI-beschrijving /api/v1/openapi.json en de protocoleindpunten in architecture.md helpen bij de registratie. |
◐ |
| 5.14.05 | Websites in het Register Internetdomeinen Overheid | G | n.v.t. | |
| 5.15.01 | Toegang tot een vertrouwde zone alleen vanaf geauthenticeerde apparatuur of binnen een veilige schil | B, S | Beheerpoorten horen niet op internet (firewall, staging.md); ActiveSync-apparaten via provisioning en apparaatregels. Apparaatauthenticatie voor de webclient hoort bij de IdP (conditional access). | ◐ |
| 5.16.01 | Sluitende registratie- en afmeldprocedure | G, S | Accounts via SCIM of LDAP-synchronisatie uit het personeelssysteem/IdP, uitschakelen en verwijderen in Beheer → Gebruikers, elke wijziging in het beveiligingslogboek (scim.md, audit.md). | ☑︎ |
| 5.16.02 | Geen groepsaccounts zonder motivering | S | Gedeelde mailboxen hebben geen eigen wachtwoord: leden openen ze met hun eigen account, elke opening wordt gelogd (shared-mailboxes.md). | ☑︎ |
| 5.17.01 | MFA voor de werkomgeving, internet-bereikbare diensten en beheer; wachtwoordloos of wachtwoord + tweede factor; use cases voor misbruik | S, G | MFA verplicht per organisatie (requireMfa), TOTP en passkeys, of SSO met de IdP (OpenID.NLGov, acr_values) (sso.md). Mislukte aanmeldingen, blokkering per account en IP, e-mail bij een nieuw apparaat; alles in het beveiligingslogboek en via syslog naar de SIEM, waar de use cases “ongebruikelijke plek” en “piek in mislukte pogingen” als detectieregels horen. Oude clients (IMAP, SMTP) met app-wachtwoorden of OAuth2. |
☑︎ |
| 5.17.02 | Wachtwoordmanager voor medewerkers | G | n.v.t. | |
| 5.17.03 | Wachtwoordeisen geautomatiseerd afgedwongen | S | Minimale lengte (PASSWORD_MIN_LENGTH) en controle tegen gelekte wachtwoorden (HIBP, k-anonimiteit; uit bij eu-strict tenzij expliciet aangezet, of een eigen kopie in de objectopslag die de cluster niet verlaat: hibpMirror); met SSO gelden de eisen van de IdP. |
☑︎ |
| 5.18.01 | Wijzigingen aan accounts met bijzondere rechten gemonitord | S, G | Rolwijzigingen (ook via SSO-groepen, user.role.sso) en beheerhandelingen staan in het beveiligingslogboek met categorie admin en gaan naar de SIEM. Alarmeren is een SIEM-regel. |
☑︎ |
| 5.18.02 | Toegangsrechten jaarlijks beoordeeld | G, S | Het beveiligingsrapport (Beheer → Compliance) geeft per periode alle beheerders met MFA-status en laatste aanmelding, slapende accounts, gedelegeerde mailboxtoegang en delen buiten de organisatie, als pdf voor het reviewdossier. De review zelf doet de gemeente. | ☑︎ |
| 5.19.01 – 5.20.02 | Beveiligingseisen in offerte en contract, voorwaarden leverancier | G | Invoer: de verwerkersovereenkomst en de inkoopset (GEM-23). | n.v.t. |
| 5.20.03 | Leverancier toont jaarlijks aan dat hij voldoet, met onafhankelijk onderzoek | B | Goooy heeft (nog) geen certificering of assurance-rapport. Zie Gaten. | ✗ |
| 5.20.04 | Recht op eigen audit | G | Open broncode; de gemeente kan de software zelf laten onderzoeken. | ☑︎ |
| 5.20.05 | Leverancier transparant over kwetsbaarheden en incidenten | B | cbw.md: meldtermijnen en beveiligingsadviezen. | ☑︎ |
| 5.20.06 | Afhankelijkheid beheersbaar, exitstrategie | G, S | Open broncode (EUPL-1.2), zelf te hosten, gegevens in open formaten (mbox/EML, iCalendar, vCard, ODF) en standaardprotocollen (IMAP, CalDAV, CardDAV, WebDAV). | ☑︎ |
| 5.21.02 – 5.21.05 | Inzicht in de toeleveringsketen, eisen doorgeven, wijzigingen melden | B | cbw.md; SBOM per release; subverwerkers in Beheer → Privacy (AVG). | ☑︎ |
| 5.22.01, 5.22.02 | Leverancier jaarlijks beoordelen, registratie leveranciers | G | n.v.t. | |
| 5.23.01 | Beleid voor cloudleveranciers | G | n.v.t. | |
| 5.24.01 – 5.24.05 | Meldloket, meldprocedure, afhandeling, crisisbeheersing | G, B | n.v.t. | |
| 5.24.07 | Melden bij het CSIRT binnen de wettelijke termijn | G, B | De gemeente meldt; de leverancier meldt haar op tijd, zie cbw.md. | n.v.t. |
| 5.24.08 | CVD-procedure volgens de NCSC-leidraad of ISO 29147 | B, S | SECURITY.md voor de software; security.txt op elke installatie (SECURITY_CONTACT, SECURITY_POLICY_URL). Een gemeente publiceert daarnaast haar eigen CVD-beleid. |
☑︎ |
| 5.26.02, 5.27.01, 5.27.02 | Incidentbeheer, analyse, delen | G, B | n.v.t. | |
| 5.28.01 | Incidentinformatie en logging minimaal drie jaar bewaren | S, G | Het beveiligingslogboek is onbeperkt tot er een bewaarbeleid is; stel AUDIT_LOG op minimaal 3 jaar (1095 dagen) als het de incidentinformatie moet dragen, of bewaar in de SIEM. |
☑︎ |
| 5.30.01, 5.30.02 | Continuïteitsplannen testen, kritieke systemen | G, B | Hersteloefening in operations.md. | n.v.t. |
| 5.33.01 | Bewaartermijnen per selectielijst vastgelegd en ingeregeld | G, S | Mappen worden dossiers onder de Selectielijst gemeenten 2020; na afsluiten loopt de termijn, een vernietigingslijst met goedkeuring door een tweede beheerder en een verklaring van vernietiging; MDTO-export voor het e-Depot (archive.md). Daarnaast bewaarbeleid per categorie (compliance.md). | ☑︎ |
| 5.35.02 | Auditplan | G | n.v.t. | |
| 5.36.01 | Rapportage in de P&C-cyclus, In Control Verklaring | G | Het beveiligingsrapport levert de cijfers per kwartaal. | n.v.t. |
6. Mensgerichte maatregelen
| OM | Kern | Wie | Invulling | Status |
|---|---|---|---|---|
| 6.01.01 | Screeningsbeleid, VOG | G, B | Beheerders van de verwerker: VOG, zie de verwerkersovereenkomst. | n.v.t. |
| 6.02.01 – 6.03.04 | Verantwoordelijkheden, bewustwording, training binnen drie maanden, veilig mobiel werken | G | Goooy markeert externe afzenders en vervalste afzenders in de mail, wat de training ondersteunt. | n.v.t. |
| 6.08.01 | Medewerkers kennen de meldprocedure | G | n.v.t. |
7. Fysieke maatregelen
| OM | Kern | Wie | Invulling | Status |
|---|---|---|---|---|
| 7.01.02 | Kritieke systemen nooit via één zone bereikbaar | B | n.v.t. | |
| 7.02.01 | Waarschuwingen delen binnen de overheid | G | n.v.t. | |
| 7.07.01 | Vergrendeling bij verwijderen chipcardtoken | G | Werkplekbeheer. | n.v.t. |
| 7.10.01 – 7.10.03 | Media onherstelbaar wissen, verslag; transport | B, G | Datacenter en back-uplocatie van de beheerder. | n.v.t. |
8. Technologische maatregelen
| OM | Kern | Wie | Invulling | Status |
|---|---|---|---|---|
| 8.01.01 | Mobiel: zero footprint, anders versleuteling; wissen op afstand | S, B | De webapp laat niets achter; voor ActiveSync-apparaten eist het beleid (provisioning) apparaatversleuteling en pincode, met wissen op afstand en toestaan/blokkeren per apparaattype. De desktop- en mobiele apps bewaren een cache op het apparaat. | ☑︎ |
| 8.01.02 | Mobiel: patchmanagement, MDM/MAM, gebruikersovereenkomst | G | ActiveSync-beleid is geen volledige MDM; gebruik de MDM van de gemeente. | n.v.t. |
| 8.02.01 | Speciale bevoegdheden elk kwartaal beoordeeld | G, S | Zie 5.18.02; het rapport kiest standaard het afgelopen kwartaal. | ☑︎ |
| 8.03.01, 8.03.02 | Isolatie van informatie met specifiek belang, need-to-know | S, B | Rechten per map, bestand en mailbox; delegaties gelogd; afbakening per organisatie en optioneel een eigen schema of database per organisatie (tenancy.md). | ☑︎ |
| 8.05.01 | Netwerktoegang voor leveranciers na risicoafweging | B | n.v.t. | |
| 8.07.01 | Downloads beheerst; antimalware beoordeelt alle downloads | S, G | Bijlagen: gescand bij ontvangst, verdachte in quarantaine tot een beheerder ze vrijgeeft, optionele statische detonatie en veilige links (security.md). Bestanden in Bestanden, WebDAV, desktop-sync en chat worden vóór opslag gescand; besmette bestanden worden geweigerd (security.md). | ☑︎ |
| 8.07.02 | Voorlichting over links | G | Veilige links en waarschuwingen bij externe afzenders ondersteunen het. | n.v.t. |
| 8.07.03 | Antimalware actueel | B | ClamAV in de Helm-chart (clamav.enabled) met freshclam in dezelfde container; zonder ClamAV alleen de EICAR-testcontrole. |
n.v.t. |
| 8.07.04 | Malwarescan op servers, downloads en alle ontvangen bestanden vóór opslag | S, B | Mail en alle uploads naar Bestanden (web, WebDAV, desktop-sync, nieuwe versies, chatbijlagen, anonieme uploads via een link) vóór opslag; besmet wordt geweigerd en gelogd, niet te scannen wordt gelogd. Nog niet: migratie-import en JMAP-uploads. | ◐ |
| 8.08.01 – 8.08.03 | Hoog risico binnen een week mitigeren | B, S | Goooy brengt een beveiligingsupdate voor een kwetsbaarheid met hoog risico binnen een week uit en meldt die vooraf aan klanten (cbw.md); de beheerder installeert. | ☑︎ |
| 8.08.04, 8.08.05 | Jaarlijkse controle; pentest bij elke release van internetfacing systemen | B, S | Geautomatiseerd: npm audit en SBOM in CI, internet.nl-toets, de regressietests. Een penetratietest per release is er niet. Zie Gaten. |
✗ |
| 8.13.01 – 8.13.04 | Back-upbeleid, ransomware, tweede locatie, jaarlijkse hersteltest | B | Back-up-CronJob naar een tweede aanbieder, hersteltest beschreven (operations.md); tegen ransomware: versiebeheer of object lock op de doelbucket. | n.v.t. |
| 8.15.01 | Logregel met actie, object, resultaat, oorsprong, actor, tijdstempel | S | Elke regel van het beveiligingslogboek heeft precies die velden (action, targetType/targetId, outcome, ip + userAgent, actorId, createdAt) (audit.md). | ☑︎ |
| 8.15.02 | Geen gegevens die de beveiliging doorbreken in logs | S | Geen wachtwoorden, tokens of sleutels in het logboek; geheimen in chat worden gemaskeerd. | ☑︎ |
| 8.15.03 | Overzicht van logbestanden | B, S | Beveiligingslogboek (database + syslog), applicatielogboek (stdout, JSON), mailserverlogs, ingress-logs. | ◐ |
| 8.15.04 | Bewaartermijn logs risicogericht | G | Instelbaar (minimaal 180 dagen). | ☑︎ |
| 8.15.05 | Wijzigen of verwijderen van logs gemeld als incident | S, G | De database weigert wijzigen en verwijderen van logregels (trigger); alleen de bewaarsweep mag, en nooit onder de ondergrens. Een hashketen per organisatie laat elke wijziging of verwijdering buiten de applicatie zien; de controle elke 6 uur meldt die als audit.chain.broken en met de alert GoooyAuditChainBroken (audit.md). Een geweigerde poging staat alleen in het PostgreSQL-log. |
☑︎ |
| 8.15.06 | Periodieke toets dat logs ongewijzigd zijn | G, S | Automatisch elke 6 uur, en op verzoek in Beheer → Auditlog → Integriteit controleren. De SIEM-kopie bevat per regel het volgnummer en de hash, als tweede bron. | ☑︎ |
| 8.16.01 – 8.16.04 | Monitoring, detectie en respons, delen met CERT | B, G | Prometheus-metrics en alarmregels (operations.md), beveiligingslogboek naar de SIEM. Detectie en respons (SOC) liggen bij de beheerder. | n.v.t. |
| 8.18.01, 8.18.02 | Systeemhulpmiddelen alleen voor bevoegden, gelogd (half jaar) | B | Kubernetes-auditlog, SSH-logging. | n.v.t. |
| 8.19.01 | Installatie van niet-geautoriseerde software beheerst | B | Images zijn vast; niets wordt tijdens het draaien geïnstalleerd. | n.v.t. |
| 8.20.01, 8.20.02 | Netwerkcomponenten, gescheiden beheerinterfaces | B | n.v.t. | |
| 8.21.01 – 8.21.03 | Aanvallen op koppelpunten signaleren, verkeer bewaken | B | Snelheidsbeperking op aanmelden en publieke formulieren; DDoS-bescherming en netwerkdetectie bij de beheerder. | n.v.t. |
| 8.21.04 | Versleuteling bij transport | S, B | Extern altijd TLS; e-mail met STARTTLS + DANE. Binnen het cluster (API ↔ PostgreSQL, Redis, Garage) is TLS een instelling van de beheerder. | ◐ |
| 8.22.01 | Beveiligingsniveau per netwerkgroep | B | n.v.t. | |
| 8.24.01 – 8.24.05 | Cryptografiebeleid, inventaris, NCSC-adviezen, reservecertificaten | G, B, S | Softwarekant: TLS volgens de NCSC-richtlijnen (alleen ECDHE AEAD op poort 25), S/MIME RSA-OAEP + AES-256-GCM, chat-E2EE, geheimen in de database versleuteld (AES-GCM), wachtwoorden bcrypt (security.md). | ☑︎ |
| 8.27.01 | Security by design en by default | S | Veilige standaarden: protocollen per gebruiker uit te zetten, geen telemetrie, geen externe verbindingen behalve wat is ingesteld, eu-strict als schakelaar. |
☑︎ |
| 8.29.01 | Gestructureerde, geautomatiseerde acceptatietests met verslag | S | Bij elke push draait de GitLab-pipeline: typecontrole, eenheidstests, build, Helm-controle, afhankelijkhedenaudit, SBOM, alle rooktests van de API en de Playwright-tests van de webapp (security.md). | ☑︎ |
| 8.30.01 | Uitbestede ontwikkeling | G | n.v.t. | |
| 8.31.01, 8.31.02 | Niet testen in productie, wijzigingen vooraf testen | B | Een aparte test- of acceptatieomgeving met dezelfde Helm-chart. | n.v.t. |
| 8.32.01, 8.32.02 | Wijzigingsbeheer met testresultaten, rollback, goedkeuring | B, S | Versies via git-tags en images per commit; migraties vooruit; Helm-rollback beschreven (operations.md). | ☑︎ |
ISO-beheersmaatregelen zonder overheidsmaatregel
Waar de BIO2 geen overheidsmaatregel geeft, geldt de implementatierichtlijn van ISO 27002. Deze dragen vooral op de software:
| ISO 27002 | Onderwerp | Invulling in Goooy |
|---|---|---|
| 5.15, 5.18, 8.2 | Toegangsbeveiliging | Rollen, beheerrollen met beperkte rechten, afbakening per organisatie, gasten alleen chat en vergaderen |
| 5.34 | Privacy en persoonsgegevens | Beheer → Privacy (AVG): register, verzoeken van betrokkenen, verwijdering tot in de opslag (privacy.md) |
| 8.5 | Veilige authenticatie | Zie 5.17.01; sessies en tokens intrekbaar, OAuth2/OIDC voor clients (oauth.md) |
| 8.10 | Verwijderen van informatie | Bewaarbeleid, verwijdering tot in de objectopslag (privacy.md) |
| 8.11 | Maskeren van gegevens | DLP-actie “maskeren” op mail, chat en deellinks; geheimen in chat gemaskeerd |
| 8.12 | Voorkomen van datalekken | DLP-regels (IBAN, creditcard, geheimen, eigen patronen); BSN en andere Nederlandse nummers met GEM-11 |
| 8.26 | Beveiligingseisen voor applicaties | Invoer gevalideerd per route (Zod), CSP en frame-ancestors, HTML in mail gesaneerd (DOMPurify) |
| 8.28 | Veilig programmeren | Openbare broncode, type-controle, afhankelijkheden gecontroleerd |
Gaten
Wat de software nu niet invult. Elk punt staat ook in de backlog.
| OM | Gat | Wat nodig is |
|---|---|---|
| 8.08.05 | Geen penetratietest per release | Organisatorisch: een jaarlijkse pentest door een derde en geautomatiseerde scans (DAST) per release in CI |
| 5.20.03 | Geen onafhankelijke toetsing van de leverancier | Organisatorisch: ISO 27001-certificering of een ISAE 3000-rapport van wie Goooy als dienst levert |
| 5.14.02 | ACME geeft DV-certificaten | Documentatie: OV of PKIo in het TLS-secret (staat hierboven); geen code nodig |