Entwerfen sicherer DevSecOps-Prozesse

Abgeschlossen

DevSecOps (Entwicklung, Sicherheit und Vorgänge) integriert Sicherheitspraktiken in jede Phase des Softwareentwicklungslebenszyklus. Die Cloud Adoption Framework (CAF) Secure-Methodik bietet strukturierte Anleitungen in sechs Phasen – Strategie, Plan, Bereit, Übernehmen, Verwalten und Verwalten – die direkt dem DevSecOps-Prozessdesign zugeordnet sind und mit dem Microsoft Cloud Security Benchmark (MCSB) für bestimmte technische Steuerelemente übereinstimmen. Als Cybersicherheitsarchitekt verwenden Sie diese bewährten Methoden, um die Sicherheit von den frühesten Entwicklungsphasen über Bereitstellung und Betrieb einzubetten.

Wie die CAF Secure-Methodik DevSecOps unterstützt

Die CAF Secure-Methodik ist in bezug auf die wichtigsten Sicherheitsprinzipien organisiert, die jeweils bestimmten DevSecOps-Praktiken zugeordnet sind:

  • Modernisierung des Sicherheitsstatus: Die kontinuierliche Erhöhung der Abwehr-, Erkennungs- und Resilienzfunktionen. Dieses Prinzip unterstützt den Shift-Left-Ansatz und die automatisierten Sicherheitskontrollen in CI/CD-Pipelines.
  • Bereitschaft und Reaktion auf Vorfälle: Proaktive Planung für das Erkennen, Enthalten und Wiederherstellen von Sicherheitsereignissen. Mit diesem Prinzip wird die Integration der Bedrohungserkennung und -reaktion in DevOps-Toolkette gestaltet.
  • CIA Triad: Vertraulichkeit, Integrität und Verfügbarkeit als grundlegende Anforderungen. Diese Prinzipien leiten Zugriffskontrollen, Codeintegritätsprüfungen und Bereitstellungssicherheit.
  • Erhaltung der Sicherheit: Der disziplinierte Zyklus der Messung, Verbesserung und Validierung der Kontrolleffizienz. Dieses Prinzip stellt sicher, dass DevSecOps-Prozesse kontinuierliche Verbesserungsschleifen umfassen.

Jede Phase baut auf der vorherigen auf: Strategie definiert Sicherheitsziele, Planung übersetzt sie in umsetzbare Kontrollen, Bereitschaft bereitet die Cloud Foundation vor, einführung implementiert Kontrollen in Entwicklungs- und Plattformpraktiken, Governance erzwingt diese durch Richtlinie und Management durch kontinuierliche Verbesserung.

Die CAF identifiziert DevSecOps auch als Komponente der Innovationssicherheit innerhalb ihrer Sicherheitsleitfaden in der Zielzone, die die Sichere Methodik ergänzt. In diesem Leitfaden wird ein vierstufiges Steuerelementmodell beschrieben:

  • Sichern Sie das Design: Bringen Sie Sicherheit in die Planungsphase durch Bedrohungsmodellierung, IDE-Sicherheits-Plug-Ins, Vorkommitieren von Hooks und Peer-Review.
  • Sichern Sie den Code: Implementieren Sie die Sicherheitsrisikoüberprüfung in zentralen Repositorys, um Risiken zu erkennen und Korrekturen durchzuführen.
  • Sichern Sie die Pipeline: Verwenden Sie Build- und Releasepipelines für Automatisierung und Standardisierung, um sicheren Code effizient bereitzustellen.
  • Sichere Vorgänge: Verwalten der Sicherheit in der Produktion mithilfe von Infrastrukturüberprüfungen und Penetrationstests.

Dieses vierstufige Modell ergänzt die Secure-Methodik und bietet ein umfassendes Framework zum Einbetten von Sicherheit in jeden Aspekt von DevSecOps.

Diagramm, das das vierstufige Modell für das Entwerfen eines DevSecOps-Prozesses zeigt, der sich an bewährte Methoden der sicheren Methode der CAF richtet.

Ausrichtung der Sicherheitsstrategie an DevSecOps-Zielen

Die Strategieleitfaden der Secure-Methodik stellen die strategische Ausrichtung für die Sicherheit in der Cloud-Einführung fest. Mehrere strategische Verpflichtungen gestalten direkt, wie Sie DevSecOps-Prozesse entwerfen.

Zero Trust als strategische Grundlage einführen

Die Strategieleitfaden empfehlen, Zero Trust als übergeordnete Sicherheitsstrategie zu übernehmen, die auf drei Prinzipien basiert, die direkt DevSecOps-Designentscheidungen zugeordnet sind:

  • Explizit überprüfen: Immer authentifizieren und autorisieren, basierend auf allen verfügbaren Datenpunkten. In DevSecOps bedeutet dies, dass eine Identitätsüberprüfung für jede Pipelineaktion, für jeden Code commit und für die Bereitstellung erforderlich ist.
  • Verwenden Sie die geringsten Berechtigungen: Beschränken Sie den Benutzer- und Dienstzugriff mit Just-in-Time- und Just-enough-Zugriffsrichtlinien. Dieses Prinzip steuert, wie Sie den Umfang von Entwicklerberechtigungen, Dienstidentitäten und Pipeline-Zugriffssteuerungen festlegen.
  • Gehen Sie von einem Sicherheitsverstoß aus: Minimieren Sie den Einflussbereich und segmentieren Sie den Zugriff. Dieses Prinzip informiert Sie, wie Sie Pipelineumgebungen isolieren, Codesignaturen erzwingen und Designeindämmungsverfahren für kompromittierte Komponenten implementieren.

Durch die Festlegung dieser Prinzipien auf Strategieebene erstellen Sie ein konsistentes Framework, das jede nachfolgende DevSecOps-Entwurfsentscheidung leitet.

Definieren von Integritäts- und Automatisierungsverpflichtungen

Die Integritätsstrategie der Secure-Methodik hebt die Automatisierung für die Richtlinienverwaltung, die Datenklassifizierung, die Infrastrukturbereitstellungen und die Updateverwaltung hervor. Wenn Sie sich für die Automatisierung als strategisches Ziel verpflichten, legen Sie die Erwartung fest, dass manuelle Sicherheitstore durch automatisierte Steuerelemente ersetzt werden, die in CI/CD-Pipelines eingebettet sind– einschließlich automatisierter Codeüberprüfungen, Complianceprüfungen, Bereitstellungsüberprüfungen und Reaktion auf Vorfälle.

Die Strategie zur Erhaltung der Sicherheit stellt eine kontinuierliche Verbesserung als organisatorische Verpflichtung her, um sicherzustellen, dass DevSecOps-Prozesse Feedbackschleifen, Metriknachverfolgung und regelmäßige Haltungsüberprüfungen umfassen, anstatt die Sicherheit als einmalige Implementierung zu behandeln.

Planen der Sicherheit im Entwicklungslebenszyklus

Der Planungsleitfaden für sichere Methoden übersetzt strategische Ziele in umsetzbare Sicherheitspläne, die den DevSecOps-Prozessentwurf gestalten.

Einplanen von Zero Trust über Technologiebereiche hinweg

Die Planungsleitlinie strukturiert die Zero Trust-Einführung über sieben Technologiepfeiler hinweg. Jede Säule ist bestimmten DevSecOps-Steuerelementen zugeordnet, die Sie vor Beginn der Einführung planen sollten:

  • Identität: Planen Sie für starke Authentifizierung und Zugriff mit den geringsten Rechten auf DevOps-Plattformen und CI/CD-Systeme.
  • Endpunkte: Planen der Sicherung von Entwicklerarbeitsstationen und Build-Agents, die mit Code- und Bereitstellungsumgebungen interagieren.
  • Daten: Planen des Schutzes vertraulicher Daten in Repositorys, Konfigurationsdateien und Bereitstellungsartefakten.
  • Apps: Planen Sie die Sicherung der von Entwicklungsteams erstellten Anwendungen und Dienste.
  • Infrastruktur: Planen Sie die Sicherung der Cloudinfrastruktur durch Infrastruktur als Code (IaC) Standards und Bereitstellungsrichtlinien.
  • Netzwerk: Planen der Netzwerksegmentierung, der Datenverkehrsüberprüfung und der Verschlüsselung über Entwicklungs- und Produktionsumgebungen hinweg.
  • Sichtbarkeit, Automatisierung und Orchestrierung: Planen Sie Betriebsrichtlinien, die Zero Trust-Prinzipien durch automatisierte Überwachung und Reaktion erzwingen.

Standardisieren von Entwicklungs- und Betriebspraktiken

Der Planungsleitfaden empfiehlt die Standardisierung von Entwicklungstools und -praktiken, um sicherzustellen, dass Bereitstellungen die CIA Triad einhalten und sichere Bereitstellungsmethoden integrieren. Für DevSecOps bedeutet dies die Definition erzwingbarer Standards für:

  • Workflows zur Quellcodeverwaltung und Verzweigungsstrategien
  • Build- und Release-Pipeline-Konfigurationen
  • Prüfanforderungen und Qualitätskontrollen
  • Bereitstellungsmuster und Rollback-Verfahren

Durch die Standardisierung wird die Konfigurationsabweichung reduziert und sichergestellt, dass Sicherheitskontrollen für alle Projekte und Teams einheitlich angewendet werden. In der Planphase wird außerdem empfohlen, operative Tools und Praktiken zu standardisieren, damit Die Betreiber die Vertraulichkeit, Integrität und Verfügbarkeit in allen Umgebungen konsistent beibehalten.

Einen Sicherheitsbasisplan aufstellen

Vor der Einführung neuer DevSecOps-Steuerelemente empfiehlt die Secure-Methode, Ihren aktuellen Sicherheitsstatus zu verstehen. Verwenden Sie automatisierte Tools wie Microsoft Secure Score, um einen messbaren Basisplan einzurichten. Dieser Basisplan bietet einen Referenzpunkt zur Nachverfolgung von Verbesserungen, zur Priorisierung, welche DevSecOps-Kontrollen zuerst implementiert werden sollen, und zur Messung der Auswirkungen jeder Verbesserung.

Die Cloud-Grundlage für sichere Entwicklung vorbereiten

Die Ready-Anleitung der Secure-Methodik konzentriert sich auf die Erstellung Ihrer Cloud Foundation über Azure-Zielzonen – das sichere, skalierbare, modulare Designmuster, das als Ausgangspunkt für die Implementierung dient. In dieser Phase wird die Planung und Einführung durch die Einrichtung der grundlegenden Mechanismen für Infrastruktur, Identität und Integrität überbrückt, auf die sich die DevSecOps-Kontrollen stützen.

Bauen Sie die Grundlage mit Azure-Landezonen auf

Die Ready-Anleitung positioniert Azure-Landezonen als primären Mechanismus für die Vorbereitung Ihrer sicheren Cloud-Umgebung:

  • Standardisierte Architektur: Landungszonen trennen Domänen wie Entwicklung, Staging und Produktion in verwaltete Umgebungen mit konsistenten Sicherheitskontrollen, um sicherzustellen, dass Build-Agents, Bereitstellungspipelines und Entwicklerarbeitsstationen mit entsprechender Isolation funktionieren.
  • Infrastruktur als Codebereitstellung: Bereitstellen von Zielzonen über IaC in CI/CD-Pipelines und Anwenden der gleichen sicheren Bereitstellungsmethoden, die für Softwarebereitstellungen verwendet werden.
  • Landing Zone-Beschleuniger: Verwenden Sie vorgefertigte, workloadspezifische Bereitstellungen für Dienste wie Azure Kubernetes Service (AKS) und Azure API Management als sicherheitskonforme Ausgangspunkte.
  • Designbereichsabdeckung: Auch wenn Sie keine vollständige Zielzone für Unternehmen einführen, verstehen Sie die Designbereiche (Identität, Netzwerk, Governance, Sicherheit und andere) und implementieren Sie Steuerelemente für jeden Bereich.

Einrichten der Identitäts- und Netzwerkbereitschaft

Implementieren Sie Zero Trust-Identitätskontrollen als Teil der Grundlage Ihrer Zielzone, bevor die Workloadbereitstellung beginnt:

  • Identitätssteuerelemente: Konfigurieren von RBAC, mehrstufigeR Authentifizierung (MFA) und Richtlinien für bedingten Zugriff für Entwicklerkonten, Build-Agents und Pipelinedienstidentitäten.
  • Netzwerksegmentierung: Entwerfen Sie die Netzwerkarchitektur mithilfe virtueller Netzwerke, Subnetze und Netzwerksicherheitsgruppen, um Entwicklungs-, Build- und Produktionsumgebungen zu trennen und den Strahlradius zu minimieren, wenn eine Pipelinekomponente kompromittiert wird.

Vorbereiten der Systemintegrität und -überwachung

Bereiten Sie Ihr Design für die Zielzone mit automatisiertem Management und Überwachung vor:

  • Konfiguration und Patchverwaltung: Automatisieren sie die Konfigurationsverwaltung und codieren Sie Updateverwaltungsrichtlinien.
  • Sicherheitsüberwachung: Wählen Sie SIEM- und Bedrohungserkennungstools aus, um die zentrale Sichtbarkeit zu gewährleisten.
  • Datenklassifizierung: Richten Sie Datenklassifizierungsframeworks für die Verarbeitung geheimer Schlüssel in Repositorys ein.

Einführung sicherer Entwicklungs- und Plattformpraktiken

Die Einführung ist die umfassendste Phase für DevSecOps. Der Leitfaden zur Einführung der sicheren Methode befasst sich mit der Implementierung von Sicherheitskontrollen für Entwicklungsworkflows, Plattforminfrastruktur, CI/CD-Pipelines und Reaktion auf Vorfälle.

Modernisierung der Körperhaltung

Die Modernisierung der Sicherheitslage beginnt mit der Einrichtung von Basislinien und der Automatisierung von Kontrollen.

  • Operationalisieren Sie Ihre Sicherheitsgrundwerte: Wenden Sie den während der Planung festgelegten Basisplan als Standard an, mit dem alle Entwicklungsumgebungen und Pipelinekonfigurationen gemessen werden. Verwenden Sie Tools zur Bewertung von Sicherheitsstatus, um den Fortschritt nachzuverfolgen und Umsetzbare Empfehlungen zu generieren.
  • Nutzen Sie Automatisierung: Verwenden Sie IaC-Tools mit deklarativen Vorlagen, die in CI/CD-Pipelines für Infrastrukturbereitstellungen, Tests, Überwachung und Skalierung integriert sind. Die Automatisierung reduziert das Risiko von menschlichem Fehler und verbessert die Konsistenz in allen Umgebungen.

Shift-Left-Sicherheit

Der Shift-Left-Ansatz verlagert die Sicherheit von der End-of-Development-Prüfung hin zur kontinuierlichen Integration im gesamten Lebenszyklus.

Herkömmlicher Ansatz Shift-Left-Strategie
Sicherheitsüberprüfung bei Veröffentlichung Bedrohungsmodellierung während der Planung
Manuelle Sicherheitstests Automatisierte Sicherheitsüberprüfung in CI
Wartung in der Produktion Behebung von Sicherheitsschwachstellen während der Entwicklung
Sicherheit als Tor Sicherheit als kontinuierliches Feedback

Das Verschieben nach links erzeugt stabileren Code und löst Probleme frühzeitig, wenn sie einfacher und kostengünstiger zu beheben sind.

Sichern der DevOps-Plattform

Eine kompromittierte DevOps-Plattform untergräbt alle anderen Sicherheitskontrollen, sodass die Plattformhärtung ein wichtiger Bestandteil der Einführung ist.

  • Anwendung des Prinzips des geringstmöglichen Zugriffs: Verwenden Sie RBAC durch einen zentralen Identitätsanbieter, das Berechtigungsmanagement für zeitlich begrenzten Entwicklerzugriff und just-in-time privilegierten Zugriff für Plattformadministrator-Rollen. Verwalten Sie Plattformrollenzuweisungen über zentralisierte Identitätsgruppenmitgliedschaften.
  • Code und Umgebungen schützen: Einschränken des Repository-Zugriffs mit Sicherheitsgruppen, Zweigberechtigungen festlegen und Code-Überprüfungen von sicherheitsbewussten Gutachtern verlangen, bevor in geschützte Zweige zusammengeführt wird. Erwägen Sie das Deaktivieren der Berechtigungsvererbung, um eine unbeabsichtigte Zugriffseskalation zu verhindern.
  • Verwenden Sie Workload-Identitätsverbund für automatisierte Bereitstellungen: Verwenden Sie niemals Benutzerkonten. Erstellen Sie separate Identitäten pro Anwendung und Umgebung, bereichsberechtigungen nur für die erforderlichen Cloudabonnements oder Ressourcengruppen, und speichern Sie alle geheimen Schlüssel in einer dedizierten Verwaltungslösung. Stellen Sie Identitäten und Verbundanmeldeinformationen über IaC in einem sicheren Abonnementverkaufsprozess bereit.

Implementieren von Sicherheitskontrollen für CI/CD-Pipelines

Der Microsoft Cloud Security Benchmark (MCSB) definiert Sicherheitskontrollen für CI/CD-Pipelines. Entwerfen Sie Ihre Pipelines, um diese Steuerelemente in jeder Phase zu implementieren:

  • Statische Anwendungssicherheitstests (Static Application Security testing, SAST): Integrieren Sie Quellcodeanalyse, binäre Analyse und Tools für die Überprüfung von Anmeldeinformationen als Gating-Steuerelemente, die verhindern, dass anfällige Pakete committet, erstellt oder bereitgestellt werden.
  • Dynamische Anwendungssicherheitstests (DAST): Integrieren Sie Laufzeitanwendungstests und automatisierte Penetrationstests in Ihren CI/CD-Workflow.
  • Software-Lieferkettensicherheit: Verwenden Sie Abhängigkeitsscantools zum Inventarisieren von Sicherheitsrisiken, automatisierte Updatetools zum Aktualisieren von Abhängigkeiten und CSPM-Lösungen (Cloud Security Posture Management), um anfällige Containerimages zu identifizieren.
  • Infrastruktur als Code-Sicherheit: Platzieren Sie IaC-Ressourcen zusammen mit Anwendungscode, verwenden Sie CSPM, um Fehlkonfigurationen in Vorlagen zu entdecken, und konfigurieren Sie verwaltete Bereitstellungsumgebungen mit kuratierten, sicherheitskonformen Vorlagen.

Verwenden Sie Bereitstellungsverwaltungsfeatures, um Cloudressourcen als einzelne zusammenhängende Einheit zu verwalten, und verwenden Sie Verweigerungseinstellungen, um nicht autorisierte Änderungen zu verhindern.

Vorbereiten auf Vorfälle

Ein gut durchdachter DevSecOps-Prozess umfasst integrierte Funktionen zum Erkennen, Reagieren und Wiederherstellen von Sicherheitsvorfällen:

  • Bedrohungserkennung: Implementieren Sie erweiterte Erkennungs- und Reaktionslösungen (Extended Detection and Response, XDR) und SIEM-Lösungen, die in Ihre DevOps-Toolkette integriert sind. XDR-Lösungen bieten automatisierte Untersuchungs- und Antwortfunktionen, die die Reaktionszeit reduzieren.
  • Schwachstellenmanagement: Verwenden Sie die Patchverwaltungs- und Überwachungstools, die im Rahmen der Vorbereitungsphase zur risikobasierten Bewertung, Priorisierung und Behebung von Schwachstellen eingerichtet wurden.
  • Reaktion auf Vorfälle: Entwickeln und verwalten Sie einen Plan zur Reaktion auf Vorfälle, der Erkennungs-, Analyse- und Wartungsschritte umfasst. Automatisieren Sie Eindämmungsaktionen durch koordinierte Workflows.
  • Wiederherstellungsprozeduren: Entwerfen Sie Pipelines, die schnell sicheren, validierten Code bereitstellen können, um sich von Vorfällen wiederherzustellen. Automatisieren Sie Wiederherstellungsaktivitäten so weit wie möglich, um die mittlere Zeit für die Wiederherstellung zu reduzieren.

Steuern Sie DevSecOps mit Richtliniendurchsetzung

Der Leitfaden zur Governance der sicheren Methodik betont die richtliniengesteuerte Governance als unerlässlich, um die Sicherheit in DevSecOps-Prozessen aufrechtzuerhalten. Governance gewährleistet eine konsistente Implementierung, indem Richtlinien einmal definiert und automatisch angewendet werden.

Policy-as-Code

Entwerfen Sie DevSecOps-Prozesse, die Governance durch Automatisierung erzwingen:

  • Verwenden Sie Cloudrichtlinienerzwingungstools, um organisatorische Standards zu erzwingen und die Compliance in verschiedenen Bereitstellungen zu bewerten.
  • Verwenden Sie CSPM-Sicherheitsrichtlinien, um die Einhaltung von Sicherheitsstandards zu automatisieren.
  • Definieren Sie Richtlinien, die die Bereitstellung nicht kompatibler Infrastruktur blockieren. Dadurch wird sichergestellt, dass Sicherheitsanforderungen zum Zeitpunkt der Bereitstellung erzwungen werden, anstatt im Nachhinein entdeckt zu werden.
  • Automatisieren Sie die Governance von Infrastrukturbereitstellungen, Absicherungsmaßnahmen, Datenschutz und Identitätsverwaltungsstandards.

Kontinuierliche Complianceüberwachung

Die Governanceanleitung empfiehlt auch eine automatisierte Complianceüberwachung, die Echtzeiteinblicke und Warnungen bietet:

  • Verfolgen Sie Sicherheitsbewertungen in Ihrer CSPM-Lösung zur Quantifizierung von Lücken.
  • Automatisieren Sie die Abweichungserkennung durch Richtlinien, Konfigurationsgrundlagen und Bereitstellungspipelines.
  • Überprüfen Sie Überwachungsprotokolle regelmäßig. Streamen Sie DevOps-Plattformüberwachungsprotokolle zu einer zentralen SIEM-Lösung für langfristige Speicherung und Korrelation.

Aufrechterhalten der Sicherheit in DevSecOps-Vorgängen

Der Leitfaden zur Verwaltung der sicheren Methodik stellt sicher, dass die in früheren Phasen angenommenen und geregelten Sicherheitskontrollen im Laufe der Zeit wirksam bleiben. Entwerfen Sie DevSecOps-Prozesse, die kontinuierliche Verbesserung unterstützen. Beispiele sind:

  • Sicherheitsrisikoverwaltung: Integrieren Sie Sicherheitsrisiken direkt in Entwicklungsrückstände, sodass die Behebung auf standardmäßige Sprintworkflows folgt und Risikobewertungen kontinuierlich nachverfolgt werden.
  • Threat Intelligence-Integration: Verwenden Sie die MITRE ATT&CK-Knowledge Base, um Bedrohungsmodelle zu entwickeln und Sicherheitstests zu informieren. Verwenden Sie die Ergebnisse von Vorfall-Retrospektiven und Bedrohungsanalyse für die Backlog-Verfeinerung, damit Anpassungen der Sicherheitsposition im Einklang mit den Verhaltensweisen aktueller Bedrohungen stehen.
  • Sicherheitsmetriken: Verfolgen Sie Metriken wie die mittlere Zeit zur Erkennung (MTTD), Sicherheitsbewertungstrends und Sicherheitsabdeckung. Verwenden Sie diese Metriken, um die Priorisierung des Backlogs voranzutreiben und die Sicherheitsverbesserung für die Projektbeteiligten zu demonstrieren.
  • Systemintegritätsüberwachung: Erzwingen von Infrastrukturänderungen nur über IaC und genehmigte Bereitstellungsprotokolle. Untersuchen Sie Änderungen außerhalb genehmigter Protokolle sofort.