Blog Security & Compliance

Wat is Container Security? Alles wat je moet weten

De container architectuur neemt steeds meer toe vanwege de voordelen ervan (hogere snelheid, portabiliteit, etc.).

Het introduceert echter ook nieuwe security uitdagingen, met name rond de supply chain, verouderde container images en het grijze gebied in expertise tussen Dev en Ops. Bij het moderniseren van je applicatie moet je de risico's en kwetsbaarheden beperken.

Maar wat zijn de risico's en wat is container security precies?

We vertellen je er alles over, dus let's go!

Niels Kroeze

Auteur

Niels Kroeze

Leestijd 9 minuten Gepubliceerd: 12 maart 2025

Wat is Container Security?

Container security is het proces van het toepassen van security policies, tools en best practices om de applicaties die we bouwen, draaien en deployen te beschermen. Container security richt zich op het beveiligen van containerised apps en hun infrastructuur tegen security dreigingen gedurende de hele lifecycle. Dit omvat:

  • Vulnerability scanning
  • Configuration management
  • Network segmentation
  • Access controls
  • Monitoring

Deze maatregelen voorkomen dat aanvallers misbruik maken van containers of systemen waarop ze draaien en er controle over krijgen.

 

Belangrijke Componenten van Container Security Architectuur

Diagram van een container architectuur, met lagen van app en bin/library binnen een container, via container runtime, besturingssysteem, tot hardware.

Figuur 1:
Voorbeeld Container Architectuur

De belangrijkste componenten van container security architectuur zijn:

  • Container images: De container images die je gebruikt om je containers te draaien.
  • Image registries: We gebruiken ze om onze images in te bewaren. 
  • Container runtimes: Deze gebruiken we om onze containers uit te voeren.  
  • Orchestration platforms: Platforms zoals Kubernetes die we gebruiken om meerdere containers te beheren.
  • Host OS: Het besturingssysteem dat de container runtime beheert en waarvan de kernel gedeeld wordt met draaiende Docker containers.

Voordelen van Cloud Containers

Containers ondersteunen de ontwikkeling van verschillende softwarearchitecturen, zoals microservices. Ze verkorten de tijd die nodig is om workloads te deployen en hebben ingebouwde security voordelen. Eigenschappen zoals workload isolation, applicatie abstractie en de immutable kenmerken van containers dragen bij aan hun populariteit.

Containers maken de applicatie development pipeline soepeler en kunnen overal worden gedeployed. Maar zoals vaak het geval is: “elke kracht heeft een zwakte”. De flexibiliteit om overal te deployen brengt nieuwe attack surfaces met zich mee in de container omgeving.

 

Waarom is Container Security Belangrijk?

Het grote voordeel van containers is hun extreme schaalbaarheid. Met orchestrators zoals Kubernetes kunnen we opschalen van één container naar duizend. Maar als we onze container images niet goed beheren, kunnen we een probleem ook opschalen van één container naar duizend.

Door de dynamische aard en complexiteit van cloud containers moeten we ons aanpassen aan een veranderde benadering van beveiliging bij het bespreken van gecontaineriseerde apps.

Container-gebaseerde systemen voegen nieuwe lagen toe aan software delivery pipelines. Het is belangrijk om het host OS, de container runtime en de containers zelf te beveiligen, omdat ze allemaal op dezelfde hosting stack draaien. Dit brengt nieuwe overwegingen met zich mee. We moeten goed nadenken over hoe we gecontaineriseerde apps bouwen en draaien.

 

Hoe Container Security Verschilt van Traditionele Security

Vroeger draaide cloud security vooral om het beschermen van een enkel verdedigingspunt: de perimeter. Maar met de opkomst van containerisatie is deze aanpak achterhaald. Organisaties moeten hun security strategie heroverwegen. De containeromgeving brengt nieuwe tools en uitdagingen met zich mee die sterk afwijken van traditionele beveiligingsmethoden.

De containeromgeving is complexer en dynamischer. Met containertechnologieën moeten wijzigingen upstream worden doorgevoerd, in tegenstelling tot traditionele methoden waarbij software direct op de host wordt bijgewerkt.

Bovendien heeft cloud native computing de manier veranderd waarop we applicaties ontwikkelen, deployen en beveiligen. Dit vraagt om een nieuwe aanpak, waarbij traditionele methodes steeds minder relevant worden.

En terwijl containertechnologieën steeds populairder worden, verschuiven verantwoordelijkheden naar de shift-left aanpak. Dat betekent dat containers al vanaf de vroegste fases van de CI/CD pipeline tot en met deployment en productie beveiligd moeten worden. Developers krijgen hierdoor meer verantwoordelijkheid voor security dan voorheen, bijvoorbeeld door het toepassen van infrastructure as code.

 

Wat maakt containers anders?

Naast het feit dat containers verschillen van virtual machines (VMs) en andere deployment methodes, verandert containerisatie de gehele applicatie lifecycle.

  • Containers hebben minder afhankelijkheden van de onderliggende infrastructuur.
  • Ze worden gebouwd met machine-leesbare images, waardoor verschillende besturingssystemen en applicaties op dezelfde machine kunnen draaien. Dit zorgt voor isolatie tussen applicaties en een efficiënter gebruik van resources.
  • Containers zijn declaratief en voeren alleen uit wat in de code is gedefinieerd. Hierdoor gedragen ze zich voorspelbaar, en elke afwijking kan worden opgespoord als een potentiële bedreiging.
  • Containers zijn vluchtig en kunnen binnen enkele seconden op- en afgeschaald worden.
  • Containers zijn portabel, wat het eenvoudiger maakt om ze te deployen in multi-cloud omgevingen.

Eén probleem kan zich door alle lagen verspreiden

Wat container security bijzonder maakt, is de impact van een enkele kwetsbaarheid. Als één container image een zwakke plek bevat, zijn alle instances van die container kwetsbaar, waardoor het attack surface toeneemt. Dit probleem wordt groter naarmate er meer containers vanuit dezelfde image draaien. En met publieke image repositories kan een gecompromitteerde image zich wereldwijd verspreiden naar miljoenen machines. Bovendien wordt visibiliteit lastiger naarmate containers verspreid worden over verschillende omgevingen.

Langdurige containers: Een nieuw paradigma

Oorspronkelijk waren containers bedoeld voor kortstondige workloads die snel opstarten, een taak uitvoeren en weer afsluiten. Tegenwoordig worden containers steeds vaker gebruikt voor langdurige processen en traditionele applicaties die vroeger op een VM draaiden. Deze verandering brengt nieuwe security uitdagingen met zich mee die we niet kunnen negeren.

Accelerated deployment

Verbeter de veiligheid van containers met AKS Control

Onze experts zorgen voor de implementatie, beveiliging, schaalbaarheid en het lopende onderhoud, zodat jij je kunt richten op innovatie en bedrijfsgroei.

Lees meer!

Container Security Risks

We kunnen de risico's van containerized applicaties opsplitsen in twee fases: voor productie (tijdens het bouwen en ontwikkelen van de app) en na deployment (wanneer de app draait en beheerd wordt).

Container Image Risico's

  • Image vulnerabilities: Een container met kwetsbaarheden deployen door gebruik van een verouderde image met ingebouwde zwakke plekken.
  • Image configuratieproblemen: Niet alleen softwarefouten, maar ook configuratiefouten kunnen risico’s opleveren.
  • Embedded malware: Kwaadaardige bestanden van onbetrouwbare derde partijen kunnen in een image zitten en andere containers in de omgeving aanvallen.
  • Embedded clear text secrets: Geheimen in het image-bestandssysteem opslaan is riskant. Iedereen met toegang tot de image kan ze eenvoudig extraheren.
  • Gebruik van onbetrouwbare images: Het gemak van containerportabiliteit kan leiden tot het draaien van images uit onbetrouwbare bronnen.

Container Registry Risico's

Container registries zijn vaak vertrouwd, maar als ze worden gecompromitteerd, kan dit gevolgen hebben voor alle afgeleide containers en hosts.

  • Gevoelige data blootstelling: Registries bevatten je applicatiecode, binaries en libraries. Onbeveiligde registries kunnen leiden tot ongeautoriseerde toegang of manipulatie.
  • Zwakke authenticatie en autorisatie: Onvoldoende toegangscontrole kan aanvallers blootstellen aan de intellectuele eigendom van de applicatie.
  • Onveilige verbindingen: Verbinden met registries via onbeveiligde kanalen verhoogt het risico op onderschepte gegevens en man-in-the-middle aanvallen.
  • Verouderde images in registries: Oude images met kwetsbaarheden blijven vaak opgeslagen, wat het risico op een onbedoelde deployment vergroot.

Container Runtime Risico's

Runtime security richt zich op het identificeren van kwetsbaarheden in draaiende containers en het beschermen van applicaties tegen deze bedreigingen.

  • Kwetsbaarheden in runtime apps: Sommige malware richt zich op resources van andere containers of het host OS.
  • Uitgaande netwerktoegang: Een gecompromitteerde container kan netwerken scannen en andere resources blootstellen.
  • Onveilige runtime instellingen: Onnodige rechten kunnen containers en het host OS kwetsbaar maken. Privileged mode maakt dit erger.
  • Applicatie kwetsbaarheden: De app in de container kan zelf kwetsbaar zijn, zoals bij SQL-injectie of cross-site scripting.
  • Rogue containers: Testcontainers zonder controle op kwetsbaarheden kunnen een doelwit voor aanvallers zijn.

Container Orchestration Risico's

  • Kwetsbaarheden in de orchestrator stack: Orchestrators hebben vaak volledige admin-toegang, wat een risico vormt als er geen strikte toegangscontrole is.
  • Onbeperkte admin toegang: Orchestrators hebben vaak een eigen directoryservice, wat kan leiden tot zwakke accountbeheer praktijken.
  • Slechte inter-container netwerken: Verkeer tussen applicaties op hetzelfde virtuele netwerk kan beveiligingslekken veroorzaken.
  • Verschillende gevoeligheidsniveaus mixen: Het draaien van verschillende workloads op dezelfde host kan risico’s opleveren, bijvoorbeeld wanneer een kwetsbare webserver samen met gevoelige financiële data draait.

Host OS Risico's

  • Aanvalsoppervlak optimalisatie: Container-specifieke Operating Systems hebben een kleiner aanvalsoppervlak dan algemene, maar delen nog steeds een kernel.
  • Kritieke systeemcomponenten: Kwetsbaarheden in cryptografie libraries of kernelprimitives kunnen alle containers op het host OS in gevaar brengen.
  • Directe toegang tot de host: Het direct beheren van containers op de host, zonder orchestrator, vergroot de kans op misconfiguratie en veiligheidsrisico’s.
  • Onveilige containerconfiguraties: Containers die gevoelige host directories mounten, kunnen kritieke bestanden wijzigen en de hele omgeving compromitteren.
Managed AKS

Wil je meer weten over containers?

Schrijf je in voor de volgende Azure Kubernetes Workshop! Leer hoe je applicaties sneller, efficiënter en flexibeler kunt bouwen en implementeren.

Klik hier voor de datums en schrijf je in!

Container Security Best Practices

Het is belangrijk om verschillende security maatregelen door de hele lifecycle van containers te implementeren, van ontwikkeling tot deployment en runtime.

Gecontaineriseerde applicaties vereisen een multi-layer defence aanpak. Laten we de beste praktijken voor container security doornemen:

Security Gebied Best Practices

Container Image

  • Scan images vroeg in het ontwikkelproces op vulnerabilities (shift left).
  • Houd images up-to-date met de laatste security patches.
  • Onderteken images om integriteit te verifiëren en manipulatie te voorkomen.
  • Automatiseer security scans om risicovolle images uit productie te houden.
  • Gebruik alleen trusted repositories voor het ophalen van images.

Container Registry Security

  • Maak alleen verbinding met beveiligde registries via versleutelde verbindingen.
  • Houd je image registries privé om ongeautoriseerde toegang te voorkomen.
  • Identificeer en verwijder verouderde images.
  • Vereis authenticatie voor alle registry-toegang.
  • Beveilig de host server waarop de registry draait om breaches te voorkomen.

Container Runtime

  • Stel baseline gedrag in om afwijkingen in containeractiviteit te detecteren.
  • Monitor continu op ongeautoriseerde toegang, onverwachte bestandswijzigingen en abnormale netwerkactiviteit.
  • Automatiseer security handhaving om ongeautoriseerde deployments te voorkomen.
  • Gebruik vulnerability scanning, compliance scanning (zowel statische image scans als runtime container compliance checks), bestandssysteem-, proces- en netwerkmonitoring.
  • Implementeer admission controllers, access monitoring en auditing voor betere beveiliging.

Container Orchestration

  • Houd je aan het least privilege model. Beperk toegang voor containers, gebruikers en IAM-rollen.
  • Implementeer Role-Based Access Controls (RBAC) met Kubernetes. Niet alleen het aantal geprivilegieerde gebruikers, maar ook de mate van rechten die je hen geeft.
  • Houd toezicht op geprivilegieerde activiteiten en monitor pod-communicatie.
  • Segmenteer workloads en beperk netwerktoegang op basis van gevoeligheidsniveau.
  • Houd orchestrators up-to-date met de laatste security patches.

Host Operating System (OS)

  • Gebruik een container-specifiek OS om attack surfaces te verkleinen.
  • Meng geen containerized en niet-containerized workloads op dezelfde host.
  • Gebruik orchestrators om workloads over meerdere hosts te verspreiden.
  • Beperk de rechten van containers op de host. Voorkom dat containers als root draaien of privileged mode gebruiken.
  • Kies een minimaal, container-geoptimaliseerd OS om het attack surface te minimaliseren.
  • Monitor regelmatig op vulnerabilities om compromittering te voorkomen.

 

Conclusie

Een magische oplossing voor container security bestaat niet. In plaats daarvan is een multi-layered defence, oftewel defence in depth, de beste aanpak.

Geen enkel systeem is perfect beveiligd, dus het gaat erom risico's te beperken op een passend niveau voor elke applicatie.

Veelgestelde vragen over Container Security

Wat is Kubernetes?

Wat is Docker?

Working Jack

Neem contact op!

Intercept kan je helpen je Azure cloud te beveiligen, zodat jij je kunt concentreren op het leveren van waarde aan je klanten en het stimuleren van je bedrijf.