WavebreakMediaMicro - Fotolia

Die Cloud-Automatisierung mit DevOps-Tools absichern

Mit Tools aus dem DevOps-Baukasten lässt sich eine sichere Cloud-Automatisierung ausrollen. Hierfür können Sicherheitsteams DevOps-Ansätze nutzen.

Dieser Artikel behandelt

Cloud-Sicherheit

Dass die Entwicklung von Cloud-Lösungen und die Bereitstellung derselben immer schneller erfolgt und die Ansätze agiler werden, bleibt nicht ohne Folgen für die Sicherheit. Sicherheitsverantwortliche erkennen immer häufiger, dass sich Cloud-Applikationen und das Ausrollen von Systemen nur dann schützen lässt, wenn sie Sicherheitsfunktionen entwickeln, die in die Deployment-Pipeline integriert sind.

Dabei hilft so viel Automatisierung wie möglich. In der Sicherheitsindustrie ist das bekannt als „Sicherheit durch Code“, eine Variante von „Infrastruktur als Code“. Das ähnelt dem Ansatz, klassische Komponenten virtuell neu zu definieren und sie künftig flexibler und leichter konfigurierbar zu entwickeln. Die Hoffnung ist, dass sich die Konfiguration durch Dateien und Templates vereinfacht.

Allerdings ist es für Sicherheitsteams nicht immer einfach, in diesem Bereich zu agieren. Viele Sicherheitsprofis verfügen über kein Hintergrundwissen in der Softwareentwicklung. Das kann zu Problemen bei der Kommunikation mit DevOps-Teams führen. Diese setzen bereits jetzt stark auf Automatisierung, nutzen agile Tools und Prozesse, um Code in der Cloud auszurollen, diesen zu integrieren und zu testen.

Man kann davon ausgehen, dass die DevOps-Entwickler ihre Lösungen in der Regel so sicher wie möglich ausrollen wollen. Sie benötigen allerdings eine in ihre Umgebung integrierte Sicherheit, nicht zusätzliche Hindernisse oder langsame, komplizierte Tools und Prozesse, die Skalierbarkeit und Geschwindigkeit bremsen.

Wichtige DevOps-Tools

Um das zu erreichen sollten Sicherheitsverantwortliche sich mit DevOps-Tools und ihrem Einsatz beschäftigen. Gängige Lösungen sind hier etwa Jenkins, Chef, Puppet, Salt, Ansible und GitHub. Sicherheitsteams müssen keine Experten für jedes einzelne Produkt werden, allerdings sollten ihnen die folgenden Punkte bewusst sein:

  • DevOps-Tools werden genutzt, um Code zu sichern und zu verwalten. Wenn Jenkins beispielsweise für eine Integration mit GitHub genutzt wird, müssen Sicherheitsteams wissen, wie Berechtigungen vergeben werden, welche Log-Dateien verfügbar sind, wie Code ein- oder ausgecheckt wird. Zudem sollte ein Scannen des Quelltextes erfolgen und eine Prüffunktion zum Einsatz kommen. Damit lässt sich sicherstellen, dass keine Geheimnisse oder kryptografische Schlüssel im Code ausgerollt werden.
  • Die Tools werden genutzt, um Serverkonfigurationen zu erstellen und zu verwalten, zudem ermöglichen sie das Orchestrieren von Deployments. Chef, Puppet und Ansible sind in vielen Umgebungen im Einsatz. Jede Lösung arbeitet mit einer eigenen Sprache und hat unterschiedliche Konfigurationsdateien. Sicherheitsteams müssen diese Dateien in ihre Überwachung und ihre Richtlinien integrieren. Glücklicherweise liefern die meisten Tools zur Konfiguration und Automatisierung bereits vordefinierte Templates und Vorgaben zum Richtlinien-Assessment. Diese lassen sich für Benchmarks und in Best Practices nutzen.
  • Die DevOps-Tools werden genutzt, um Zugangsdaten und Schlüssel zu speichern und zu verwenden. Normalerweise schreiben DevOps-Ansätze vor, dass solche sensiblen Informationen auf separaten Plattformen gespeichert werden, etwa mit Lösungen wie HashiCorp Vault oder Ansible Tower. Es ist sehr wichtig, diese Lösungen zu überwachen und den Zugriff zu diesen Daten kritisch zu kontrollieren. Sicherheitsteams sollten unabhängig Zugriff auf diese Systeme haben, um Audits durchzuführen und Logs in einem entfernten Repository zu speichern.

Sicherheitsteams sollten bereits beim Aufbau solcher Systeme einbezogen werden. Es ist notwendig, Konfigurationseinstellungen und Richtlinien zu definieren, die verwendete Werkzeuge integrieren. Es ist wahrscheinlich, dass diese Definitionen in den Formaten JavaScript Object Notation (JSON) oder YAML erzeugt werden. Beide sind relativ leicht zu erlernen.

Sobald eine Version des Server- und Anwendungs-Stacks freigegeben ist, sollten Sicherheitsteams eine nicht veränderbare Infrastruktur aufsetzen, über die Deployments ausgerollt werden und Änderungen danach ignoriert werden bis der nächste Software-Build definiert wird. Viele der bereits erwähnten DevOps-Tools unterstützen diese Funktionen nativ. Wenn die Serverkonfiguration beispielsweise über das Ansible Playbook erzeugt wird, erzeugt ein erneuter Durchlauf des Playbooks keine zusätzlichen Veränderungen oder Probleme.

Damit die Integration der Entwicklungs- und Deployment-Prozesse erfolgreich ist, sollte mindestens ein Mitglied des Sicherheitsteams den Großteil – wenn nicht sogar die komplette – Zeit dem DevOps-Team zugordnet sein und mit diesen Team-Mitgliedern arbeiten. Dieser Ansatz wird ab und zu DevSecOps genannt, er stellt sicher, dass Änderungen und Updates abgesichert sind, bevor der Code in Produktionsumgebungen oder Cloud-Umgebungen ausgerollt wird.

Die komplette Pipeline zum Ausrollen von Code ist allerdings nur eine Hälfte des Prozesses. Sicherheitsteams müssen zudem automatisierte Prozesse definieren, die Feedback zu den Systemen und Anwendungen in der Cloud liefern.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Die Sicherheit von DevOps in nur drei Schritten optimieren

So arbeiten DevOps und IT Security richtig zusammen

Mit DevOps Projekte für Cloud-Anwendungen verbessern

Das richtige DevOps-Konzept für mehr Sicherheit

Artikel wurde zuletzt im Juni 2017 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Cloud-Sicherheitsstandards

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close