- Key Takeaways
- Wat is een container?
- Wat is containerbeheer?
- Waarom is de beveiliging van containers belangrijk?
- Hoe beveiligt u een container? Het NIST SP 800-190 model
- Best practices voor de beveiliging van Docker-containers
- Best practices voor de beveiliging van Kubernetes-containers
- AWS Container Security Best Practices
- Best practices voor de beveiliging van Microsoft Azure-containers
- De rol van cryptografie in containerbeveiliging
- Hoe encryptieconsultancy kan helpen
- Veelgestelde Vragen / FAQ
- Beveilig uw containerpijpleiding
Je beveiligt een container door gelaagde beveiligingsmaatregelen toe te passen op de vijf componenten van de containerstack: de image, het register, de orchestrator, de draaiende container en het hostbesturingssysteem. NIST Special Publication 800-190, de Application Container Security Guide, definieert dit gelaagde model en de bijbehorende tegenmaatregelen.
Om een ​​container te beveiligen, moet u de images vóór de implementatie scannen op kwetsbaarheden, alleen images ophalen uit vertrouwde privéregisters, images ondertekenen zodat de herkomst kan worden geverifieerd, containers uitvoeren als niet-rootgebruiker met minimale bevoegdheden, de orchestrator en het hostbesturingssysteem beveiligen, geheimen buiten de images houden en het runtimegedrag continu monitoren. NIST SP 800-190 definieert deze tegenmaatregelen.
Key Takeaways
- Containerbeveiliging omvat vijf lagen, zoals gedefinieerd in NIST SP 800-190: image, register, orchestrator, container runtime en hostbesturingssysteem.
- Minimale basisimages, uitvoering zonder rootrechten en het ondertekenen van images elimineren de meest voorkomende aanvalspaden voor containers vóór de implementatie.
- Kubernetes heeft PodSecurityPolicy verwijderd in versie 1.25; Pod Security Admission dwingt nu de Privileged-, Baseline- en Restricted-standaarden af ​​via namespace-labels.
- Docker is in augustus 2025 begonnen met het uitfaseren van Docker Content Trust; Sigstore Cosign en Notary Project Notation zijn de huidige standaarden voor het ondertekenen van containerimages.
- Elk containerplatform werkt met sleutels, certificaten en geheimen. Ondertekeningssleutels horen in een HSM (Hardware Security Module) en inloggegevens horen in een secrets manager, nooit in de image zelf.
Wat is een container?
Een container is een op zichzelf staande software-eenheid die applicatiecode samen met de bijbehorende afhankelijkheden verpakt, zodat de applicatie consistent werkt in verschillende computeromgevingen.
Containers zijn een vorm van virtualisatie van besturingssystemen. Een container bevat de uitvoerbare bestanden, binaire bestanden, bibliotheken en configuratiebestanden die een applicatie nodig heeft, maar geen volledige besturingssysteemimage. Dit maakt containers lichtgewicht en draagbaar. Een enkele container kan alles draaien, van een kleine microservice tot een grotere applicatie.
Containers worden gemaakt op basis van containerimages. Een image is opgebouwd uit lagen bestanden, met een basisimage onderaan en applicatielagen daarboven. Omdat elke afgeleide image de basislaag overneemt, is de basisimage de meest cruciale laag om te beveiligen.
Wat is containerbeheer?
Containerbeheer is het automatiseren van het aanmaken, implementeren en schalen van containers in een omgeving.
Platformen voor containerbeheer stellen teams in staat om containers op grote schaal toe te voegen, te vervangen en te organiseren. In de praktijk betekent dit het analyseren en beheren van de images die teams downloaden en bouwen, het hosten ervan in privé-registries, het toepassen van op rollen gebaseerde toegang, het automatiseren van beleid en het opsporen van kwetsbaarheden voordat images in productie worden genomen. Automatisering vermindert de menselijke fouten die gepaard gaan met handmatige containerbewerkingen.
Waarom is de beveiliging van containers belangrijk?
Containerbeveiliging is belangrijk omdat containers tegenwoordig een groot deel van de productieworkloads uitvoeren, en een enkele kwetsbare container een toegangspunt kan vormen tot de bredere infrastructuur.
Containers bieden aanzienlijke isolatievoordelen, maar vergroten tegelijkertijd het aanvalsoppervlak. Containers op dezelfde host delen de hostkernel, waardoor een ontsnapping uit een container een bedreiging vormt voor alle workloads op die machine. Het meeste containerverkeer is oost-westverkeer tussen services binnen het cluster, en perimeterbeveiligingssystemen zoals webapplicatiefirewalls en inbraakpreventiesystemen zijn er nooit op ontworpen om dit te inspecteren. Speciaal ontwikkelde beveiligingsmaatregelen moeten dit hiaat opvullen.
Hoe beveiligt u een container? Het NIST SP 800-190 model
De Application Container Security Guide , gepubliceerd door NIST als Special Publication 800-190 in september 2017, structureert containerbeveiliging rond vijf componenten: images, registries, orchestrators, containers en het hostbesturingssysteem. Het beveiligen van een container betekent het toepassen van controles op elk van deze lagen.
| Verschillende Lagen | Primaire risico's | Kernbesturingselementen |
| Beeld | Bekende kwetsbaarheden, verborgen geheimen, onbetrouwbare bronnen | Scannen in CI en in het register, gebruik minimale basisimages, onderteken met Cosign of Notation. |
| register | Verouderde afbeeldingen, onveilige toegang | Privéregister, sterke authenticatie, oude afbeeldingen verwijderen, scannen bij pushmelding |
| Orchestrator | Onbeperkte beheerdersrechten, onbeveiligd verkeer tussen pods | RBAC-minimumrechten, Pod Security Admission, netwerkbeleid |
| Containers | Runtime-aanvallen, privilege-escalatie, image drift | Niet-rootgebruikers, verwijderde mogelijkheden, runtime-dreigingsdetectie |
| Host-besturingssysteem | Groot aanvalsoppervlak, gedeelde kernel | Containerspecifiek hostbesturingssysteem, snelle patching, beperkte toegang |
Drie aanbevelingen van NIST verdienen extra aandacht. Ten eerste: draai containers op een specifiek besturingssysteem voor containers, dat minder functionaliteit en een kleiner aanvalsoppervlak biedt dan een algemeen besturingssysteem. Ten tweede: groepeer containers op basis van doel, gevoeligheid en risicoprofiel op aparte hosts, zodat een compromittering van één groep een aanvaller niet automatisch toegang geeft tot de andere groepen. Ten derde: gebruik containerbewuste tools voor kwetsbaarheidsbeheer en runtimebeveiliging. Traditionele scanners hebben blinde vlekken op het gebied van imagelagen en configuratie, en kunnen rapporteren dat alles in orde is, terwijl dat niet het geval is.
Best practices voor de beveiliging van Docker-containers
De belangrijkste Docker-controles zijn: minimale vertrouwde images, minimale bevoegdheden tijdens runtime en ondertekende artefacten.
- Gebruik minimale, betrouwbare basisafbeeldingen: Gebruik alleen betrouwbare bronnen zoals officiële Docker-images en geverifieerde uitgevers, en geef de voorkeur aan slanke of distributieloze varianten. Minder pakketten betekent minder kwetsbaarheden om over te nemen.
- Uitvoeren als niet-rootgebruiker met minimale bevoegdheden: Stel een niet-rootgebruiker in het Dockerfile in, verwijder Linux-mogelijkheden die de applicatie niet nodig heeft en vermijd de geprivilegieerde modus.
- Houd geheimen buiten de foto's: Bak nooit wachtwoorden, tokens of sleutels in een Dockerfile of image layer. Injecteer de inloggegevens tijdens runtime vanuit een secrets manager.
- Afbeeldingen ondertekenen en verifiëren: Gebruik Sigstore Cosign of Notary Project Notation. Docker is op 8 augustus 2025 begonnen met het uitfaseren van Docker Content Trust, en de Notary v1-service die erachter zit, wordt op 8 december 2026 stopgezet. Bouw daarom geen nieuwe verificatie op DCT.
- Scan continu en herstel in plaats van te repareren.Scan de images in de pipeline en in het register en behandel containers als kortstondig en onveranderlijk. Wanneer een oplossing beschikbaar is, bouw en implementeer de image opnieuw.
- Gebruik SSH niet in containers: Los problemen op via `docker exec` of de orchestrator in plaats van in elke workload een login-daemon mee te leveren.
Best practices voor de beveiliging van Kubernetes-containers
Kubernetes-beveiliging begint met een ondersteunde versie en het afdwingen van beleid op naamruimteniveau.
- Blijf bij een ondersteunde versie: Kubernetes brengt jaarlijks drie kleine releases uit, die elk ongeveer 14 maanden lang patches ontvangen. Het gebruik van een niet-ondersteunde versie betekent dat je geen beveiligingsupdates ontvangt.
- Handhaaf de beveiligingsnormen voor podsPodSecurityPolicy is afgekeurd in versie 1.21 en verwijderd in versie 1.25. Pas de Baseline- of Restricted-standaard toe via Pod Security Admission-naamruimtelabels en voeg een beleidsengine zoals OPA Gatekeeper of Kyverno toe waar u aangepaste regels nodig hebt.
- Toegang beveiligen: Pas het principe van minimale privileges (RBAC) toe op de API-server en beperk de toegang tot de server. SSH Toegang tot knooppunten. Poort 22 moet op elk knooppunt gesloten zijn, behalve via uw VPN of een bastionpad.
- Gebruik naamruimten en netwerkbeleid als grenzen: Scheid de workloads in namespaces en pas NetworkPolicy-objecten toe, zodat pods alleen kunnen communiceren met de services die ze nodig hebben.
- Bescherm geheimen: Schakel encryptie in voor Kubernetes Secrets in rust en geef de voorkeur aan een externe geheimenopslag voor waardevolle referenties.
- Auditeren en monitoren: Schakel auditlogboeken in en stel waarschuwingen in voor autorisatiefouten, die vaak duiden op pogingen om de API te benaderen met gestolen inloggegevens.
AWS Container Security Best Practices
Op AWS draait de beveiliging van containers om Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) en het scannen van images in Amazon Elastic Container Registry (ECR).
- Scannen in ECR: Schakel scannen bij push in. Basisscannen maakt gebruik van AWS-technologie om kwetsbaarheden in besturingssysteempakketten te vinden. Verbeterd scannen, een integratie met Amazon Inspector, voegt pakketten voor programmeertalen toe, voert continu nieuwe scans uit wanneer nieuwe CVE's worden gepubliceerd en dekt sinds 2025 minimale basisconfiguraties zoals scratch-, distroless- en Chainguard-images. Inspector koppelt images ook aan de ECS- en EKS-workloads waarop ze draaien, waardoor u eerst kunt corrigeren wat daadwerkelijk is geïmplementeerd.
- Respecteer het model van gedeelde verantwoordelijkheid.AWS beveiligt de onderliggende infrastructuur; u beveiligt uw images, taak- en podconfiguratie, IAM-machtigingen en netwerktoegang. Tools zoals Prowler helpen de omgeving te controleren vóór de implementatie.
- Verwijder onnodige privileges: Geef taken en pods IAM-rollen op een specifiek niveau in plaats van brede machtigingen op knooppuntniveau. Hoe meer standaardtoegang een container heeft, hoe groter de impact van een inbreuk en hoe moeilijker het onderzoek na een datalek zal zijn.
- Kijk verder dan de verpakking: Controleer ook de hosts en het besturingsvlak, voer regelmatig scans uit en zorg ervoor dat alle componenten up-to-date zijn.
Best practices voor de beveiliging van Microsoft Azure-containers
Op Azure draait de beveiliging van containers om Azure Container Registry (ACR) en Microsoft Defender for Containers.
- Gebruik een privéregister: Sla afbeeldingen op en haal ze op vanuit ACR in plaats van openbare repositories, omdat openbare afbeeldingen zijn opgebouwd uit vele softwarelagen en elke laag een kwetsbaarheid kan bevatten. Houd er rekening mee dat ACR Docker Content Trust uitfaseert (uitfasering begon op 31 maart 2025, verwijdering op 31 maart 2028) ten gunste van Notary Project-ondertekening met Notation.
- Scannen met Defender voor containers: Microsoft Defender for Cloud, de service die tot de naamswijziging in november 2021 Azure Security Center heette, voert agentloze kwetsbaarheidsanalyses uit op ACR-images via Microsoft Defender Vulnerability Management. De eerder geïntegreerde Qualys-containerscanner werd in maart 2024 uitgefaseerd.
- Beveiligde inloggegevens: Containers zijn verspreid over verschillende regio's en clusters, dus bewaar wachtwoorden, tokens en API-sleutels in Azure Key Vault en gebruik beheerde identiteiten voor authenticatie tussen services in plaats van ingebedde geheimen.
De rol van cryptografie in containerbeveiliging
Elke laag van een containerplatform is afhankelijk van sleutels, certificaten en geheimen.
De betrouwbaarheid van afbeeldingshandtekeningen hangt af van de privésleutels die eraan ten grondslag liggen. Daarom horen ondertekeningssleutels thuis in een hardwarebeveiligingsmodule of een beheerd KMS, niet op een buildserver. TLS-certificaten beschermen het verkeer tussen registries, API-servers en workloads. Service meshes gaan nog een stap verder met wederzijdse TLS tussen pods, waarvoor certificaatuitgifte en -rotatie op machinesnelheid vanuit uw public key infrastructure (PKI) vereist is . Pipeline- en workloadidentiteiten volgen dezelfde regel als de DevOps-toolchain waarin ze draaien: kortstondige referenties, centraal uitgegeven en direct intrekbaar. Een containerplatform is slechts zo betrouwbaar als de sleutels, certificaten en geheimen die het draaien.
Hoe encryptieconsultancy kan helpen
De oplossingen van Encryption Consulting voor het beveiligen van DevOps beschermen de cryptografische laag waar elke containerpipeline van afhankelijk is. CodeSign Secure centraliseert het ondertekenen van code en artefacten achter FIPS 140-2 Level 3 gevalideerde HSM's en integreert met CI/CD-tools zoals Jenkins, GitLab en Azure DevOps, zodat elke image en elk artefact wordt ondertekend, van een tijdstempel wordt voorzien en wordt gelogd zonder de levering te vertragen. Adviesteams helpen u vervolgens bij het beheren van de certificaten, sleutels en geheimen waarop uw clusters draaien. Ondersteund door ISO/IEC 27001:2022 en SOC 2-gecertificeerde werkwijzen.
Veelgestelde Vragen / FAQ
Wat is containerbeveiliging in eenvoudige bewoordingen?
Containerbeveiliging is de praktijk van het beschermen van gecontaineriseerde applicaties op elk niveau: de image waarvan de container is gemaakt, het register waarin deze is opgeslagen, de orchestrator die de container plant, de draaiende container zelf en het onderliggende hostbesturingssysteem. NIST SP 800-190 definieert de risico's en tegenmaatregelen voor elk van deze vijf lagen.
Hoe beveilig je een Docker-container?
Begin met een minimale, betrouwbare basisimage en herbouw deze regelmatig in plaats van draaiende containers te patchen. Voer de container uit als een niet-rootgebruiker, verwijder onnodige Linux-mogelijkheden en bak nooit inloggegevens in de image. Scan images in de pipeline en het register en onderteken ze met Sigstore Cosign of Notation, zodat alleen geverifieerde images de productieomgeving bereiken.
Wat is NIST SP 800-190?
NIST Special Publication 800-190 is de Application Container Security Guide, gepubliceerd door het Amerikaanse National Institute of Standards and Technology in september 2017. Het beschrijft de beveiligingsrisico's van containertechnologieën voor images, registries, orchestrators, containers en hostbesturingssystemen, en beveelt tegenmaatregelen aan voor elk van deze risico's. Het blijft de basisreferentie voor containerbeveiligingsprogramma's en -audits.
Wat heeft Pod Security Policies in Kubernetes vervangen?
Pod Security Admission verving PodSecurityPolicy, dat in Kubernetes 1.21 als verouderd werd beschouwd en in 1.25 werd verwijderd. Pod Security Admission handhaaft de drie Pod Security Standards, Privileged, Baseline en Restricted, via namespace-labels. Teams die behoefte hebben aan gedetailleerdere regels dan de ingebouwde standaarden, voegen doorgaans een policy engine zoals OPA Gatekeeper of Kyverno toe.
Moeten containerimages worden ondertekend?
Ja. Door middel van ondertekening kan uw cluster verifiëren dat een image afkomstig is van een vertrouwde uitgever en niet is gewijzigd nadat deze is gebouwd. Docker Content Trust, het oudere ondertekeningsmechanisme, wordt vanaf augustus 2025 uitgefaseerd en de Notary v1-service wordt in december 2026 stopgezet. Nieuwe pipelines zouden daarom Sigstore Cosign of Notary Project Notation moeten gebruiken, en toegangsbeheer moet voorkomen dat niet-ondertekende images de productieomgeving bereiken.
Beveilig uw containerpijpleiding
Ondertekende images, beveiligde sleutels en geharde clusters zorgen ervoor dat een snel containerplatform betrouwbaar blijft. Ontdek hoe u DevOps kunt beveiligen , bekijk CodeSign Secure in actie of neem contact op met een adviseur van Encryption Consulting.
- Key Takeaways
- Wat is een container?
- Wat is containerbeheer?
- Waarom is de beveiliging van containers belangrijk?
- Hoe beveiligt u een container? Het NIST SP 800-190 model
- Best practices voor de beveiliging van Docker-containers
- Best practices voor de beveiliging van Kubernetes-containers
- AWS Container Security Best Practices
- Best practices voor de beveiliging van Microsoft Azure-containers
- De rol van cryptografie in containerbeveiliging
- Hoe encryptieconsultancy kan helpen
- Veelgestelde Vragen / FAQ
- Beveilig uw containerpijpleiding
