Overslaan naar hoofdinhoud

Wat is containerbeveiliging en waarom is het belangrijk?

Containerbeveiliging is de praktijk van de bescherming van toepassingen in containers en de containerinfrastructuur (Kubernetes en andere orchestrators, registerkopieën, enzovoort) in de CI/CD-pipeline.

Waarom hebben organisaties containerbeveiliging nodig?

Containers helpen teams om de time-to-market te versnellen, de flexibiliteit, schaalbaarheid en fouttolerantie te vergroten, maar die snelheid en draagbaarheid comprimeren ook risico's in de levenscyclus van de softwarelevering. Een kwetsbaarheid in een basisimage, een openbaar geheim, een verkeerd geconfigureerd Kubernetes-manifest of overmatige clustermachtigingen kunnen allemaal risico's opleveren in verschillende stadia van de pijplijn, vooral wanneer de controles zwak zijn.

Voor enterprise-teams is dit van belang omdat containerbeveiliging niet alleen een runtime-probleem is. Het is van invloed op de integriteit van de software, de operationele veerkracht, de compliance en de respons op incidenten.

In de praktijk omvat volwassen containerbeveiliging de opslag van afbeeldingen, ontwikkeling, implementatie, runtimedetectie, herstel en respons op incidenten in plaats van als een beperkt runtime-controlemechanisme. De beveiliging van volwassen containers omvat de opslag van afbeeldingen, de ontwikkeling, de implementatie, de indeling, de detectie van runtime, het herstel en de respons op incidenten, in plaats van dat het fungeert als een beperkt runtime-controlemechanisme.

Wat houdt containerbeveiliging in?

De beveiliging van containers omvat doorgaans vijf lagen.

  1. Afbeeldingen en afhankelijkheden: teams moeten weten wat zich in een containerimage bevindt, of het nu bekende kwetsbaarheden, ingesloten geheimen, verouderde pakketten of onnodige onderdelen bevat. Het scannen van afbeeldingen is een belangrijke eerste verdedigingslinie, maar het is slechts een deel van de afbeelding. Teams moeten ook de herkomst van afbeeldingen, patching en het gebruik van goedgekeurde basisafbeeldingen beheren.
  2. Registers en artefactopslagplaatsen: een beveiligde image is niet voldoende als het register zelf slecht wordt gecontroleerd. Toegangscontrole, scannen en herkomst zijn belangrijk omdat registers distributiepunten zijn voor software die in productie wordt genomen. Een zwak inkomend controleproces kan de anders verstandige bouwhygiëne ondermijnen.
  3. Orkestratie en configuratie: in Kubernetes-omgevingen is de beveiliging sterk afhankelijk van de definities van de werkbelasting, Role-based Access Control (RBAC), toegangscontrole, handhaving van het beleid en netwerksegmentatie. Het risico hangt vaak af van wat er mag worden uitgevoerd en hoeveel toegang het krijgt, niet alleen van wat zich in de afbeelding bevindt.
  4. Runtime-gedrag: runtime-bewaking is ook van belang omdat verdachte activiteit in containers en kwetsbaarheden in actieve programma's mogelijk niet zichtbaar zijn tijdens de bouwfase. Een container die er tijdens de bouw veilig uitzag, kan zich tijdens de productie toch onverwachts gedragen.
  5. Hosts, knooppunten en omliggende infrastructuur: containers delen een host-kernel, dus knooppuntverharding en runtime-isolatie zijn nog steeds van belang. Hostbesturingssystemen, runtime-componenten en clusterinfrastructuur blijven onderdeel van het aanvalsoppervlak in containeromgevingen.

Waar komt het containerrisico meestal voor in echte omgevingen?

In de praktijk begint het containerrisico zelden met één dramatische mislukking. Vaker verschijnt het als een aaneenschakeling van kleinere zwakke punten. Een team kan een opgeblazen basisimage gebruiken, een geheim in een buildartefact missen, te brede machtigingen in een implementatiemanifest toestaan en vervolgens de werklast naar een cluster met een zwakke beleidshandhaving pushen. Geen enkele stap ziet er op zichzelf catastrofaal uit, maar samen creëren ze een veel gemakkelijker pad voor compromissen of misbruik.

Daarom moet containerbeveiliging worden beschouwd als een levenscyclusdiscipline. Beveiligingsteams kunnen niet vertrouwen op één controlepunt om zwakke processen elders te compenseren. Een gescande afbeelding heft onveilige runtime-machtigingen niet op. Een gehard cluster lost een zichtbaar geheim in de pijplijn niet op. De controles moeten samenwerken.

Waarom is de beveiliging van containers nu belangrijk?

De beveiliging van containers is belangrijk omdat containers niet langer een niche-infrastructuur zijn. Ze zijn een standaard onderdeel geworden van de levering van moderne applicaties, vooral in cloud-native omgevingen waar applicaties continu worden gebouwd, verzonden en bijgewerkt.

Het is ook van belang omdat containers de afstand tussen ontwikkeling en productie doen instorten. Een probleem dat wordt geïntroduceerd in een Docker-bestand, een Helm-diagram of een sjabloon voor infrastructuur als code kan snel een productieprobleem worden als de pijplijn geen vangrails heeft. Dit is de reden waarom volwassen programma's voor containerbeveiliging naar links verschuiven, maar daar houden ze niet op. Ze combineren buildtime-controles, implementatiecontroles en runtime-zichtbaarheid. In de praktijk betekent dat het toevoegen van kwaliteitspoorten voor afbeeldingen en infrastructuurcode en vervolgens het zicht houden op de containeractiviteit na de implementatie.

Wat maakt containerbeveiliging uitdagend?

De grootste uitdaging is niet het gebrek aan tools, maar het aantal betrokken teams en processen. Ontwikkeling, platformengineering, cloudbewerkingen, DevOps en beveiliging hebben allemaal invloed op het resultaat. Als de eigendom onduidelijk is, de controles inconsistent zijn of de veiligheidscontroles te laat komen om praktisch te zijn, loopt het risico snel op.

Containers veranderen ook het ritme van het beveiligingswerk. Omgevingen zijn dynamischer, workloads zijn vluchtiger en de frequentie van de implementatie is vaak veel hoger. Dat maakt zichtbaarheid, automatisering en consistentie van het beleid belangrijker dan ze waren in langzamere, servergerichte omgevingen.

Waar organisaties het bij het verkeerde eind hebben

De meest voorkomende fout is dat containerbeveiliging alleen wordt beschouwd als het scannen van afbeeldingen. Het scannen van afbeeldingen is belangrijk, maar lost geen onveilige werklastconfiguratie, zwakke toegangscontrole, slechte handhaving van het beleid of verdacht runtime-gedrag op.

Een andere fout is de veronderstelling dat containers standaard veilig zijn omdat ze tijdelijk zijn. Kortstondigheid kan de persistentie beperken, maar kan ook de zichtbaarheid en het forensisch onderzoek bemoeilijken als de logboekregistratie, inventarisatie en monitoring zwak zijn.

Een derde fout is het te laat benaderen van containerbeveiliging. Als het eerste serieuze beveiligingsgesprek net voor de implementatie plaatsvindt, bevindt het team zich al in een moeilijke positie.

Een goede containerbeveiliging werkt beter wanneer deze eerder begint en gedurende de hele levenscyclus op zijn plaats blijft.

Belangrijke informatie

Containerbeveiliging is de discipline van de bescherming van applicaties in containers en de infrastructuur van containers gedurende de volledige levenscyclus, niet alleen het scannen van afbeeldingen vóór de implementatie. De organisaties die het goed doen, combineren controles van de toeleveringsketen van software, verharding van de configuratie, toegang met de minste bevoegdheden, handhaving van het beleid en zichtbaarheid tijdens runtime.


De beveiliging van containers moet meer beschermen dan afbeeldingen. Kaspersky Container Security helpt bij het beveiligen van de volledige levenscyclus van programma's in containers, van ontwikkeling tot gebruik, met bescherming voor containerimages, actieve containers, orkestratie, compliance en clusterbronnen.

Ontdek

Bronnen en meer informatie:

Wat is containerbeveiliging en waarom is het belangrijk?

Containerbeveiliging is de bescherming van toepassingen in containers en de containerinfrastructuur (Kubernetes en andere orchestrators, registerimages, enzovoort) in de CI/CD-pipeline.
Kaspersky logo

Gerelateerde artikelen