iToverDose/Software· 5 JULI 2026 · 00:03

Terraform-Schwachstellen mit Checkov finden – so sichern Sie Ihre Infrastruktur

Ihre Terraform-Konfigurationen enthalten oft Sicherheitslücken, die Angreifern Tür und Tor öffnen. Mit Checkov lassen sich diese Probleme automatisch erkennen – ohne Cloud-Zugriff.

DEV Community3 min0 Kommentare

Infrastruktur als Code (IaC) wie Terraform beschleunigt die Bereitstellung, birgt aber auch Risiken: Eine einzige falsche Konfiguration kann zu Datenlecks oder unautorisiertem Zugriff führen. Doch wie prüft man Terraform-Dateien auf Sicherheitsmängel? Der Open-Source-Scanner Checkov analysiert Ihre Infrastruktur als Code – ohne Cloud-Zugriff und mit über 1.000 vordefinierten Richtlinien für AWS, Azure und Kubernetes.

Warum Infrastruktur-Code genauso abgesichert werden muss wie Anwendungen

Sicherheitslücken in der Anwendungscodebasis sind gut dokumentiert – doch was ist mit der Infrastruktur? Ein falsch konfigurierter S3-Bucket, eine offene Sicherheitsgruppe oder überprivilegierte IAM-Rollen haben in der Vergangenheit zu massiven Datenpannen geführt. Da Infrastruktur heute als Code existiert, lässt sich dieser ebenfalls statisch analysieren.

Checkov, ein von Prisma Cloud entwickeltes Tool, deckt typische IaC-Fehler auf:

  • Unverschlüsselte Speicherressourcen
  • Öffentlich zugängliche Buckets oder Datenbanken
  • Überprivilegierte IAM-Richtlinien
  • Veraltete Metadaten-Dienste wie IMDSv1

Der Vorteil: Die Prüfung erfolgt lokal oder in CI/CD-Pipelines – ohne dass sensible Cloud-Zugangsdaten preisgegeben werden müssen.

Ein gezielter Angriff: Wie eine absichtlich unsichere Terraform-Konfiguration aussieht

Um die Leistungsfähigkeit von Checkov zu demonstrieren, erstellte ein Entwickler eine absichtlich fehlerhafte AWS-Konfiguration mit fünf klassischen Sicherheitsmängeln:

  • S3-Bucket: Öffentlich lesbar (acl = "public-read"), unverschlüsselt und ohne Protokollierung
  • Sicherheitsgruppe: Erlaubt SSH- und alle TCP-Ports von überall (0.0.0.0/0)
  • RDS-Datenbank: Öffentlich zugänglich, mit hartkodiertem Passwort und ohne Verschlüsselung
  • EC2-Instanz: Unverschlüsseltes Root-Volume und veraltete IMDSv1
  • IAM-Richtlinie: Vollzugriff mit Wildcard-Aktionen (Action = "*") auf alle Ressourcen

Diese Konfiguration ähnelt realen Vorfällen wie dem Capital-One-Hack (2019) oder dem Leak von US-Wählerevidenzen (2020), bei denen öffentlich zugängliche S3-Buckets Millionen von Datensätzen preisgaben.

Checkov im Einsatz: 35 Fehler in 70 Zeilen Terraform

Die Prüfung mit Checkov erfolgt in drei Schritten:

pip install checkov
checkov -f main.tf

Das Ergebnis war ernüchternd:

  • 35 fehlgeschlagene Prüfungen
  • 14 bestandene Prüfungen
  • 0 übersprungene Prüfungen

Checkov identifizierte unter anderem:

  • CKV_AWS_20: Öffentlicher S3-Bucket mit Lesezugriff
  • CKV_AWS_62: IAM-Richtlinie mit Vollzugriff (`"*")
  • CKV_AWS_24: Sicherheitsgruppe mit SSH-Zugriff von überall
  • CKV_AWS_17: Öffentlich zugängliche RDS-Instanz

Besonders gravierend: Die IAM-Richtlinie mit Wildcard-Aktionen führte zu acht separaten Fehlern, da sie Angreifern Möglichkeiten für Privilegieneskalation, Datenexfiltration oder Credential-Diebstahl bot.

Schritt für Schritt zur sicheren Infrastruktur

Die Behebung der Mängel erforderte nur wenige Anpassungen:

  1. S3-Bucket:
  • Aktivierung von aws_s3_bucket_public_access_block
  • Umstellung auf private ACL
  • Verschlüsselung mit KMS und rotierenden Schlüsseln
  • Aktivierung von Versionierung und Protokollierung
  1. Sicherheitsgruppe:
  • Einschränkung des SSH-Zugriffs auf vertrauenswürdige IP-Bereiche
  • Erzwingen von HTTPS-Verbindungen
  1. RDS-Datenbank:
  • Deaktivierung der öffentlichen Zugänglichkeit
  • Aktivierung der Speicherverschlüsselung
  • Einrichtung von Multi-AZ für Hochverfügbarkeit
  1. EC2-Instanz:
  • Erzwingen von IMDSv2 mit http_tokens = "required"
  • Verschlüsselung des Root-Volumes
  1. IAM-Richtlinie:
  • Ersetzen der Wildcard durch die prinzipspezifischsten Berechtigungen
  • Beispiel: Nur s3:GetObject auf einen bestimmten Bucket
  1. Datenbankpasswort:
  • Auslagerung in eine sichere Variable (TF_VAR_db_password)

Die finale Konfiguration bestand aus 79 bestandenen und 5 übersprungenen Prüfungen – alle Übersprünge wurden mit Kommentaren wie #checkov:skip=CKV_AWS_144 dokumentiert, um die Nachvollziehbarkeit zu gewährleisten.

Automatisierung in GitHub Actions: Sicherheit als Standard

Manuelle Scans sind nur ein erster Schritt – die eigentliche Stärke von Checkov liegt in der automatisierten Prüfung in CI/CD-Pipelines. Ein Beispiel-Workflow für GitHub Actions könnte so aussehen:

name: Terraform Security Scan
on: [push, pull_request]
jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: "3.10"
      - name: Install Checkov
        run: pip install checkov
      - name: Run Checkov
        run: checkov -d . --output cli -c CKV_AWS_20,CKV_AWS_62

Dieser Workflow prüft Terraform-Dateien bei jedem Push oder Pull Request und blockiert die Bereitstellung, falls kritische Sicherheitsmängel gefunden werden. So wird Sicherheit zur automatischen Voraussetzung – nicht zum nachträglichen Aufwand.

Fazit: Infrastruktur-Sicherheit beginnt im Code

Die Zeiten, in denen Sicherheitslücken nur in Anwendungscode gesucht wurden, sind vorbei. Mit Tools wie Checkov lassen sich Infrastruktur-Schwachstellen frühzeitig erkennen und beheben – noch bevor sie in Produktion gelangen. Die Integration in CI/CD-Pipelines stellt sicher, dass Sicherheitsstandards durchgehend eingehalten werden.

Die gute Nachricht: Die Behebung von 35 Fehlern erforderte nur minimale Änderungen. Die schlechte Nachricht: Viele Teams wissen gar nicht, wie viele offene Türen sie in ihrer Infrastruktur haben. Ein Checkov-Scan könnte der erste Schritt zu einer wirklich sicheren Cloud-Umgebung sein.

KI-Zusammenfassung

Learn how Checkov’s static analysis detects Terraform misconfigurations like public S3 buckets and overprivileged IAM policies before deployment. Includes a step-by-step remediation guide and CI/CD automation.

Kommentare

00
KOMMENTAR SCHREIBEN
ID #1R2YRB

0 / 1200 ZEICHEN

Menschen-Check

2 + 5 = ?

Erscheint nach redaktioneller Prüfung

Moderation · Spam-Schutz aktiv

Noch keine Kommentare. Sei der erste.