Containeriseren
TechnologieEen manier om applicaties los te laten werken van een besturingssysteem of andere applicaties. In een container zit de applicatie zelf en alles wat nodig is om de applicatie te laten werken. Het voordeel van containeriseren is dat men de applicatie makkelijk kan verplaatsen naar een andere omgeving. Net als met containers op een schip.
Containeriseren is een virtualisatietechnologie waarbij je applicaties samen met al hun afhankelijkheden verpakt in geisoleerde, draagbare eenheden die containers worden genoemd. In tegenstelling tot traditionele virtuele machines delen containers de kernel van het hostbesturingssysteem, waardoor ze aanzienlijk lichter en sneller zijn. Docker en Kubernetes zijn de meest gebruikte technologieen voor het bouwen en beheren van containers. Vanuit cybersecurity-perspectief biedt containerisatie zowel voordelen als uitdagingen: containers isoleren applicaties van elkaar, maar introduceren ook een nieuw aanvalsoppervlak dat specifieke beveiligingsmaatregelen vereist.
De adoptie van containers is de afgelopen jaren explosief gegroeid. Volgens het Red Hat State of Kubernetes Security Report heeft meer dan 90 procent van de organisaties minstens een beveiligingsincident ervaren in hun Kubernetes-omgeving. Tegelijkertijd heeft 67 procent van de organisaties de deployment van applicaties vertraagd vanwege zorgen over de beveiliging van hun containeromgeving. Dit onderstreept het belang van een doordachte beveiligingsstrategie bij het adopteren van containerisatie als deploymentmodel voor bedrijfskritieke applicaties.
Hoe werkt containeriseren?
Een container bevat de applicatiecode, runtime, systeemtools, bibliotheken en instellingen die nodig zijn om de applicatie te draaien. De containerruntime, zoals Docker Engine of containerd, beheert de lifecycle van containers op het hostsysteem. Containers delen de kernel van het hostbesturingssysteem maar draaien in geisoleerde namespaces met eigen netwerk, bestandssysteem en procesruimte. Kubernetes fungeert als orkestratieplatform dat containers automatisch deployt, schaalt en beheert over clusters van servers.
Vanuit beveiligingsperspectief is de container image de basis van alles. Een image wordt gebouwd vanuit een Dockerfile of vergelijkbaar configuratiebestand en bevat het besturingssysteem, de applicatie en alle afhankelijkheden. Als een image een kwetsbaarheid bevat, draagt elke container die vanuit die image wordt gestart dezelfde kwetsbaarheid. Daarom is image scanning een fundamentele beveiligingspraktijk: je scant images op bekende CVE's voordat ze in productie worden toegelaten. Sigstore en Software Bills of Materials (SBoMs) worden steeds meer de standaard voor het ondertekenen en verifieren van container images in de supply chain.
In november 2025 werden drie kritieke kwetsbaarheden ontdekt in runc, de containerruntime die Docker, Kubernetes en andere containerplatforms aandrijft. Deze kwetsbaarheden, waaronder CVE-2025-31133, maakten het mogelijk om door de isolatie tussen container en hostsysteem heen te breken via gemanipuleerde mounts en symbolische links. Dit benadrukt dat container-isolatie niet absoluut is en dat je de onderliggende runtime-componenten actief moet patchen en monitoren als onderdeel van je reguliere updateproces.
Wanneer heb je containeriseren nodig?
Containerisatie is waardevol voor organisaties die applicaties willen moderniseren, microservices-architecturen willen adopteren of consistente deployment over meerdere omgevingen nodig hebben. Je hebt containerisatie nodig als je applicaties wilt schalen op basis van belasting, als je development- en productieomgevingen identiek wilt houden of als je meerdere applicaties op dezelfde infrastructuur wilt draaien zonder conflicten tussen afhankelijkheden.
Onder DORA en NIS2 moeten organisaties hun digitale weerbaarheid aantonen, inclusief de beveiliging van hun deploymentprocessen. Containerisatie kan hieraan bijdragen door reproduceerbare builds en geautomatiseerde beveiligingsscans mogelijk te maken als onderdeel van de software supply chain. Organisaties in de financiele sector en gezondheidszorg gebruiken containers steeds vaker voor het draaien van bedrijfskritieke applicaties, mits ze de juiste beveiligingsmaatregelen implementeren zoals image scanning, runtime protection en netwerksegmentatie tussen containers en pods.
Voordelen en beperkingen van containeriseren
Containers bieden sterke isolatie op applicatieniveau, reproduceerbare deployments en snelle schaalbaarheid. Ze maken DevSecOps-workflows mogelijk waarbij beveiligingsscans automatisch worden uitgevoerd als onderdeel van de CI/CD-pipeline bij elke code-commit. De immutable infrastructure benadering, waarbij containers bij elke wijziging opnieuw worden gebouwd in plaats van gepatcht, verkleint het aanvalsoppervlak doordat er geen langlopende systemen zijn die drift accumuleren en ongepatchte kwetsbaarheden ophopen.
De beperkingen zijn significant. Container-isolatie is minder sterk dan VM-isolatie omdat containers de kernel delen met het hostsysteem. Misconfiguraties zijn verantwoordelijk voor 45 procent van de beveiligingsincidenten in Kubernetes-omgevingen, wat het de grootste risicofactor maakt. Containers zijn niet standaard veilig geconfigureerd: je moet actief rechten beperken, netwerksegmentatie afdwingen en secrets management implementeren. De container- en Kubernetes-beveiligingsmarkt groeit naar verwachting naar 25 miljard dollar in 2033, wat de toenemende aandacht voor dit domein weerspiegelt.
Container security best practices
Een effectieve containerbeveiligingsstrategie begint bij de bouw van de container image. Gebruik minimale base images die alleen de noodzakelijke componenten bevatten, waardoor het aanvalsoppervlak kleiner wordt. Scan elke image automatisch op bekende kwetsbaarheden als onderdeel van je CI/CD-pipeline en blokkeer images met kritieke CVE's van deployment naar productie. Onderteken images cryptografisch met tools zoals Cosign of Notary zodat je de herkomst en integriteit kunt verifieren voordat een container wordt gestart.
Tijdens runtime beperk je container-rechten door ze als non-root gebruiker te draaien en read-only bestandssystemen te gebruiken waar mogelijk. Implementeer Kubernetes network policies om verkeer tussen pods te beperken tot wat strikt noodzakelijk is. Gebruik een secrets manager zoals HashiCorp Vault of Kubernetes Secrets met encryptie at rest in plaats van credentials in environment variables of configuratiebestanden op te slaan. Runtime security tools zoals Falco of Sysdig detecteren verdacht gedrag binnen draaiende containers, zoals het starten van onverwachte processen of pogingen om bestanden buiten de verwachte paden te benaderen. Regelmatige beveiligingsaudits van je Kubernetes-configuratie helpen misconfiguraties op te sporen die het grootste risico vormen in containeromgevingen.
Containeriseren en compliance
Bij het inzetten van containers in gereguleerde sectoren moet je rekening houden met compliance-vereisten rondom logging, auditability en data-isolatie. Zorg dat container-logs centraal worden verzameld en bewaard volgens de vereiste retentieperiodes van je organisatie en sector. Implementeer image provenance tracking zodat je kunt aantonen welke code in productie draait en waar deze vandaan komt in de software supply chain. Onder NIS2 en DORA moet je kunnen aantonen dat je deployment-pipeline beveiligd is tegen supply chain aanvallen, wat betekent dat je image scanning, signing en verificatie als verplichte stappen in je pipeline opneemt en documenteert.
Veelgestelde vragen over containeriseren
Wat is het verschil tussen containers en virtuele machines?
Containers delen de kernel van het hostsysteem en zijn daarom lichter en sneller op te starten dan virtuele machines. VM's virtualiseren de complete hardware inclusief kernel en bieden daardoor sterkere isolatie. Voor beveiligingskritieke workloads worden containers soms binnen VM's gedraaid voor een extra isolatielaag die de sterke punten van beide technologieen combineert.
Zijn containers standaard veilig?
Nee. Kubernetes en Docker zijn niet standaard veilig geconfigureerd. Je moet actief beveiligingsbeleid implementeren: beperk container-rechten, scan images op kwetsbaarheden, implementeer network policies en beheer secrets via een dedicated secrets manager. Misconfiguratie is de grootste oorzaak van beveiligingsincidenten in containeromgevingen.
Hoe scan je container images op kwetsbaarheden?
Gebruik image scanning tools zoals Trivy, Snyk Container of Aqua Security die images automatisch scannen op bekende CVE's in het besturingssysteem en applicatie-afhankelijkheden. Integreer scanning in je CI/CD-pipeline zodat kwetsbare images automatisch worden geblokkeerd voor deployment naar productie.
Wat is container escape?
Container escape is een aanval waarbij een aanvaller uit een container breekt en toegang krijgt tot het hostsysteem of andere containers. Dit kan via kwetsbaarheden in de containerruntime, misconfiguraties of het draaien van containers met te veel rechten. Het is een van de ernstigste risico's in containeromgevingen en vereist continue patching van de runtime.
Is Kubernetes verplicht voor containers?
Nee, Kubernetes is niet verplicht. Je kunt containers draaien met Docker Compose of andere tools voor kleinere omgevingen. Kubernetes wordt waardevol wanneer je tientallen tot duizenden containers beheert en geautomatiseerde scaling, load balancing en zelfherstellend vermogen nodig hebt voor productieomgevingen.
Vergelijk aanbieders van containerbeveiliging op Container Security op IBgidsNL.