DevOps-bootcamp · Les

Beveiligingsscanning van containerimages

Integreer tools voor imagescanning in uw CI/CD-pipeline om kwetsbaarheden in Docker-images te identificeren.

Les 1 van 411 stappen

Beveiligingsscanning van containerimages is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Waarom containerimages scannen?

Containerimages vormen de basis van moderne toepassingen. Net als andere software kunnen ze verborgen beveiligingsproblemen bevatten. Images scannen is een cruciale praktijk om deze problemen te vinden voordat je je toepassingen implementeert.

Zo zorg je ervoor dat de software die je uitvoert veilig is en geen bekende kwetsbaarheden bevat.

Beveiligingsscanning van containerimages — illustratie 1

Verborgen gevaren in images

Welke kwetsbaarheden kunnen in je containerimages schuilgaan?

  • Verouderde basisimages: oude versies van besturingssystemen gebruiken (zoals Ubuntu of Alpine) die bekende beveiligingslekken bevatten.
  • Kwetsbare bibliotheken: extra softwarepakketten of afhankelijkheden die je in je image installeert, kunnen beveiligingsproblemen bevatten (CVE's).
  • Verkeerde configuraties: hoewel scannen zich voornamelijk richt op bekende CVE's, kunnen onjuiste instellingen ook risico's veroorzaken.

Hoe imagescanners werken

Scanners voor containerimages werken als volgt:

  • Lagen analyseren: ze onderzoeken elke laag van je Docker-image.
  • Onderdelen extraheren: ze identificeren alle geïnstalleerde pakketten, bibliotheken en afhankelijkheden (bijvoorbeeld besturingssysteempakketten, Python-bibliotheken en Node.js-modules).
  • Vergelijken met databases: ze vergelijken deze onderdelen met uitgebreide, regelmatig bijgewerkte databases met kwetsbaarheden (zoals CVE-databases).
  • Rapporten genereren: ze bieden een gedetailleerde lijst van gevonden kwetsbaarheden, hun ernst en vaak ook voorgestelde oplossingen.

Hulpmiddelen voor de praktijk

Er zijn verschillende krachtige hulpmiddelen beschikbaar voor het scannen van containerimages, zowel open source als commercieel:

  • Trivy: een populaire open-sourcescanner die bekendstaat om het gebruiksgemak en de uitgebreide dekking.
  • Clair: een andere robuuste open-sourceoptie, die vaak in grotere containerregisters wordt geïntegreerd.
  • Docker Scout (via docker scan): ingebouwd in Docker Desktop; gebruikt de kwetsbaarhedendatabase van Snyk voor snelle lokale scans.

Een image lokaal scannen

Voer een snelle scan uit op een gangbare Docker-image met de ingebouwde opdracht docker scan. Deze opdracht gebruikt Docker Scout (mogelijk gemaakt door Snyk) om kwetsbaarheden te controleren.

Probeer dit voorbeeld uit:

docker scan nginx:latest

De resultaten begrijpen

Na een scan krijg je een rapport. Dit is waar je op moet letten:

  • CVE-ID: Een unieke identificatie voor de kwetsbaarheid (bijvoorbeeld CVE-2023-1234).
  • Ernst: Hoe kritiek de kwetsbaarheid is (bijvoorbeeld Kritiek, Hoog, Gemiddeld, Laag).
  • Pakket: De specifieke softwarecomponent of bibliotheek die de fout bevat.
  • Opgeloste versie: Het rapport stelt vaak een versie van het pakket of de basis-image voor waarin het probleem is opgelost.

Scannen in uw werkproces

De echte kracht van image-scanning komt naar voren wanneer u dit in uw ontwikkelwerkproces integreert. Door scanning toe te voegen aan uw Continuous Integration (CI)-pijplijn, kunt u:

  • Problemen vroeg ontdekken: Kwetsbaarheden identificeren zodra nieuwe code wordt vastgelegd of een image wordt gebouwd.
  • Beveiligingscontroles automatiseren: Beveiliging een standaard, geautomatiseerd onderdeel van uw bouwproces maken.
  • Implementatie voorkomen: Uw CI-pijplijn zo configureren dat de build mislukt wanneer kritieke kwetsbaarheden worden gevonden. Zo voorkomt u dat onveilige images productie bereiken.

Scans automatiseren met CI

Hier is een conceptueel voorbeeld van hoe u Trivy-scanning kunt integreren in een GitHub Actions-werkstroom. Zo wordt elke gebouwde image automatisch gescand.

# .github/workflows/scan.yml
name: Image Scan

on:
  push:
    branches: [ main ]

jobs:
  build-and-scan:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Build Docker Image
      run: docker build -t my-app:latest .
    - name: Run Trivy Scan
      uses: aquasecurity/trivy-action@master
      with:
        image-ref: 'my-app:latest'
        format: 'table'
        exit-code: '1' # Fail build on critical issues

Oplossen wat u vindt

Kwetsbaarheden vinden is slechts de helft van het werk; ze oplossen is de andere helft! Dit zijn veelgebruikte strategieën voor herstel:

  • Basis-images bijwerken: Gebruik altijd de nieuwste versies van uw gekozen basis-image waarin de patches zijn toegepast.
  • Afhankelijkheden beperken: Installeer alleen de pakketten die absoluut nodig zijn om uw toepassing uit te voeren.
  • Builds met meerdere fasen: Gebruik Dockerfiles met meerdere fasen om de uiteindelijke image kleiner te maken en bouwtools te verwijderen die tijdens runtime niet nodig zijn.
  • Patches toepassen: Pas specifieke beveiligingspatches toe als die beschikbaar zijn voor kwetsbare componenten.

Scancontrole

Image-scanning is een essentieel onderdeel van veilige containerontwikkeling. Laten we testen of u het begrijpt.

Belangrijkste punten

U hebt geleerd welke cruciale rol het scannen van de beveiliging van container-images speelt:

  • Het identificeert bekende kwetsbaarheden (CVE's) in uw basis-images en afhankelijkheden.
  • Tools zoals Trivy, Clair en Docker Scout helpen dit proces te automatiseren.
  • Door scanning in uw CI/CD-pijplijn te integreren, worden kwetsbaarheden vroeg ontdekt en voorkomt u dat onveilige images worden geïmplementeerd.
  • Werk images regelmatig bij en beperk afhankelijkheden om uw aanvalsoppervlak te verkleinen.

Blijf uw images scannen om een sterke beveiligingspositie te behouden!

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “Beveiligingsscanning van containerimages” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Beveiligingsscanning van containerimages”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “Beveiligingsscanning van containerimages”?

Integreer tools voor imagescanning in uw CI/CD-pipeline om kwetsbaarheden in Docker-images te identificeren. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Beveiligingsscanning van containerimages”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Beveiligingsscanning van containerimages
  2. Containerbeveiliging tijdens runtime
  3. Secretsbeheer en RBAC
  4. Netwerkpolicies en networking met minimale rechten
← Terug naar DevOps-bootcamp