Skip to main content

Diese Version von GitHub Enterprise Server wird eingestellt am 2026-03-17. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Bewährte Methoden zum Schützen Ihres Build-Systems

Leitfaden, wie du das Ende deiner Lieferkette schützen kannst, d. h. die Systeme, mit denen du Artefakte erstellst und verteilst.

Über diesen Leitfaden

Dieser Leitfaden beschreibt die Änderungen mit den größten Auswirkungen, die Sie vornehmen können, um die Sicherheit Ihres Build-Systems zu verbessern. In den einzelnen Abschnitten wird jeweils eine Änderung beschrieben, die du zur Verbesserung der Sicherheit an deinen Prozessen vornehmen kannst. Die Änderungen mit den größten Auswirkungen sind zuerst aufgeführt.

Welches Risiko besteht?

Einige Angriffe auf Softwarelieferketten zielen direkt auf das Build-System ab. Wenn ein Angreifer den Build-Prozess ändern kann, kann er dein System missbrauchen, ohne persönliche Konten oder Code kompromittieren zu müssen. Es ist wichtig, dass Sie nicht vergessen, sowohl das Build-System als auch persönliche Konten und Code zu schützen.

Schützen Ihres Build-Systems

Ein Build-System sollte über mehrere Sicherheitsfunktionen verfügen:

  1. Die Build-Schritte sollten klar und wiederholbar sein.

  2. Sie sollten genau wissen, was während des Build-Vorgangs ausgeführt wurde.

  3. Jeder Build sollte in einer neuen Umgebung beginnen, sodass ein kompromittierter Build nicht beibehalten wird, damit er keine zukünftigen Builds beeinflussen kann.

GitHub Actions kann dir helfen, diese Funktionen zu erfüllen. Build-Anweisungen werden zusammen mit Ihrem Code in Ihren Repository gespeichert. Du wählst aus, in welcher Umgebung dein Build ausgeführt wird, einschließlich Windows, Mac, Linux oder Runnern, die du selbst hostest. Jeder Build beginnt mit einem neuen Runner-Image, was es einem Angriff erschwert, in deiner Build-Umgebung zu überleben.

Neben den Sicherheitsvorteilen kannst du mit GitHub Actions Builds manuell, periodisch oder bei Git-Ereignissen in deinem Repository auslösen, sodass häufige und schnelle Builds möglich sind.

GitHub Actions ist ein umfangreiches Thema, aber für den Einstieg ist Grundlegendes zu GitHub Actions sowie Workflowsyntax für GitHub Actions und Auslösen eines Workflows ein guter Ausgangspunkt.

Signieren deines Builds

Sobald Ihr Build-Prozess sicher ist, sollten Sie verhindern, dass jemand das Endergebnis Ihres Build-Prozesses manipuliert. Eine gute Möglichkeit hierzu ist das Signieren deiner Builds. Wenn Software öffentlich verteilt wird, geschieht dies häufig mit einem öffentlichen/privaten kryptografischen Schlüsselpaar. Mit dem privaten Schlüssel signierst du den Build, und du veröffentlichst deinen öffentlichen Schlüssel, damit Benutzer deiner Software die Signatur auf dem Build überprüfen können, bevor sie sie verwenden. Wenn die Bytes des Builds geändert werden, wird die Signatur nicht bestätigt.

Wie genau du deinen Build signierst, hängt davon ab, welche Art von Code du schreibst, und wer deine Benutzer sind. Oft ist schwer zu entscheiden, wie der private Schlüssel sicher aufbewahrt werden kann. Eine grundsätzliche Möglichkeit ist die Verwendung verschlüsselter GitHub Actions-Geheimnisse, wobei du allerdings genau darauf achten musst, wer Zugriff auf diese GitHub Actions-Workflows hat. Wenn Ihr privater Schlüssel nur über ein privates Netzwerk zugänglich ist, ist eine weitere Option die Verwendung selbst-gehosteter Runner für GitHub Actions.

Weitere Informationen findest du unter Verwenden von Geheimnissen in GitHub-Aktionen und Selbstgehosteten Runnern.

Härten der Sicherheit für GitHub Actions

Du kannst viele weitere Schritte ausführen, um GitHub Actions zusätzlich zu schützen. Gehe insbesondere beim Evaluieren der Workflows von Drittanbietern sorgfältig vor, und erwäge die Verwendung von CODEOWNERS, um einzuschränken, wer Änderungen an deinen Workflows vornehmen kann.

Weitere Informationen findest du unter Referenz zur sicheren Verwendung und Referenz zur sicheren Verwendung.

Nächste Schritte

  •         [AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/end-to-end-supply-chain/securing-code)