Verwaltung und Behebung von Fehlkonfigurationen in Cloud-Infrastrukturen mit Tenable.cs und HashiCorp Terraform Cloud

Aufgrund von vermeidbaren Fehlkonfigurationen häufen sich Sicherheitsverletzungen in der Cloud. Hier erfahren Sie, wie Sie Ihr Risiko mithilfe einer neuen Integration zwischen Tenable.cs und Terraform Cloud reduzieren können.
Die heutigen Cloud-Umgebungen sind äußerst dynamisch, da ständig neue Updates in der Produktionsumgebung veröffentlicht werden und Workloads je nach Kundenbedarf nach oben oder unten skaliert werden. Innerhalb weniger Minuten können Cloud Engineers Ressourcen in der Cloud aufsetzen und vollständig bereitstellen. Doch mit erhöhter Geschwindigkeit geht oft auch ein erhöhtes Risiko einher. Durch Fehlkonfigurationen verursachte Systemschwachstellen werden oftmals übersehen und können über Monate hinweg unerkannt bleiben. Dies führt dazu, dass das Ausmaß und die Geschwindigkeit von Sicherheitsverletzungen in der Cloud zunehmen. Allein aufgrund von Fehlkonfigurationen in der Cloud-Infrastruktur wurden zwischen 2018 und 2020 im Rahmen von 200 Angriffen über 30 Milliarden Datensätze offengelegt.
Wie können Sie das Risiko von Angriffen verringern, die durch Cloud-Fehlkonfigurationen verursacht werden? In diesem Beitrag erklären wir, wie Tenable und HashiCorp mit einer neuen Integration zwischen Tenable.cs und Terraform Cloud Run Tasks bei diesem Problem Abhilfe schaffen können.
Einführung in Cloud-Bereitstellung und Terraform
Das Provisioning von Cloud-Ressourcen ist ein wichtiger Aspekt bei der Bereitstellung von Cloud-Workloads. Zwar verfügen die meisten Cloud-Provider über eigene Bereitstellungsprogramme, aber Best-of-Breed-Tools wie Hashicorp Terraform bieten Vorteile, die über das hinausgehen, was Cloud-Provider anbieten. Die Verwendung von Terraform, einem quelloffenen IaC-Tool (Infrastructure as Code), zur Bereitstellung von Infrastruktur bietet viele Vorteile für die Verwaltung und den Betrieb Ihrer Umgebung. Hashicorp Configuration Language (HCL) bietet die Möglichkeit, wiederverwendbare Infrastrukturmodule zu standardisieren, die über Projekte und Umgebungen hinweg eingesetzt werden können. Beim Einrichten der Infrastruktur erfasst Terraform den aktuellen Zustand Ihrer Umgebung und ermittelt alle Änderungen, die erforderlich sind, um die Umgebung auf den in Ihrer IaC definierten Zustand zu konfigurieren. Hierdurch wird der Prozess für die Verwaltung komplexer Architekturen vereinfacht, die bei manueller Wartung anfällig sein können. IaC ermöglicht eine Versionskontrolle für den Code und bietet einen besseren Einblick in die Art und Weise, wie die Infrastruktur bereitgestellt und konfiguriert wurde.
Wichtige Überlegungen zur Terraform-Sicherheit
Terraform bietet außerdem Vorteile bei der Sicherheit. Der Workflow der Infrastrukturbereitstellung kann verwendet werden, um Ihre Umgebung vor Sicherheitsproblemen zu schützen. Wenn für sämtliche Änderungen in Ihrer Umgebung die Verwendung von IaC erzwungen wird, kann Code bewertet werden, um sicherzustellen, dass Sicherheitsmängel vor der Bereitstellung von Infrastruktur erkannt und behoben werden. Sicherheits- oder betriebsrelevante Schutzvorkehrungen können in Code eingebunden und über CI/CD-Pipelines, Gates oder sonstige automatisierte Mechanismen durchgesetzt werden, um Richtlinienkonformität in Ihrer Umgebung zu gewährleisten.
Obwohl der Einsatz von Tools wie Terraform die Verwaltung der Infrastruktur vereinfacht, kommt es dennoch immer wieder zu kritischen Fehlkonfigurationen in Cloud-Infrastruktur. Zu den wichtigsten Bereichen für das Schwachstellenmanagement in Terraform-Umgebungen gehören:
- Verwaltung von Secrets: Terraform erfordert Zugangsdaten, um alle API-Aktionen zu autorisieren, die zur Bereitstellung der in Ihrem Code spezifizierten Infrastruktur erforderlich sind. Da diese Zugangsdaten einen privilegierten Zugriff gewähren, mit dem Ihre Umgebung erstellt, verwaltet und gelöscht werden kann, sollte darauf geachtet werden, dass sie nicht für unbefugte Personen oder Prozesse zugänglich sind.
- Verwaltung des Systemzustands: Terraform verwendet eine Zustandsdatei, um den Zustand von bereitgestellten Infrastrukturressourcen im Blick zu behalten. Standardmäßig wird die Zustandsdatei im lokalen Dateisystem des Systems gespeichert, auf dem Terraform ausgeführt wird. Persistenz von Zustandsdateien zusammen mit Ihrem Quellcode ist keine gute Idee, da diese Secrets oder andere sensible Daten enthalten könnten.
- Verwaltung von Abhängigkeiten: Zur Interaktion mit Remote-APIs für die in Ihrem Code definierten Ressourcen verwendet Terraform Plugins, die als „Provider“ bezeichnet werden. Bei Ausführung des Befehls „terraform init“ werden diese in das System heruntergeladen, auf dem Terraform ausgeführt wird. Da Provider leistungsstarke Vorgänge in Ihrer Infrastruktur managen, ist es wichtig, diese von vertrauenswürdigen Quellen herunterzuladen und sich vor der Verwendung zu vergewissern, dass sie nicht manipuliert wurden.
- Verwaltung von Drifts: In jeder komplexen Unternehmensumgebung können manuelle Änderungen über Notfall-Mechanismen oder andere Mittel zur Laufzeit vorgenommen werden. Diese Änderungen verursachen eine Abweichung zwischen Ihrer Runtime-Umgebung und den Definitionen in Ihrem Terraform-Code, die als „Drift“ bezeichnet wird. Wenn dies nicht ebenfalls im Quellcode korrigiert wird, verwenden Build-Teams weiterhin die alte Version und/oder die Systeme entsprechen nicht mehr den Sicherheitsanforderungen.
Weitere Informationen zu wichtigen Überlegungen im Zusammenhang mit Terraform-Sicherheit finden Sie im Whitepaper „DevOps-Leitfaden für Terraform-Sicherheit“.
Verhinderung von Terraform-Schwachstellen mithilfe von Tenable.cs
Tenable.cs ist eine entwicklerfreundliche Cloud-Native Application Protection Platform (CNAPP), die es Ihrem Unternehmen ermöglicht, Cloud-Ressourcen, Container-Images und Cloud-Assets abzusichern und so eine durchgängige Sicherheit vom Code über die Cloud bis hin zur Workload zu gewährleisten. Um Best Practices umzusetzen, können Sie Ihren Code mit einem statischen Code-Analyse-Tool wie Terrascan bewerten. Terrascan ist ein Open-Source-Projekt, das von Tenable entwickelt wurde und als Grundlage für die Scan-Engine von Tenable.cs dient. Terrascan enthält Hunderte von Richtlinien für mehrere Provider in Rego-Sprache und bewertet diese mithilfe der OPA-Engine (Open Policy Agent) auf Fehlkonfigurationen. Diese Richtlinien können um beliebige Standards erweitert werden, die speziell für Ihre Umgebung gelten. Um diese im Rahmen Ihres Workflows durchzusetzen, können Sie einen Job in Ihre CI/CD-Pipeline aufnehmen, der mittels Terrascan sämtliche Änderungen an Ihren HCL-Dateien auf Sicherheitsprobleme scannt. Sollten Probleme erkannt werden, wird der Job mit einer Fehlermeldung abgebrochen. Aus dieser geht hervor, dass ein Sicherheitsproblem festgestellt wurde, das behoben werden muss.
Mit Tenable.cs können Teams, die für den Betrieb und die Sicherheit der Cloud zuständig sind, Terraform-Vorlagen auf Richtlinienverstöße hin überprüfen. Sie können Cloud-Infrastruktur-Sicherheit in die DevOps-Pipeline integrieren, um zu verhindern, dass Sicherheitsprobleme in die Produktionsumgebung gelangen. Außerdem können Sie IaC-Fehlkonfigurationen schnell und direkt in den Entwicklungstools beheben, um Richtlinien sowohl in der Build-Phase als auch zur Laufzeit durchzusetzen.


Neu! Erweiterte Unterstützung für automatische Korrekturmaßnahmen mit HashiCorp Terraform Cloud Run Tasks
Jetzt erweitert Tenable seine Funktionen zur Absicherung von Terraform durch die Unterstützung der neuen Terraform Cloud Run Tasks von HashiCorp. Terraform Cloud bietet eine gehostete Lösung zur Erstellung und Bereitstellung von Terraform-Vorlagen. Mit den neuen Terraform Cloud Run Tasks können Sie Tenable.cs dazu verwenden, Ihre Terraform-Vorlagen während des Terraform-Schritts für die Cloud-Bereitstellung zu scannen. Die Integration versetzt Terraform Cloud-Kunden in die Lage, Sicherheitsprobleme innerhalb ihrer IaC mithilfe von Tenable.cs bereits in der Planungsphase der Terraform-Ausführung zu erkennen. Indem wir diese Unterstützung für Terraform Cloud Run Tasks in Tenable.cs hinzufügen, helfen wir Entwicklern, Compliance- und Sicherheitsrisiken in ihrer IaC zu erkennen und zu beheben, sodass sie Probleme beseitigen können, bevor Cloud-Infrastruktur bereitgestellt wird.
Außerdem kann es zeitaufwendig und schwierig sein, die genauen Behebungsschritte zu bestimmen. Aus diesem Grund werden als Teil der Integration auch Empfehlungen zur Fehlerbehebung in Form eines Pull-Requests für das mit dem Terraform-Workspace verknüpfte Quellcode-Repository bereitgestellt, um bei der Behebung von Problemen in Terraform-Vorlagen zu helfen, bevor diese bereitgestellt werden. Kunden können über 1.500 Richtlinien aus dem kommerziellen Angebot von Tenable.cs nutzen, um tiefgreifende Scans in Terraform Cloud durchzuführen. Nutzer, die sich für die Anleitung zur Einrichtung der Verbindung von Tenable.cs mit Terraform Cloud Workspace interessieren, finden eine ausführliche Dokumentation hier.
Mehr über Tenable.cs erfahren Sie im Datenblatt oder im On-Demand-Webinar „Introducing Tenable.cs: Secure Every Step From Code to Cloud“.
Verwandte Artikel
- Ankündigungen
- Cloud