Containers voor applicatieontwikkeling en -ontwikkeling zijn goed gedocumenteerd in cloudomgevingen en moderne ondernemingen schakelen over op cloudgerichte architecturen. Containerscanning is een onderdeel van containerveiligheid en een fundamentele veiligheidsmaatregel om gecontaineriseerde DevOps-workflows te beveiligen.
Niet alle containers zijn gelijk, en veel afbeeldingen kunnen worden geëxtraheerd uit onbetrouwbare bronnen en openbare repositories. Ze kunnen nieuwe bedreigingsvectoren toevoegen, kwaadaardige componenten bevatten en onbekende risico's met zich meebrengen.

In deze blog bespreken we de basisprincipes van containerscanning en waarom dit zo belangrijk is voor de beveiliging van containers. We gaan ook in op veelvoorkomende kwetsbaarheden van containers en verschillende methoden voor containerscanning, en laten gebruikers zien hoe ze deze kunnen implementeren. Laten we er meteen induiken.
Wat is containerscanning (het scannen van containerafbeeldingen)?
Containerscanning maakt gebruik van geavanceerde beveiligingstools om de verschillende componenten van containerafbeeldingen laag voor laag te analyseren en zo potentiële bedreigingen op te sporen.
Containerscanningoplossingen identificeren kwetsbaarheden en controleren op gevaren door gebruik te maken van wereldwijde databases. Ze identificeren exploits in cloud-native applicaties en zorgen ervoor dat ontwikkelingsteams kwetsbaarheden vroegtijdig kunnen opsporen en verhelpen, voordat ze worden misbruikt. Deze oplossingen maken shift-left-beveiligingsmaatregelen vanaf het begin mogelijk, voeren analyses uit en geven aanbevelingen voor het verhelpen van kwetsbaarheden.
Waarom containerscanning?
Containers bevatten meerdere images die kwetsbaarheden van basisimages overnemen, waaronder alle mogelijke verkeerde configuraties, malware en andere beveiligingsfouten. Het afdwingen van shift-left-beveiliging begint met het analyseren van afhankelijkheden en pakketten binnen containerimages om bedreigingen te elimineren en te voorkomen dat ze in de productiepijplijn worden geïmplementeerd.
Het is essentieel om een containerscanner te gebruiken om kwetsbaarheden in containerimages te identificeren en te verhelpen voordat ze escaleren en ernstige problemen veroorzaken. Als er geen goede containerscans worden uitgevoerd, kunnen gevoelige inloggegevens uitlekken, gegevenslekken ontstaan en andere beveiligingsrisico's ontstaan.
Wat zijn veelvoorkomende kwetsbaarheden in containers?
Containers veranderen de manier waarop bedrijven applicaties bouwen, implementeren en gebruiken. Ze verhogen de efficiëntie en draagbaarheid en stellen gebruikers in staat om software te gebruiken zonder zich zorgen te hoeven maken over geschikte besturingssystemen, instellingen of productieomgevingen. Containers zijn standaard veilig, maar zijn net als andere beveiligingskwetsbaarheden blootgesteld aan bepaalde risico's.
De meest voorkomende beveiligingskwetsbaarheden van containers zijn:
- Onbetrouwbare containers – Niet-vertrouwde containers bestaan voornamelijk uit containers die software uitvoeren van niet-vertrouwde of niet-geverifieerde bronnen. Deze containers kunnen schadelijke code bevatten en deze uploaden naar openbare repositories, waardoor aanvallers ongeoorloofde toegang tot netwerken kunnen krijgen.
- Onveilige configuraties – Machines waarop containers draaien, kunnen kwetsbaar zijn voor aanvallen op OS-niveau, dus het is essentieel om het host-OS goed bij te werken en te configureren. Het onveilige ontwerp omvat ook aanvallen waarbij privileges worden opgewaardeerd en verkeerd geconfigureerde containerisatielagen.
- Beheer van geheimen – Containers die geheimen niet beschermen, zijn op elk niveau vatbaar voor inbraak. Onveilige API-sleutels en tokens zijn de belangrijkste oorzaken van tekortkomingen in het beheer van geheimen. Als privésleutels niet regelmatig worden gewisseld, kunnen aanvallers inloggegevens achterhalen en toegang krijgen tot bronnen waar ze geen toegang toe zouden moeten hebben.
Soorten containerscanners
Containerimages kunnen uit verschillende bronnen afkomstig zijn, daarom is het cruciaal om de betrouwbaarheid van images te waarborgen. Om totale beveiliging te bereiken gedurende de hele levenscyclus van uw applicatie vóór implementatie en productie, is het essentieel om containerscanning op de volgende drie gebieden te implementeren:
1. Containeregistratiescanning-Containerapplicatieregistraties slaan duizenden afbeeldingen op die zijn samengesteld uit verschillende bronnen. De registratie omvat locaties van derden; één enkele bedreiging kan de hele applicatie beïnvloeden. Het continu scannen van de containeregistratie op wijzigingen en kwetsbaarheden is van cruciaal belang voor het handhaven van de containerveiligheid. Dit moet worden geautomatiseerd en elke afbeelding moet worden gecontroleerd om potentiële bedreigingen te identificeren.
2. Runtime-scanning-Door containers tijdens runtime te scannen, worden nieuwe CVE's geïdentificeerd, nieuwe kwetsbaarheden gedetecteerd en onmiddellijk gemeld aan beveiligingsteams. Geautomatiseerde runtime-scanning kan risico's in containeromgevingen prioriteren en de algehele runtime-bescherming verbeteren. Het houdt containers in een veilige staat en beperkt afwijkingen door baselines vast te stellen.
3. Vulnerability Scanning-Vulnerability scanning analyseert alle componenten van containers gedurende de gehele levenscyclus van applicaties. Het is een goede DevSecOps-praktijk en beveiligingsteams moeten het scannen van containerimages integreren in CI/CD-pijplijnen voor effectieve detectie en verhelping van bedreigingen. Vulnerability scanning spoort kwetsbaarheden in code op voordat deze in containers terechtkomt en blokkeert deze om de bescherming te maximaliseren.
Hoe implementeer je containerscanning?
Containerveiligheid scannen wordt een gestandaardiseerde workflow voor het monitoren en beschermen van cloud-native omgevingen en applicaties. De meeste ontwikkelaars geven er de voorkeur aan om de uitvoeringsomgeving te scheiden wanneer ze containerscans uitvoeren met interne tools.
Containerscanning bestaat uit drie belangrijke stappen, namelijk:
- Stap 1 – Beveilig de applicatiecode
- Stap 2 – De containerimage scannen
- Stap 3 – De connectiviteitslagen scannen
Stap 1 – Beveilig de applicatiecode
Containerapplicatiecode en -ontwikkeling helpen bij het scannen en opsporen van kwetsbaarheden en afhankelijkheden in containercode. Dit helpt bij het vroegtijdig opsporen van fouten tijdens de ontwikkelingscyclus, vóór containerisatie, integratie en implementatie. De eerste scan van de applicatiecode kan worden uitgevoerd nadat de code in de container is ingevoegd.
Stap 2 – Containerimage scannen
Er zijn veel tools beschikbaar voor het scannen van containerimages. Deze analyseren digitale handtekeningen om de beeldkwaliteit en verschillende kwetsbaarheden te beoordelen. Het scannen van containerafbeeldingen controleert bronnen en verifieert uitgevers, waardoor de integriteit en authenticiteit van deze afbeeldingen wordt gewaarborgd.
Stap 3 – Scan connectiviteitslagen
De middelste lagen van containers bevatten de meeste beveiligingskwetsbaarheden. Containerimages kunnen worden aangepast door het aantal lagen te minimaliseren.
Best practices voor het scannen van containerveiligheid
Hieronder volgen de best practices voor het scannen van containers op beveiliging:
- Lokale CLI-scans
- Geïntegreerde geautomatiseerde scans in CI/CD-pijplijn
- Inline beeldscanning toepassen
- Beeldversies vastzetten
- Scannen op geheimen
- Afwijkingen detecteren
1. CLI lokaal scannen
CLI lokaal scannen biedt Docker-scannen, waardoor het gemakkelijker wordt om lokale containerimages direct na het bouwen te scannen. U kunt een CLI-scan uitvoeren met behulp van het docker scan-commando, een van de eerste stappen om de beste containerbeveiligingspraktijken te implementeren.
2. Geïntegreerde geautomatiseerde scanning in CI/CD-pijplijn
De volgende stap is het integreren van geautomatiseerde scanning in de CI/CD-pijplijn en het continu analyseren van containerimages terwijl ze worden gebouwd. Dit helpt kritieke beveiligingsincidenten te voorkomen, mislukte builds te rapporteren en kwetsbaarheden te identificeren.
3. Inline beeldscanning toepassen
Inline beeldscanning helpt bij het bijhouden van gegevensprivacy en beveiligt beeldreferenties. Het is niet nodig om openbare repositories op te zetten; alleen de scanmetadatatool is nodig. Inline scanning kan worden geïmplementeerd in GitLab, AWS Codepipeline, Jenkins, Tekton en vele andere CI/CD-tools.
4. Afbeeldingsversies vastzetten
Soms is het mogelijk dat de verkeerde afbeelding wordt gescand, omdat containers verschillende versies hebben die vanuit dezelfde afbeelding kunnen worden geïmplementeerd. Dit kan problemen opleveren bij het debuggen, en als u veranderlijke tags gebruikt, bestaat de kans dat de scanresultaten ongeldig worden, omdat deze tags vaak worden bijgewerkt en er steeds nieuwere versies verschijnen.
Het is essentieel om onveranderlijke tags en vastgezette beeldversies af te dwingen, zodat regelmatige wijzigingen hierop geen invloed hebben. Een combinatie van het scannen van containerbeelden, de OPA-engine en de Kubernetes admission controller kan helpen bij dit proces.
5. Scannen op geheimen
Het scannen op geheimen kan wachtwoorden, gebruikersnamen en privésleutels beschermen. Het is een goede gewoonte om geheimen te scannen voordat u images implementeert, zodat gebruikers de bronnen van de images kunnen verifiëren. Het scannen op geheimen voorkomt lekken en maakt informatie toegankelijk voor beveiligde en gecontaineriseerde workloads. Het maakt ook het onderhoud van containers toegankelijker en veel workflows zijn ontworpen om Kubernetes-clusters te monitoren met behulp van interne tools. Sommige gebruikers geven er de voorkeur aan om aparte uitvoeringsomgevingen te gebruiken voor het analyseren van verschillende configuraties.
6. Detecteren van afwijkingen
Maak uw containerdeployments onwijzigbaar door het ontwerp. Het is belangrijk om de nieuwste beveiligingspatches en configuratie-updates toe te passen en nieuwe containerimages te implementeren op een manier die de kans op configuratieafwijkingen minimaliseert. Gebruik Binary Drift Detection om de introductie van ongeautoriseerde uitvoerbare bestanden of ongewenste wijzigingen te identificeren. U kunt driftdetectie integreren in CI/CD-pijplijnen en het wordt aanbevolen om het runtime-gedrag te monitoren met behulp van runtime-beveiligingstools. Gebruik containerbeveiligingsplatforms die geïntegreerde driftdetectie, containerimagescanning, beleidsafdwinging en containerruntimebescherming bieden.
Waarom SentinelOne voor containerscanning?
SentinelOne biedt toonaangevende containerveiligheid door uitgebreide zichtbaarheid, geautomatiseerde dreigingsdetectie en posture management voor Kubernetes, containers en cloud-native workloads te combineren. SentinelOne Singularity™ Cloud Native Security (CNS) biedt agentloze containerscanning, waardoor beveiligingsteams kwetsbaarheden, verkeerde configuraties en blootgestelde geheimen in containerimages kunnen detecteren voordat ze worden geïmplementeerd. Met ondersteuning voor het scannen van meer dan 750 soorten geheimen helpt SentinelOne organisaties om het lekken van inloggegevens te voorkomen en een robuuste codehygiëne te handhaven in GitHub, GitLab, BitBucket en andere CI/CD-repositories.
Het platform omvat Kubernetes Security Posture Management (KSPM), waarmee organisaties continu de beste beveiligingspraktijken binnen Kubernetes-clusters kunnen monitoren en afdwingen. SentinelOne detecteert configuratieafwijkingen en biedt meer dan 2000 ingebouwde regelsets voor belangrijke nalevingsnormen zoals NIST, CIS en MITRE, waardoor teams in realtime verkeerde configuraties en nalevingslacunes kunnen aanpakken. CNS integreert naadloos in DevOps-pijplijnen om de handhaving van beleid te automatiseren en bruikbare inzichten te bieden met minimale verstoring van bestaande workflows.
SentinelOne's Singularity™ Cloud Workload Security (CWS) breidt de bescherming uit naar gecontaineriseerde workloads tijdens runtime, waarbij AI-aangedreven detectie wordt gebruikt om aanvallen – waaronder ransomware, cryptojacking en zero-days – op machinesnelheid te stoppen. Door statische analyse, dynamische dreigingsdetectie en geautomatiseerde respons te combineren, stelt SentinelOne organisaties in staat om elk oppervlak – VM's, containers en Kubernetes – in multi-cloudomgevingen te verdedigen vanuit één uniform dashboard.
Met zijn agentloze CNAPP-architectuur stelt SentinelOne beveiligingsteams in staat zich te concentreren op waarschuwingen met grote impact en geverifieerde exploitpaden, waardoor het aantal valse positieven en de operationele overhead worden verminderd. Geautomatiseerde onboarding, onmiddellijke dekking en uniform beleidsbeheer maken SentinelOne tot een ideale oplossing voor het beveiligen van containers gedurende de gehele ontwikkelingscyclus – van bouw tot runtime.
SentinelOne in actie zien
Ontdek hoe AI-gestuurde cloudbeveiliging uw organisatie kan beschermen in een één-op-één demo met een SentinelOne productexpert.
Vraag een demo aanConclusie
Best practices voor het scannen van containerafbeeldingen, zoals CI/CD-pijplijn en het scannen van kwetsbaarheden in het besturingssysteem, kunnen afbeeldingen veilig houden en voorkomen dat ze worden misbruikt. Het handhaven van de beste containerveiligheid is een continu proces en volgt een iteratieve aanpak vanaf het begin van de bouw tot het einde.
Het is essentieel om in alle fasen van de ontwikkelingscyclus van containerapplicaties te controleren op bedreigingen en voorbereid te zijn op nieuwe beveiligingsrisico's. Het scannen van containers brengt verborgen exploits aan het licht, elimineert kwetsbaarheden en zorgt voor optimale beveiliging door gecontaineriseerde applicaties te monitoren op gedragsveranderingen of kwaadaardige gebeurtenissen. SentinelOne biedt kant-en-klare mogelijkheden zoals auditlogging, rechtenbeheer, ondersteuning voor IaC-sjablonen en meer, waardoor het scannen van containers een naadloze ervaring wordt.
Veelgestelde vragen over containerscannen
Containerscanning is het proces waarbij containerimages en actieve containers worden geanalyseerd om beveiligingskwetsbaarheden, verkeerde configuraties en nalevingsproblemen op te sporen. Het is een beveiligingscontrole voor uw gecontaineriseerde applicaties.
Het onderzoekt alles, van het basisbesturingssysteem tot applicatieafhankelijkheden, en vergelijkt deze met kwetsbaarheidsdatabases zoals de National Vulnerability Database. Zo kunt u beveiligingsproblemen opsporen voordat ze in de productie terechtkomen.
Containerscanning detecteert kwetsbaarheden in het besturingssysteem in basisimages, kwetsbare applicatieafhankelijkheden en configuratiefouten zoals te permissieve gebruikers of blootgestelde poorten. Het vindt ook hardgecodeerde geheimen zoals API-sleutels en wachtwoorden, malware en nalevingsschendingen van normen zoals CIS-benchmarks.
De scanners controleren op verouderde bibliotheken, verkeerde configuraties in Dockerfiles en buitensporige privileges die door aanvallers kunnen worden misbruikt.
U moet scannen integreren in uw CI/CD-pijplijnen om kwetsbaarheden op te sporen vóór de implementatie. Gebruik minimale basisimages van betrouwbare bronnen en scan zowel tijdens het bouwen als tijdens het uitvoeren voor een uitgebreide dekking.
Stel geautomatiseerde scans in met de juiste waarschuwingsdrempels en vergeet niet om uw kwetsbaarheidsdatabases regelmatig bij te werken. Implementeer ook beleid dat implementaties blokkeert als er kritieke kwetsbaarheden worden gevonden.
Containerscanners halen eerst afbeeldingen op en splitsen deze op in hun samenstellende lagen, waarna ze elk onderdeel afzonderlijk analyseren. Ze gebruiken op handtekeningen gebaseerde scans om componenten te vergelijken met bekende kwetsbaarheidsdatabases zoals CVE, en op gedrag gebaseerde scans om afwijkende activiteiten tijdens runtime te detecteren.
De scanner onderzoekt basisafbeeldingen, applicatiecode, afhankelijkheden en configuraties en markeert vervolgens eventuele beveiligingsproblemen voor herstel.