Aikido

Was ist IaC Security Scanning? Terraform, Kubernetes & Cloud-Fehlkonfigurationen erklärt

Verfasst von
Ruben Camerlynck

Infrastructure as Code (IaC) hat die Art und Weise verändert, wie Teams Cloud-Infrastruktur aufbauen: wiederholbar, versioniert und automatisierbar. Doch mit dieser Macht gehen neue Risiken einher. IaC-Sicherheits-Scanning – oder IaC-Scan – ermöglicht es Ihnen, Fehlkonfigurationen in Ihren YAML-, HCL- und anderen Infrastrukturdateien zu finden, bevor sie in Produktion gehen. Dieser Beitrag erklärt, wie IaC-Scanning funktioniert, welche gängigen Cloud-Fehler es erkennt (und welche nicht), wo es in Ihren Software-Lebenszyklus integriert werden kann und welche Tools in Betracht gezogen werden sollten.

Wie IaC funktioniert (kurze Einführung)

IaC ermöglicht es Ihnen, Infrastruktur in Dateien zu deklarieren, anstatt in Cloud-Konsolen zu klicken. Diese Umstellung macht Umgebungen reproduzierbar und auditierbar: Commit, Plan, Apply. Es gibt zwei breite IaC-Stile:

  • Deklarativ — Sie beschreiben den gewünschten Endzustand (z. B. „Ich möchte einen S3-Bucket mit Versionierung und privatem Zugriff“). Tools wie Terraform und Pulumi gleichen den aktuellen mit dem gewünschten Zustand ab, wenn Sie sie ausführen.
  • Imperativ — Sie skripten den Schritt-für-Schritt-Prozess, um diesen Zustand zu erreichen (z. B. Ansible Playbooks). Sie kontrollieren jede Aktion, die das Tool ausführt.

Sowohl deklaratives als auch imperatives IaC sind legitime Ziele für den IaC-Scan. Das Verständnis, wie Ihr IaC angewendet wird (manuelles Anwenden vs. kontinuierlicher Abgleich wie bei Kubernetes), hilft Ihnen, Risiko und Drift besser einzuschätzen.

Beispiel: Terraform vs. Kubernetes

Terraform plant und wendet Änderungen an, wenn es aufgerufen wird; Kubernetes Controller gleichen den deklarierten Zustand kontinuierlich mit den laufenden Workloads ab. Das bedeutet, dass eine in einem Kubernetes Manifest festgeschriebene Fehlkonfiguration ständig durchgesetzt werden kann, während ein Terraform-Fehler bestehen bleibt, bis jemand ein Update ausführt.

Kubernetes deployment.yaml zeigt kind: Deployment, Replicas, Container Image und securityContext mit runAsNonRoot true
Kubernetes Deployment Manifest, das securityContext (runAsNonRoot, readOnlyRootFilesystem) illustriert.

Was der IaC-Scan tatsächlich leistet

Im Kern ist der IaC-Scan eine statische Analyse für Infrastrukturdateien. Scanner parsen HCL, YAML und andere Formate, um Muster zu identifizieren, die auf eine unsichere Konfiguration hinweisen:

  • Öffentlich zugänglicher Speicher (z. B. offene S3-Buckets)
  • Offene Netzwerk-Ports und zu weit gefasste CIDR-Regeln
  • Übermäßig permissive IAM-Rollen oder -Richtlinien
  • Fehlende Verschlüsselung (während der Übertragung oder im Ruhezustand)
  • Privilegierte Container, die als Root laufen
  • Ungepinnte oder undeklarierte Container-Images
  • Deaktiviertes Logging und Monitoring
Deaktiviertes Logging lässt Angreifer nicht direkt herein – aber es zerstört die Sichtbarkeit. Allein das macht es zu einem erheblichen Sicherheitsrisiko.

Häufige IaC-Fehler (und warum sie wichtig sind)

Hier sind die Fehlkonfigurationen, die am häufigsten in Audits und Breach Reports auftauchen:

  1. Exponierter Datenspeicher: Fehlkonfigurierte Buckets führen oft zu Datenlecks.
  2. Lockere Netzwerkregeln: Breite CIDRs und offene Ports erweitern die Angriffsfläche.
  3. Übermäßige Privilegien: Eine übermäßig permissive IAM-Rolle ermöglicht laterale Bewegung und Exfiltration.
  4. Partielle Verschlüsselung: Nur im Ruhezustand, aber nicht während der Übertragung (oder umgekehrt) zu verschlüsseln, hinterlässt Lücken.
  5. Privilegierte Container: Container, die als Root laufen, erhöhen den Blast Radius erheblich.
  6. Fehlende Observability: Das Deaktivieren von Logs oder Monitoring führt dazu, dass Angriffe unentdeckt bleiben.

Was IaC-Scan leisten kann und was nicht

IaC-Scan ist leistungsstark, da es der früheste automatisierte Prüfpunkt ist, den Sie zur Sicherheit hinzufügen können. Das Erkennen von Problemen in Dateien, bevor sie committed oder angewendet werden, reduziert die Kosten für die Behebung und verhindert unsichere Deployments.

Aber IaC-Scan hat Grenzen:

  • Es ist statisch: Es erfasst den Laufzeitstatus oder Beziehungen zwischen Diensten nach dem Deployment nicht.
  • Es kann manuelle Änderungen übersehen, die direkt in Cloud-Konsolen vorgenommen wurden (Drift).
  • Einzelne Entwickelnde können lokale Scans durchführen, die nie in ein zentralisiertes Repo zurückgelangen – was Blind Spots schafft.

Um Laufzeitprobleme und Drift abzudecken, benötigen Sie Cloud Security Posture Management (CSPM) oder Laufzeit-Scanning. IaC-Scan und CSPM ergänzen sich: IaC-Scan verhindert Probleme vor dem Deployment; CSPM findet Probleme, die in der Produktion auftreten.

Beliebte Open-Source IaC-Scan-Tools

Es gibt mehrere ausgereifte Open-Source-Scanner. Welchen Sie wählen, hängt von Ihrem Stack und Workflow ab:

  • Checkov — umfangreiche Regeln für Terraform, Kubernetes, CloudFormation und mehr.
  • Terrascan — fokussiert auf Terraform und Policy-as-Code-Prüfungen.
  • Trivy — schneller, leichtgewichtiger Scanner, der IaC, Container-Images und mehr abdeckt.

Einen Scanner lokal auszuführen ist einfach: Installieren Sie das Tool, führen Sie es für Ihr Repo aus und überprüfen Sie die Ergebnisse. Hier ist der typische Workflow bei der lokalen Verwendung von Trivy:

Trivy-Scan-Berichtszusammenfassung in einem Terminal, die Ziele auflistet und 'main.tf' mit 10 Fehlkonfigurationen zeigt.
Trivy-Berichtszusammenfassung, die erkannte Fehlkonfigurationen und deren Anzahl für main.tf zeigt.

Die Ergebnisse enthalten in der Regel klare Regelnamen, Dateispeicherorte und Hinweise zur Behebung — genug für Entwickelnde, um schnell Änderungen vorzunehmen.

Wo IaC-Scan in Ihrem SDLC zu integrieren ist

Um die Abdeckung zu maximieren und Umgehungen zu minimieren, betten Sie IaC-Scan an mehreren Stellen ein:

  • Entwickelnde-Workstations: schnelles Feedback während des Codierens (Pre-Commit oder lokale Ausführungen).
  • Pre-Merge / Git-Hooks: verhindern, dass unsichere Commits gepusht werden.
  • CI/CD-Pipelines: erzwingen Prüfungen bei jedem PR und Commit mithilfe von GitHub Actions, CircleCI, GitLab CI usw.
  • Zentralisiertes Scanning in Git: die einzige Quelle der Wahrheit sollte Ihr Repository sein — automatisierte Scans zum Zeitpunkt des Commits/Merges gewährleisten Konsistenz.
IaC-Finding-Detailpanel, das eine S3-Bucket-Empfehlung, den Dateipfad im Repo, die Schwere und einen AutoFix-Button zeigt.
Detailliertes IaC-Finding, das den Dateipfad (z. B. aws/shared-state/main.tf) und AutoFix-Anleitung zeigt.

Machen Sie das Git-Repository zur Steuerungsebene für IaC-Richtlinien. Wenn das Scanning nur lokal erfolgt, können verschiedene Entwickelnde abweichen — was zu Sicherheitslücken führt.

Über Open Source hinaus: moderne Funktionen, die die Behebung beschleunigen

Kommerzielle IaC-Plattformen ergänzen Workflow- und KI-gesteuerte Funktionen, die den manuellen Aufwand und False Positives reduzieren:

  • KI-Autofix: generiert Code-Fixes automatisch und erstellt Pull Requests, die Fehlkonfigurationen beheben.
  • Kontextsensitive Ignorierregeln: unterdrücken Ergebnisse in bekannten Testumgebungen oder dort, wo ein Risiko akzeptabel ist.
  • Zentralisierte Dashboards und Filterung: Triage und Priorisierung von Ergebnissen über Teams und Repos hinweg.
AutoFix-Modal mit einem KI-generierten Terraform-Diff und dem „PR erstellen“-Button
AutoFix-Vorschau: KI-generierter Terraform-Patch zum Blockieren des öffentlichen S3-Zugriffs, bereit zur Erstellung eines PR.

AutoFix kann ein Produktivitäts-Multiplikator sein – Entwickelnde erhalten vorgeschlagene Code-Änderungen und können sichere Fixes mit einem einzigen Workflow zusammenführen. Generierte Fixes sollten jedoch immer mit Code-Reviews und Tests gekoppelt werden, um unerwartetes Verhalten zu vermeiden.

Praktische Checkliste für den Einstieg in den IaC-Scan

  1. Wählen Sie einen primären Scanner, der Ihren Stack abdeckt (z. B. Trivy, Checkov).
  2. Führen Sie Scans lokal während der Entwicklung aus und fügen Sie Pre-Commit-Hooks hinzu.
  3. Erzwingen Sie Scans in CI/CD bei jedem PR und Commit.
  4. Machen Sie Ihr Git-Repo zur einzigen Quelle der Wahrheit und blockieren Sie direkte Konsolenänderungen, wo immer möglich.
  5. Ergänzen Sie den IaC-Scan mit CSPM-/Laufzeitprüfungen, um Drift und manuelle Änderungen zu erkennen.
  6. Berücksichtigen Sie Plattformfunktionen wie AutoFix und kontextbezogene Ignorierungen, um die Behebung zu skalieren.

Fazit: IaC-Scan ist essenziell – aber nicht ausreichend.

Der IaC-Scan ist der früheste und kostengünstigste Weg, um Fehlkonfigurationen daran zu hindern, zu Vorfällen zu werden. Er findet häufige Probleme wie öffentliche Buckets, offene Ports und übermäßig permissive IAM, bevor sie die Produktion erreichen. Statisches Scannen wird jedoch das Laufzeit-Posture-Management nicht ersetzen – nutzen Sie den IaC-Scan als entscheidende erste Schicht in einer mehrschichtigen Cloud-Sicherheitsstrategie.

Beginnen Sie damit, Scanner zu Entwickelnden-Workflows und CI hinzuzufügen, Prüfungen in Git zu zentralisieren und den IaC-Scan mit CSPM zu koppeln, um Laufzeitlücken abzudecken. Im Laufe der Zeit automatisieren Sie Behebungen und verbessern das Signal-Rausch-Verhältnis mit kontextbezogenen Regeln, damit Teams schnell agieren – und sicher bleiben können. 

Testen Sie Aikido Security noch heute!

Teilen:

https://www.aikido.dev/blog/iac-security-scanning-terraform-kubernetes-misconfigurations

Abonnieren Sie Bedrohungs-News.

Starten Sie noch heute, kostenlos.

Kostenlos starten
Ohne Kreditkarte

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.