Anleitung: Compliance eines Images prüfen
Diese Anleitung zeigt, wie Sie ein bestehendes Container-Image gegen die container.gov.de Compliance-Policy (container.gov.de.rego) prüfen.
Wann brauchen Sie das?
- Vor der erstmaligen Einreichung eines Images
- Nach einem Update des Images oder seiner Abhängigkeiten
- Nach einer neuen CVE-Veröffentlichung, die Ihr Image betreffen könnte
Voraussetzungen:
- DevGuard Scanner installiert (Installationsanleitung)
- Das Image ist in einer Container Registry erreichbar (z.B.
registry.opencode.de) - Das Image besitzt eine VEX-Attestierung (oder Sie möchten herausfinden, ob es eine besitzt)
1. DevGuard Scanner aufrufen
Laden Sie die aktuelle container.gov.de-Policy herunter:
Führen Sie den folgenden Befehl aus und ersetzen Sie den Image-Pfad durch Ihr Image:
Beispiel mit dem Debian-Minimal-Image:
2. Ausgabe interpretieren
Der Scanner gibt ein SARIF-Dokument (Static Analysis Results Interchange Format) zurück. Ein konformes Image hat "kind": "pass":
Ein nicht-konformes Image hat "kind": "fail" und enthält eine Beschreibung des Verstoßes:
| Feld | Bedeutung |
|---|---|
results[].kind | "pass" = konform, "fail" = Verstoß |
results[].message.text | Zusammenfassung des Ergebnisses |
results[].locations[].message.text | Details zum Ergebnis oder Verstoß |
results[].locations[].physicalLocation.artifactLocation.uri | Das geprüfte Image |
results[].ruleID | Die angewendete Policy-Datei |
3. Verstöße beheben
Für jede in violations aufgeführte unbehandelte CVE müssen Sie eine Bewertung in Ihrem VEX hinterlegen (z.b. via DevGuard):
- Öffnen Sie devguard.opencode.de
- Navigieren Sie zu Ihrem Asset und dem Container-Scanning-Ergebnis
- Suchen Sie die unbehandelte CVE (z.B.
CVE-2024-12345) - Wählen Sie einen Bewertungsstatus:
- Falsch-Positiv – CVE gilt nicht für dieses Image
- Risiko akzeptiert (Accept) – Risiko dokumentiert und bewusst akzeptiert
Das bereits an das Container-Image attestierte VEX-Dokument wird erst nach einem erneuten Pipeline-Durchlauf aktualisiert. Daher müssen Sie die Pipeline manuell erneut ausführen, um die aktualisierte Compliance-Attestierung zu erhalten.
4. Compliance in der CI/CD-Pipeline automatisieren
Damit die Prüfung bei jedem Build automatisch stattfindet, fügen Sie den Compliance-Check in Ihre GitLab CI/CD-Pipeline ein.
Fehlerbehebung
Fehler: "No VEX attestation found" Das Image besitzt noch keine VEX-Attestierung. Folgen Sie der Anleitung VEX-Attestierung erstellen.