Skip to content
· 10 min. leestijd

Checklist met beveiligingseisen voor webapplicaties in maatwerksoftwarecontracten

Een contractklare checklist voor webapplicatiebeveiliging met 12 toetsbare eisen, bewijsregels, acceptatiecriteria en overdrachtstaken voor kopers van maatwerksoftware.

SecurityWeb DevelopmentBusiness StrategyProcess
Delen

Een checklist met beveiligingseisen voor webapplicaties maakt beveiliging onderdeel van de contractscope: elke eis krijgt een eigenaar, een toets met een slaag- of faalresultaat, het vereiste bewijs en een hersteltermijn. Neem dit schema vóór de start van de ontwikkeling naast de functielijst op.

Gebrekkige toegangscontrole staat nog altijd op de eerste plaats in de OWASP Top 10:2025. Een scan kan de bedrijfsregel missen die bepaalt of de ene klant de factuur van een andere klant mag openen.

Opdrachtgevers weten doorgaans welke gegevens bescherming nodig hebben, maar een contract beschrijft de schermen vaak veel uitvoeriger dan de beveiligingstests. Deze gids biedt een contractklaar schema op basis van OWASP ASVS 5.0, met het bewijs dat bij acceptatie nodig is. Ook legt het schema vast welke taken na de overdracht doorlopen.

  • Verwijs met versie en niveau naar OWASP ASVS 5.0. De OWASP Top 10 legt risico's uit, terwijl ASVS eisen levert die een slaag- of faalresultaat opleveren.
  • Geef elke eis vier velden: eigenaar, acceptatietest, bewijs en hersteltermijn.
  • Test autorisatie met twee gebruikers of tenants. Een geslaagde aanmelding zegt niets over de toegang tot gegevens, exports, bestanden of beheeracties van een andere klant.
  • Maak bewijs onderdeel van de oplevering. De opdrachtgever hoort de eisenmatrix, testresultaten, bekende uitzonderingen, implementatienotities en herstelbewijzen te ontvangen.
  • Houd onderhoud binnen de scope. Patches voor dependencies, hulp bij incidenten, overdracht van inloggegevens en responstijden gaan in zodra de applicatie live staat.

Een beveiligingsbelofte vereist een acceptatietest

OWASP omschrijft de Top 10 als een bewustwordingsdocument en raadt de Application Security Verification Standard aan voor toetsbare eisen aan applicatiebeveiliging. ASVS 5.0 bevat ongeveer 350 eisen verdeeld over 17 hoofdstukken, elk bedoeld om een slaag- of faalbeslissing op te leveren.

ASVS helpt ook bij de inkoop van maatwerksoftware. Een opdrachtgever kan een niveau noemen, de relevante eisen selecteren en de leverancier vragen om naleving te bewijzen met versiereferenties zoals `v5.0.0-1.2.5`. Dat levert bruikbare contracttaal op, omdat de referentie ook bij een andere leverancier of testpartij overeind blijft.

Een webvise-project van zes weken voor een Duitse vastgoeddienst combineerde een financiële intake in 10 stappen, automatische PDF-generatie en een beheerdashboard met een beoogde doorlooptijd van minder dan 24 uur. Zo'n workflow roept gerichte beveiligingsvragen op: wie mag een aanvraag lezen, de status ervan wijzigen, de PDF genereren, deze downloaden en de auditgeschiedenis bekijken? De regel `authenticatie inbegrepen` laat al die beslissingen open.

Bevat uw applicatie zo'n vertrouwelijke workflow, dan omvat de maatwerkapplicatiedienst van webvise authenticatie, autorisatie, API-ontwerp, CI/CD, monitoring en tests voor de afgesproken kritieke processen. Het beveiligingsschema bepaalt welke risico's deze resultaten moeten afdekken.

Kies een ASVS-niveau vóór de kostenraming

ASVS kent drie niveaus die steeds grondiger worden. OWASP noemt een product in een vroege fase met weinig gevoelige gegevens als mogelijk geval voor Level 1, terwijl een online bank doorgaans geen lager niveau dan Level 3 kan verantwoorden. De opdrachtgever en leverancier kiezen het niveau op basis van de gegevens, gebruikers, bedrijfsimpact en waarschijnlijke aanvallers van de applicatie.

ASVS-niveauPraktische toepassing voor de opdrachtgeverContractinstructie
Level 1Product in een vroege fase met weinig gevoelige gegevens en een beperkt dreigingsmodelPas elke relevante L1-eis toe en leg uitgesloten hoofdstukken vast
Level 2B2B SaaS, klantportalen, facturatie, vertrouwelijke gegevens of een wezenlijke bedrijfsonderbrekingPas relevante L2-eisen toe, benoem gevoelige processen en eis traceerbaar bewijs
Level 3Bankieren, gezondheidszorg, kritiek beheer of systemen waarbij een inbreuk ernstige schade kan veroorzakenStem de L3-scope af met een beveiligingsspecialist en leg onafhankelijke verificatie vast

De tabel is een risicogids voor opdrachtgevers, want OWASP laat de uiteindelijke niveaukeuze aan elke organisatie. Stem ook de hoofdstukken af op de applicatie. Een applicatie zonder OAuth, WebSockets, GraphQL of een browserfrontend kan die delen uitsluiten, mits de uitsluitingen in het contractschema staan.

Neem de exacte ASVS-versie op in de overeenkomst. `ASVS Level 2` kan na een grote nieuwe versie van betekenis veranderen, terwijl `OWASP ASVS v5.0.0, geselecteerde L2-eisen in Bijlage A` beide partijen een stabiel testdoel geeft.

Neem het beveiligingsschema met 12 eisen over

Gebruik het volgende schema als beveiligingsbijlage bij een briefing of opdrachtomschrijving. Elke rij heeft een benoemde eigenaar nodig, plus de eindtest, het bewijs dat de opdrachtgever ontvangt en de termijn voor het herstellen van een mislukte test.

OnderdeelContracteisAcceptatiebewijs
1. Risico- en gegevenskaartBreng gevoelige gegevens, actoren, systemen, vertrouwensgrenzen, bewaartermijnen en verboden toepassingen in kaartGoedgekeurde notitie over gegevensstromen en risicoregister
2. Authenticatie en sessiesLeg regels vast voor aanmelden, resetten, afmelden, sessieverloop, MFA en accountherstelGeautomatiseerde tests van processen en configuratieoverzicht
3. AutorisatieLeg elke rol, beschermde resource, toegestane actie en tenantgrens vastToegangsmatrix met horizontale, verticale en tenantoverschrijdende tests
4. Invoer- en bestandsverwerkingValideer alle invoer van clients, API's, webhooks, query's en uploads op de serverTests voor ongeldige typen, groottelimieten, misvormde invoer en onveilige bestanden
5. Secrets en cryptografieBewaar secrets buiten de broncode en leg regels vast voor versleuteling, rotatie en toegangInventaris van secrets, opslagconfiguratie en rotatieprocedure
6. Dependencies en supply chainHoud directe en transitieve dependencies bij, scan ze en stel responstijden voor patches vastLockfile, dependency-inventaris, scanrapport en uitzonderingsregister
7. Externe dienstenLeg voor elke integratie authenticatie, scopes, time-outs, nieuwe pogingen na fouten, validatie en gedrag bij storingen vastIntegratietests en overzicht van het eigenaarschap van inloggegevens
8. Logging en waarschuwingenLog beveiligingsgebeurtenissen zonder gevoelige inhoud en stuur bruikbare waarschuwingen naar een benoemde eigenaarGebeurteniscatalogus, bewaartermijn en test met een geactiveerde waarschuwing
9. FoutgedragLeg veilig gedrag vast voor mislukte aanvragen, gedeeltelijke schrijfacties, onbeschikbare diensten en onverwachte toestandenTests van foutpaden die terugdraaien of veilig beëindigen aantonen
10. Back-up, herstel en verwijderingLeg de back-upfrequentie, hersteldoelstelling, bewaartermijn, export en regels voor gecontroleerde verwijdering vastResultaat van de hersteltest en verwijderingstest
11. Build- en releasepipelineBescherm branches, beperk productietoegang, scan wijzigingen en registreer deploymentsCI/CD-configuratie, toegangslijst en releasegeschiedenis
12. Overdracht en herstelmaatregelenDraag broncode, infrastructuur, inloggegevens, bekende problemen, responstijden en onderhoudstaken overOndertekende overdrachtslijst en hersteltabel op basis van ernst

De rij over dependencies weegt zwaar. Op 14 september 2025 drong de Shai-Hulud-worm npm binnen via gecompromitteerde accounts van beheerders en schadelijke post-install-scripts. OWASP registreert meer dan 500 getroffen pakketversies voordat npm de worm stopte.

Een leverancier kan niet eeuwig instaan voor elk pakket. Het contract kan een inventaris bij oplevering, geautomatiseerde controles tijdens de ontwikkeling, schriftelijke uitzonderingen en een vaste reactietermijn voor nieuwe kritieke bevindingen eisen. Zo behandelt het contract code van derden als een risico met een duidelijke eigenaar.

Voeg dit schema toe aan het technische deel van de briefing voor een webbureau voordat u een kostenraming vraagt. Een leverancier kan dan het vereiste bewijs inprijzen en maatregelen aanwijzen waarvoor een onafhankelijke beveiligingsspecialist nodig is.

Formuleer elke regel als goedgekeurd of afgekeurd

ASVS beperkt zijn eisen tot resultaten die verifieerbaar zijn. Pas dezelfde regel toe op het contract: een andere gekwalificeerde persoon hoort na het lezen van het criterium en het uitvoeren van de genoemde test tot hetzelfde resultaat te komen.

Vage eisAcceptatiecriterium met slaag- of faalresultaatBewijs
Gebruik veilige authenticatieVerlopen, ingetrokken en ontbrekende sessies krijgen een 401-respons; vijf mislukte pogingen activeren de afgesproken maatregelResultaten van geautomatiseerde authenticatietests
Houd klantgegevens vertrouwelijkGebruiker B kan geen gegevens lezen, wijzigen, verwijderen of exporteren die binnen de tenant van gebruiker A zijn aangemaaktAanvraagtests met twee tenants die 403 of 404 teruggeven
Bescherm beheerfunctiesElke beheerroute weigert aanvragen van anonieme en standaardgebruikers op de serverRollenmatrix en testresultaten per route
Valideer uploadsDe server weigert niet-toegestane typen, afwijkende MIME-gegevens, te grote bestanden en onveilige bestandsnamenUploadtestset en controle van opgeslagen bestanden
Bewaak aanvallenEen testreeks van mislukte aanmeldingen maakt binnen de afgesproken tijd één waarschuwing voor de benoemde eigenaar aanGebeurtenis, waarschuwing en ontvangstregistratie met tijdstempel
Houd dependencies veiligDe oplevering bevat geen onopgeloste kritieke bevinding buiten het ondertekende uitzonderingsregisterGedateerd dependencyrapport en goedgekeurde uitzonderingen

Next.js maakt dit concreet. De gids voor gegevensbeveiliging van Next.js, bijgewerkt op 27 februari 2026, stelt dat elke geëxporteerde Server Action een publiek HTTP-endpoint creëert en dezelfde autorisatiecontroles nodig heeft als een API. Gebruik een geautomatiseerde aanvraagtest als bewijs. Een verborgen knop bewijst alleen de toestand van de interface.

Autorisatie verdient meerdere tests, omdat een aanmeldcontrole alleen de identiteit afdekt. Herhaal beschermde acties als een andere gebruiker met dezelfde rol, een lagere rol, een andere tenant, een verlopen sessie en zonder sessie. Pas die matrix toe op leesacties, schrijfacties, exports, bestanden, achtergrondtaken en beheertools.

Eis bewijs vóór acceptatie

De OWASP Secure Software Contract Annex noemt het eindbewijs een certificeringspakket. Volgens OWASP kunnen voor sommige projecten een korte risicobeoordeling, enkele pagina's met eisen, een notitie over het beveiligingsontwerp, een testplan en de resultaten volstaan.

  • Notitie over risico's en gegevensstromen: actoren, gevoelige velden, systemen, vertrouwensgrenzen, bewaartermijnen en de eigenaar die elke beslissing goedkeurde.
  • Eisenmatrix met versies: geselecteerde ASVS 5.0-ID's, toepasselijkheid, eigenaar, status, testreferentie en eventuele uitzondering.
  • Autorisatiematrix: actor, resource, actie, verwacht resultaat en geautomatiseerd testresultaat voor beschermde processen.
  • Dependencyoverzicht: directe en transitieve inventaris, gedateerde scan, onopgeloste bevindingen en ondertekende uitzonderingen.
  • Implementatienotitie: productietoegang, locaties van secrets, beveiligingsinstellingen, domeinen, externe diensten en terugdraaiprocedure.
  • Herstelbewijs: één voltooide hersteltest met datum, duur, resultaat en elke gevonden tekortkoming.
  • Monitoringbewijs: een geactiveerde beveiligingsgebeurtenis, de waarschuwing die deze aanmaakte, de ontvanger en de ontvangsttijd.

Geautomatiseerde scanners dekken slechts een deel van dit pakket. OWASP waarschuwt dat tools de Top 10 niet volledig kunnen afdekken, omdat onveilig ontwerp, autorisatie volgens bedrijfsregels en doeltreffende waarschuwingen een beoordeling of live verificatie vereisen. Schakel een specialist in voor onafhankelijke tests wanneer de applicatie gereguleerde gegevens, geldstromen, medische dossiers of beheer met grote impact verwerkt.

De acceptatieclausule hoort te vermelden wie het pakket beoordeelt en welke bevindingen de oplevering blokkeren. Een bruikbare regel blokkeert acceptatie bij onopgeloste bevindingen met kritieke of hoge ernst, terwijl een ondertekende uitzondering een minder ernstige bevinding kan uitstellen met een eigenaar en uiterste datum. Laat een bevoegde jurist de uiteindelijke contracttekst beoordelen voor het rechtsgebied dat van toepassing is.

Leg beveiligingstaken na de overdracht vast

De oplevering sluit de bouwfase af en start de beheerfase. Nieuwe bevindingen in dependencies, verlopen certificaten, gelekte inloggegevens, personeelswisselingen, misbruikpatronen en uitgevallen integraties volgen hun eigen tijdlijn. De overeenkomst moet voor elk punt een eigenaar aanwijzen.

Voorwaarde na overdrachtVast te leggen beslissing
MeldrouteWaar beveiligingsmeldingen terechtkomen, wie ze ontvangt en hoe de ontvangst wordt bevestigd
Ernst en reactieHoe de ernst wordt bepaald en welke reactie- of hersteltermijn voor elke categorie geldt
Onderhoud van dependenciesWie waarschuwingen beoordeelt, updates toepast, compatibiliteit test en patches implementeert
Hulp bij incidentenBeschikbaarheid, tarieven, behoud van bewijs, communicatie en beslissingsbevoegdheid
Eigenaarschap van inloggegevensWelke accounts van de opdrachtgever zijn en wanneer sleutels, domeinen en tokens roteren
Einde van de dienstverleningExport van broncode, overdracht van infrastructuur, teruggave van gegevens, gecontroleerde verwijdering en intrekking van toegang

Eigendom van de broncode heeft pas waarde als de opdrachtgever de applicatie ook kan uitvoeren. Eis de repository, CI/CD-configuratie, infrastructuurinstellingen, omgevingsinventaris, geschiedenis van databasemigraties, toegang tot monitoring en een geteste implementatieroute. Bij maatwerkapplicaties omvat de oplevering door webvise het eigendom van de broncode, gedocumenteerde kritieke processen, CI/CD, monitoring en werkende infrastructuur.

webvise kan van deze checklist een afgebakend beveiligingsschema voor een nieuwe maatwerkapplicatie maken, met het relevante ASVS-niveau, bewijs en overdrachtsvoorwaarden als onderdeel van het project. Stuur de workflow en gegevenstypen naar webvise voordat de kostenraming wordt vastgelegd.

De werkwijzen van webvise zijn afgestemd op de ISO 27001- en ISO 42001-normen.