DevOps

JFrog: Wie eine Software-Supply-Chain-Plattform bewährte DevOps-Verfahren optimiert

JFrog: Wie eine Software-Supply-Chain-Plattform bewährte DevOps-Verfahren optimiert

Von Harry Zorn, VP Security Strategy bei JFrog

Softwareentwickler haben heute weitaus mehr zu tun als nur zu programmieren.

Harry Zorn, VP Security Strategy bei JFrog

Um mit der schnelllebigen softwaregesteuerten Wirtschaft Schritt zu halten, müssen sie sich auf Automatisierung, Zusammenarbeit, Sicherheit, Verteilung, Datenanalyse und Agilität konzentrieren. Nur so kann die Qualität der Builds gewährleistet werden und die Releases schnell und sicher an die Kunden geliefert werden. DevOps- und Sicherheitsexperten benötigen ein zentrales System, das für Transparenz im gesamten Software-Lebenszyklus schafft. Und Entwickler benötigen eine vollständig integrierte, sichere Automatisierungsplattform, die jederzeit zur Verfügung steht. Nur so ist es möglich, die hohen Anforderungen in Sachen Geschwindigkeit sowie Sicherheit und Compliance zu erfüllen.

Was ist eine Software-Supply-Chain-Plattform?

Eine echte Software-Supply-Chain-Plattform geht über die Zentralisierung von DevOps-Best-Practices hinaus und sollte laut den Sicherheitsexperten von JFrog folgendes umfassen:

  • Sichere Verwaltung und Kontrolle der Erstellung, Verteilung und Automatisierung von Software-Updates in großem Umfang.
  • Hybride und Multi-Cloud-Umgebungen ohne Einbußen bei der Geschwindigkeit oder Verfügbarkeit.
  • Eine einzige, zentrale Protokollierung für die gesamte Software-Lieferkette, die vollständige Transparenz bietet.
  • Integrierte Sicherheitsfunktionen zur Identifizierung, zum Schutz und zur Behebung von Schwachstellen sowie zur Automatisierung von Prozessen zur Gewährleistung von Konsistenz und Nachvollziehbarkeit.
  • Ein universelles zentrales Repository für Builds und Binärdateien mit der Möglichkeit, aktuelle oder frühere Versionen zu liefern und nachzuverfolgen.
  • Sichere und gesetzeskonforme Bereitstellung von Tools, Prozessen, Artefakten und Repositories sowie vollständige Transparenz über die gesamte Software-Lieferkette.

Um Software vom Lieferanten zum Kunden zu bringen, benötigen Unternehmen eine Software-Supply-Chain-Plattform, die die Komplexität reduziert und Skalierbarkeit, Konsistenz und Zuverlässigkeit bietet. Jede Anwendung besteht aus Artefakten – Binärdateien, Abhängigkeiten, Images – die miteinander verbunden sind. Die Qualität dieser Software hängt von der Qualität der freizugebenden Assets ab, die in sie eingehen. Wenn die Artefakte über eine einheitliche End-to-End-Plattform verwaltet werden, können Unternehmen ihre Softwareentwicklungszyklen und bewährte Sicherheitsverfahren aufeinander abstimmen.

Automatisierung der Software-Lieferkette

Von der Entwicklung bis zur Bereitstellung erstellt, verfolgt und verwaltet eine Software-Supply-Chain-Plattform, die wertvollsten Assets (d. h. Software-Binärdateien) in jeder Phase der Softwareentwicklung – von der Open-Source-Kuration über den Build-Prozess bis hin zur Verwendung in der Produktion sowie Bereitstellung für Kunden. Dieser DevOps-Prozess dient als zentrales System für die Automatisierung der Verwaltung sicherer Software-Releases in großem Umfang. Unternehmen benötigen eine zuverlässige und sichere Lösung, die es ihnen ermöglicht, sowohl End-to-End-Automatisierungsworkflows als auch die Orchestrierung von Binärdateien zu überwachen und zu steuern. Eine solche Lösung bietet Unternehmen ein Höchstmaß an Transparenz und Sicherheit in ihrer gesamten Software-Lieferkette.

Kontrolle und Sicherung der Software-Lieferkette

Die Software-Stückliste (SBOM) ist zwar ein hervorragender Ausgangspunkt für die Gewährleistung der Sicherheit und der Einhaltung von gesetzlichen Vorgaben, doch die zusätzlichen Informationen, die nicht in der SBOM enthalten sind (d. h. das, was wir als SBOM++ bezeichnen), einschließlich der Metadaten, der kritischen Informationen zur Software-Lieferkette, der Abstammung der Komponenten sowie der Workstream-Informationen (d. h. Build Promotions, Genehmigungen und Ausnahmen), sind für Unternehmen am wertvollsten. Unternehmen müssen diese zusätzlichen Informationen erfassen, um die Sicherheit und Konformität ihrer Abläufe zu gewährleisten und die Effizienz der Software-Lieferkette insgesamt zu verbessern.

Um diese zusätzlichen Informationen zu sammeln, müssen Unternehmen in der Lage sein, ihre Software-Lieferkette zu verwalten und die Kontrolle über alle Software-Artefakte von einem einzigen Punkt aus zu ermöglichen. Eine sichere Plattform für die Software-Lieferkette ist eine Kombination aus Sicherheits- und Lieferkettenmanagement, die den Besitz von Integrations- und Punktlösungen überflüssig macht und reichhaltigere Daten, genauere Ergebnisse und einen umfassenden Kontext für risikobasierte Abhilfemaßnahmen liefert.

Transparenz, Sicherheit und automatisiertes Management

Eine Plattform für das sichere Management der Software-Lieferkette verfolgt und kontrolliert Software-Assets während des gesamten Entwicklungszyklus. Es ist ein zentrales System, das die Entwicklung von Applikationen bis hin zum Release in die Produktion steuert. Integrierte Sicherheitsfunktionen helfen dabei, Bedrohungen und Schwachstellen zu erkennen, zu priorisieren und zu beheben. Eine solche Plattform bietet ein zuverlässiges, automatisiertes, zentrales Management mit durchgängigen Prozessen für klare Sichtbarkeit, ganzheitliche Sicherheit und ein zentrales Logging und Monitoring für die sichere Verwaltung der Software-Lieferkette. Sie kann dafür sorgen, dass Assets auf Abruf, sicher, nachvollziehbar, manipulationssicher und mit hohem Durchsatz verfügbar sind. Dies umfasst die Verwaltung von Binärdateien, Container-Images, CI/CD-Pipelines, Sicherheit und Compliance sowie die Softwareverteilung bis hin zur Bereitstellung und Verteilung genau dorthin, wo sie benötigt werden. Wenn die Artefakte über eine zentrale Software-Supply-Chain Plattform verwaltet werden, kann das gesamte Unternehmen dieselben DevOps-Workflows, Richtlinien und Best Practices anwenden, die für Qualität und Sicherheit sorgen und die Geschwindigkeit der Softwareentwicklung beschleunigen.