Share via


Sichern der DevOps-Plattformumgebung für Zero Trust

Dieser Artikel hilft Ihnen als DevOps-Teammitglied, das Zero Trust-Prinzip der geringsten Rechte zu implementieren und die DevOps-Plattformumgebung zu schützen. Es enthält Inhalte aus unserem eBook Schützen von Enterprise DevOps-Umgebungen und hebt bewährte Methoden für die Geheimnis- und Zertifikatverwaltung hervor.

Moderne Unternehmen verlassen sich bei der Bereitstellung auf DevOps-Plattformen, einschließlich Pipelines und Produktionsumgebungen, die Entwickler benötigen, um produktiv zu sein. In der Vergangenheit berücksichtigten die Methoden der Anwendungssicherheit nicht die erhöhte Angriffsfläche, die heutige Pipelines und Produktionsumgebungen bieten. Da Hacker nach links wechseln und auf Upstream-Tools abzielen, benötigen Sie innovative Ansätze, um Ihre DevOps-Plattformumgebungen zu sichern.

Beachten Sie im folgenden Diagramm, dass die DevOps-Plattformumgebung eine Verbindung mit der Anwendungsumgebung und mit kontinuierlichen Integrations- und Übermittlungspipelineerweiterungen (CI/CD) herstellt.

Das Diagramm veranschaulicht DevOps-Plattformumgebungen und Sicherheitsbedrohungen wie im oben verlinkten eBook beschrieben und in verwandten Artikeln zusammengefasst, die hier verlinkt sind.

CICD-Pipelineerweiterungen bieten Hackern Möglichkeiten, sich an Berechtigungseskalationen aus der Anwendungsumgebung zu beteiligen. Erweiterungen und Integrationen erhöhen Angriffsflächenrisiken. Es ist wichtig, sich vor Bedrohungen durch Malware zu schützen.

Wie und warum Angreifer auf Pipelines abzielen

Pipelines und Produktionsumgebungen können unabhängig von standardmäßigen Anwendungssicherheitspraktiken und -prozessen sein. Sie erfordern in der Regel allgemeine Zugriffsanmeldeinformationen, die einen umfassenden und aussagekräftigen Zugriff auf Angreifer ermöglichen können.

Während Angreifer neue Möglichkeiten finden, Systeme zu kompromittieren, umfassen die am häufigsten verwendeten Angriffsvektoren für Pipelines:

  • Extrahieren von Laufzeitvariablen und Argumenteinfügung.
  • Skripts, die Dienstprinzipien oder Anmeldeinformationen aus Pipelines abrufen.
  • Falsch konfigurierte persönliche Zugriffstoken, mit denen jeder mit dem Schlüssel auf die DevOps-Plattformumgebung zugreifen kann.
  • Sicherheitsrisiken und Fehlkonfigurationen in integrierten Drittanbietertools, die Zugriff auf den Code anfordern (häufig nur Leserechte, aber manchmal auch Schreibrechte). Integrierte Tools können Testframeworks, statische Anwendungssicherheitstests (SAST) und dynamische Anwendungssicherheitstests (DAST) umfassen.

Bewährte Methoden für die Geheimnis- und Zertifikatverwaltung

Die Vermeidung eines katastrophalen Verstoßes kann so einfach wie eine effektive Geheimnisverwaltung sein. Das folgende Diagramm veranschaulicht ein Beispiel für effektive Geheimnis-, Kennwort-, Zugriffstoken- und Zertifikatverwaltung.

Das Diagramm veranschaulicht die geheime und Zertifikatverwaltung wie unten beschrieben.

Wie im obigen Diagramm gezeigt, startet der Entwickler einen Build für eine Kundenanfrage. GitHub startet dann einen Runner mit der Rollen-ID und Geheimnis-ID einer Vault-App-Rolle. Die vertrauenswürdige Entität fordert regelmäßig eine neue geheime ID aus dem Tresor an und ruft die geheime GitHub-Geheim-ID von GitHub ab. Der Tresor verwendet die GitHub Geheimnis-Rollen-ID und die geheime ID, um sich anzumelden und Code-Signatur-Zugriff zu erhalten. Der Runner passt die mobile App an und signiert sie mit Code.

Die folgenden bewährten Methoden helfen Ihnen, ein sicheres Setup zu erstellen, das Geheimnis- und Parameterexposition minimiert.

  • Stellen Sie in jeder Phase des Anwendungslebenszyklus sicheren Speicher für geheime Schlüssel und Zertifikate bereit. Entwickeln Sie immer so, als ob es sich um ein Open-Source-Projekt handelt. Stellen Sie sicher, dass Teams geheime Schlüssel in Schlüsseltresoren statt im Code oder in Teamumgebungen speichern. Verwenden Sie den Clouddienst von Azure-Schlüsseltresor zum sicheren Speichern und Zugreifen auf Geheimnisse.
  • Konfigurieren Sie Azure, um GitHub OIDC als Verbundidentität zu vertrauen. Mit OpenID Connect (OIDC) können Ihre GitHub Actions-Workflows auf Ressourcen in Azure zugreifen, ohne dass die Azure-Anmeldeinformationen als langlebige GitHub-Geheimnisse gespeichert werden müssen.

Weitere bewährte Methoden für die Sicherheit von DevOps-Umgebungen

Zum Schutz vor Sicherheitsvorfällen finden Sie unten weitere bewährte Methoden, um Ihre DevOps-Plattformumgebungen zu stärken. Finden Sie eine ausführliche Erläuterung dieser Empfehlungen in unserem eBook Sichern von Enterprise DevOps-Umgebungen.

  • Statten Sie jede DevOps-Plattformumgebung mit Überwachungspfaden aus.Überprüfen Sie Überwachungsprotokolle, um nachzuverfolgen, wer Zugriff erhalten hat, welche Änderung vorgenommen wurden sowie Datum/Uhrzeit für jedes aktive System. Fügen Sie insbesondere DevOps-Plattformen mit CI/CD-Pipelines hinzu, die in die Produktion fließen. Überwachungspfade für DevOps-Tools bieten robuste Möglichkeiten, Bedrohungen schneller zu beheben, verdächtige Aktivitäten zu finden und zu melden, um mögliche Verstöße oder Sicherheitsrisiken zu finden und potenziellen Daten- oder Rechtemissbrauch zu erkennen. Stellen Sie sicher, dass präzise Kontroll- und Überwachungspfade in jeder Umgebung verfügbar sind.
  • Sichern der Softwarelieferkette. Mit jeder Bibliothek, die Sie in Ihre Codebasis integrieren, erweitern Sie die Software-Lieferkette und übernehmen Abhängigkeiten von Open-Source-Projekten oder -Tools. Entfernen Sie vorsichtig unnötige Bibliotheken und Open-Source-Komponenten, um die Angriffsfläche Ihrer Software-Lieferkette zu reduzieren.
  • Automatisieren der Überprüfung von Infrastructure-as-Code (IaC)-Vorlagen. Mit IaC-Umgebungen ist es einfach, nach Fehlkonfigurationen, Complianceüberwachungen und Richtlinienproblemen zu suchen. Durch die Implementierung von Complianceprüfungen und Zugriffskontrollen wird der Sicherheitsstatus Ihrer gesamten Infrastruktur erhöht. Überprüfen Sie die Sicherheit von Drittanbieter-Toolintegrationen, die Automatisierungssystemanforderungen erfüllen.
  • Genehmigungsworkflows automatisieren Damit ein Genehmigungsworkflow Codes in die Produktion überträgt, müssen bestimmte automatische oder manuelle Überprüfungen die Sicherheit, den geschäftlichen Wert, den Status und die Qualität jeder Anforderung bestätigen. Diese Prüfungen funktionieren als Tor zwischen Entwicklung und Produktion, um Denial-of-Service-Angriffe und Hacker zu verhindern, die Code in Produktionsumgebungen einfügen, ohne eine Warnung zu kennzeichnen oder auszulösen.
  • Lassen Sie nur überprüfte DevOps Tool Integrations zu. Wie in Entwicklerumgebungen enthalten DevOps-Tools Erweiterungen und Integrationen, um das DevOps-Team effizient und sicher zu machen. Vergewissern Sie sich, dass überprüfte Integrationen die geringsten Berechtigungen erfordern, die für die Ausführung ihrer Arbeit möglich sind. Implementieren Sie den geringsten Berechtigungszugriff, wenn möglich, und stellen Sie sicher, dass die richtige Ebene von Lese-/Schreibberechtigungen besteht. Erfahren Sie, wie Sie GitHub Actions für Ihre Organisation deaktivieren oder einschränken.

Nächste Schritte

  • Wenn Sie die Entwicklerumgebung schützen, können Sie Zero-Trust-Prinzipien in Ihren Entwicklungsumgebungen mit bewährten Methoden für geringste Berechtigungen, Verzweigungssicherheit und vertrauenswürdige Tools, Erweiterungen und Integrationen implementieren.
  • Wenn Sie Zero-Trust-Sicherheit in Ihren Entwicklerworkflow einbetten, können Sie schnell und sicher Innovationen umsetzen.
  • Das Schützen von DevOps-Umgebungen für Zero Trust beschreibt bewährte Methoden zum Sichern Ihrer DevOps-Umgebungen mit einem Zero-Trust-Ansatz, um Hacker daran zu hindern, Entwicklerfelder zu gefährden, Freigabepipelines mit bösartigen Skripts zu infizieren und Zugriff auf Produktionsdaten über Testumgebungen zu erhalten.
  • Implementieren Sie Zero-Trust-Prinzipien, wie in Memorandum 22-09 beschrieben (zur Unterstützung der US-Executive Order 14028, Improving the Nation's Cyber Security) mithilfe von Microsoft Entra ID als zentralisiertes Identitätsverwaltungssystem.
  • Beschleunigen und sichern Sie Ihren Code mit Azure DevOps mit Tools, mit denen Entwickler den schnellsten und sichersten Code für die Cloudumgebung erhalten.