Start / Blog / Runtime-Management / Container Security Scanning + Vulnerability-Checks

Container Security Scanning + Vulnerability-Checks

Zusammenfassen mit ChatGPT

Container-Images können Sicherheitslücken enthalten – veraltete Dependencies, bekannte CVEs oder Malware. Für KI-Anwendungen, die sensible Dokumente verarbeiten, ist Container-Security essentiell. Automatisiertes Security-Scanning in CI/CD-Pipelines identifiziert Schwachstellen, bevor sie in Produktion gelangen. Container-Security ist ein essentieller Bestandteil moderner Container-Orchestrierung und bildet die Grundlage für sichere Deployments in Cloud-Hosting-Umgebungen und Private Cloud-Infrastrukturen.

Der DevSecOps-Ansatz integriert Sicherheitsprüfungen direkt in den Entwicklungsprozess. Entwickler erhalten unmittelbares Feedback zu Sicherheitsproblemen beim Build-Prozess, nicht erst Wochen später. Dies verkürzt den Feedback-Loop erheblich und verhindert, dass vulnerable Images in Produktion gelangen. Tools wie Trivy, Grype und Snyk automatisieren diese Prüfungen vollständig.

Was wird gescannt?

Container-Security-Scanner analysieren Images auf mehreren Ebenen. Vulnerabilities in OS-Packages und Anwendungs-Dependencies werden gegen CVE-Datenbanken abgeglichen. Ein veraltetes OpenSSL-Package oder eine Log4j-Version mit bekannten Schwachstellen wird sofort identifiziert. Scanner bewerten die Kritikalität jeder Schwachstelle als Critical, High, Medium oder Low und ermöglichen so priorisierte Behebung der gefährlichsten Issues.

Secrets wie API-Keys, Passwörter oder Private Keys sollten niemals in Container-Images eingebettet sein. Scanner durchsuchen alle Image-Layer nach verdächtigen Patterns und warnen, wenn Credentials gefunden werden. Ein in einem Dockerfile hartcodierter AWS-Access-Key oder ein versehentlich eingecheckter SSH-Key wird erkannt, bevor das Image deployed wird. Dies verhindert häufige, aber gravierende Sicherheitslücken.

Fehlkonfigurationen stellen ein weiteres Risiko dar. Container, die als Root-User laufen, haben unnötig erhöhte Privilegien und vergrößern die Angriffsfläche. Exponierte Ports wie SSH auf Port 22 sollten in produktiven Containern nicht öffentlich erreichbar sein. Scanner prüfen solche Konfigurationsprobleme und empfehlen Hardening-Maßnahmen wie nicht-privilegierte User und minimierte Port-Exposition.

Security-Scanning-Tools

Trivy hat sich als schnellster und einfachster Scanner etabliert. Ein einzelner Befehl scannt ein komplettes Image in wenigen Sekunden und liefert übersichtliche Ergebnisse. Trivy ist Open Source, unterstützt Docker, Kubernetes, Terraform und viele weitere Formate. Die Integration in CI/CD-Pipelines erfolgt mit minimalem Aufwand, da Trivy als standalone Binary ohne externe Dependencies funktioniert.

# Image scannen mit Trivy
trivy image python:3.11
# Nur Critical und High Vulnerabilities
trivy image --severity CRITICAL,HIGH nginx:latest
# JSON-Output für Weiterverarbeitung
trivy image --format json -o scan-results.json myapp:v1.2.3

Grype von Anchore bietet ähnliche Funktionalität mit Fokus auf SBOM-Integration. Software Bill of Materials werden als strukturierte Inventarlisten aller Komponenten eines Images erstellt. Dies erleichtert Compliance-Nachweise und ermöglicht es, bei neuen CVEs schnell zu prüfen, welche Images betroffen sind. Grype generiert und nutzt SBOMs automatisch für präzisere Vulnerability-Erkennung.

# Image mit Grype scannen
grype docker:python:3.11
# SBOM exportieren
syft docker:python:3.11 -o spdx-json > sbom.json
# SBOM mit Grype scannen
grype sbom:sbom.json

Snyk richtet sich an Entwickler-Teams mit exzellenter Developer-Experience. Die Integration in IDEs wie VS Code zeigt Vulnerabilities direkt im Code-Editor. Snyk erstellt automatisch Pull Requests mit Fixes für bekannte Schwachstellen und aktualisiert Dependencies auf sichere Versionen. Der kostenlose Tier deckt kleinere Projekte ab, Enterprise-Features kosten ab 500 Euro monatlich.

CI/CD-Pipeline-Integration

GitHub Actions integriert Security-Scanning in jeden Pull Request. Der folgende Workflow scannt Images automatisch beim Build und verhindert Merges, wenn Critical-Vulnerabilities gefunden werden. Dies etabliert ein Security-Gate, das unsichere Images automatisch blockiert, ohne dass manuelles Review erforderlich ist.

name: Container Security Scan
on: [push, pull_request]
jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Build Image
        run: docker build -t myapp:${{ github.sha }} .
      - name: Scan with Trivy
        uses: aquasecurity/trivy-action@master
        with:
          image-ref: myapp:${{ github.sha }}
          severity: CRITICAL,HIGH
          exit-code: 1  # Fail bei Vulnerabilities
      - name: Upload Results
        if: always()
        uses: actions/upload-artifact@v3
        with:
          name: scan-results
          path: trivy-results.json

GitLab CI/CD bietet ähnliche Integration mit nativer Container-Scanning-Unterstützung. GitLab Ultimate beinhaltet integriertes Security-Scanning, das Ergebnisse direkt in Merge Requests anzeigt. Für GitLab Free/Premium lässt sich Trivy als Custom-Job integrieren und liefert vergleichbare Funktionalität ohne zusätzliche Lizenzkosten.

# .gitlab-ci.yml
security_scan:
  stage: test
  image: aquasec/trivy:latest
  script:
    - trivy image --exit-code 1 --severity CRITICAL,HIGH $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
  only:
    - merge_requests
    - main

Kubernetes Admission Controllers prüfen Images zur Laufzeit beim Pod-Start. Falco und OPA Gatekeeper blockieren Pods mit bekannten Vulnerabilities oder Policy-Verstößen automatisch. Dies bildet eine zusätzliche Sicherheitsschicht, falls vulnerable Images versehentlich in die Registry gelangen. Die Runtime-Protection ergänzt CI/CD-Scanning und schützt auch vor manuell deployed Images.

Best Practices

Regelmäßiges Scanning existierender Images ist essentiell, da neue CVEs täglich veröffentlicht werden. Ein heute sicheres Image kann morgen vulnerable sein, wenn eine neue Schwachstelle in einer enthaltenen Komponente entdeckt wird. Automatisierte nächtliche Scans aller Registry-Images mit Alerting bei neuen Findings etablieren kontinuierliches Security-Monitoring. Tools wie Harbor oder Quay.io bieten integrierte Scanning-Funktionen für Container-Registries.

Base-Image-Auswahl beeinflusst die Security-Posture erheblich. Minimal-Images wie Alpine oder Distroless enthalten nur essentiell benötigte Komponenten und reduzieren die Angriffsfläche um 90 Prozent gegenüber Standard-Images. Ein Python-Image auf Alpine-Basis hat typischerweise 20 bis 30 Vulnerabilities, während das gleiche auf Ubuntu-Basis 200 bis 300 aufweist. Der Wechsel zu Minimal-Images verbessert Security und reduziert Image-Größe signifikant.

Multi-Stage-Builds separieren Build- und Runtime-Umgebungen. Build-Tools wie Compiler, Package-Manager und Development-Dependencies werden nicht ins finale Image übernommen. Dies minimiert sowohl Größe als auch Sicherheitsrisiken, da Build-Tools häufig mehr Vulnerabilities enthalten als Runtime-Dependencies. Ein Multi-Stage-Dockerfile für Python-Anwendungen könnte so aussehen:

# Build Stage
FROM python:3.11 AS builder
WORKDIR /build
COPY requirements.txt .
RUN pip install --user -r requirements.txt
# Runtime Stage
FROM python:3.11-slim
WORKDIR /app
COPY --from=builder /root/.local /root/.local
COPY . .
ENV PATH=/root/.local/bin:$PATH
CMD ["python", "app.py"]

Vulnerability-Thresholds definieren akzeptable Risiko-Levels. Nicht jede Low-Severity-Vulnerability rechtfertigt sofortigen Fix-Aufwand. Typische Policies blockieren Deployments bei Critical-Findings, warnen bei High, und ignorieren Medium/Low im ersten Schritt. Exceptions für bekannte False-Positives oder Vulnerabilities ohne verfügbare Fixes vermeiden unnötigen Blockaden. Security-Policy sollte praktikabel bleiben, ohne echte Risiken zu tolerieren.

Häufig gestellte Fragen

Wie oft sollten Images gescannt werden?

Images sollten bei jedem Build in der CI/CD-Pipeline gescannt werden, um neue Vulnerabilities sofort zu erkennen. Zusätzlich empfehlen sich tägliche Scans aller Images in der Container-Registry, da neue CVEs jederzeit veröffentlicht werden. Produktions-Images benötigen besonders häufige Scans, idealerweise mehrmals täglich für kritische Services. Die meisten Scanner erlauben vollautomatisierte Schedules ohne manuellen Aufwand.

Was kostet Container-Security-Scanning?

Open-Source-Tools wie Trivy und Grype sind vollständig kostenlos und decken die meisten Use Cases ab. Cloud-basierte Services wie Snyk beginnen bei 0 Euro für kleine Teams mit Limits, Enterprise-Pläne kosten 500 bis 2.000 Euro monatlich pro Team. Harbor und Quay.io bieten integriertes Scanning als Teil ihrer Registry-Funktionalität. Für die meisten Unternehmen sind Open-Source-Tools ausreichend, Enterprise-Features lohnen sich ab 50 plus Entwicklern.

Wie geht man mit False Positives um?

False Positives treten auf, wenn Scanner Vulnerabilities melden, die in der spezifischen Nutzung nicht exploitbar sind. Scanner erlauben das Suppressieren bekannter False Positives über Ignore-Files. Teams sollten jeden vermeintlichen False Positive sorgfältig analysieren und dokumentieren, warum er ignoriert wird. Regelmäßige Review dieser Exceptions stellt sicher, dass sie weiterhin gültig bleiben. Alternative Scanner können Second-Opinion liefern, falls Unsicherheit besteht.

Kann Scanning Deployments signifikant verlangsamen?

Moderne Scanner wie Trivy scannen typische Images in 10 bis 30 Sekunden. Dies verlängert CI/CD-Pipelines minimal und ist der Sicherheitsgewinn wert. Caching von Scan-Ergebnissen beschleunigt Re-Scans identischer Layers erheblich. Für sehr große Images oder komplexe Pipelines kann paralleles Scanning mehrerer Jobs die Gesamtdauer neutral halten. Der Security-Benefit überwiegt den minimalen Performance-Impact bei weitem.

Sie möchten Container-Security-Scanning in Ihre DevSecOps-Pipeline integrieren? Kontaktieren Sie uns für ein unverbindliches Erstgespräch.

Fanden Sie die Seite hilfreich?

Vielen Dank für Ihr Feedback!

Würden Sie mir Feedback geben? (anonym)

Wir entwickeln KI-Software für Unternehmen und verzichten bewusst auf störende Werbebanner. Durch unsere Artikel dokumentieren wir Themen, die uns beschäftigen, interessieren und auch unser tägliches Brot finanzieren.

Da unsere Inhalte kostenfrei sind, ist Ihr Feedback unser Lob.

Jeder Autor liest Ihr anonymes Feedback persönlich, obwohl KI es automatisieren könnten, und integriert konstruktive Vorschläge direkt in die nächste Überarbeitung oder nutzt es als Inspiration für den nächsten Artikel.



    de_DEDE