Weitere Überlegungen zur Sicherheit

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Es gibt weitere Dinge, die Sie beim Sichern von Pipelines berücksichtigen sollten.

Vertrauen auf PATH

Es ist nicht ratsam auf die PATH-Einstellung des Agents zu vertrauen. Sie zeigt nicht auf das erwartete Ergebnis, da ein vorheriges Skript oder Tool sie geändert haben könnte. Verwenden Sie für sicherheitskritische Skripts und Binärdateien immer einen vollqualifizierten Pfad zum Programm.

Protokollierung von Geheimnissen

Azure Pipelines versucht, Geheimnisse nach Möglichkeit aus Protokollen zu bereinigen. Diese Filterung erfolgt nach bestem Bemühen und kann nicht jede Art und Weise abfangen, in der Geheimnisse aufgedeckt werden können. Geheimnisse sollten nicht an der Konsole ausgegeben, in Befehlszeilenparametern verwendet oder in Dateien protokolliert werden.

Sperren von Containern

Container verfügen über einige vom System bereitgestellte Volumebereitstellungszuordnungen in den Aufgaben, dem Arbeitsbereich und externen Komponenten, die für die Kommunikation mit dem Host-Agent erforderlich sind. Sie können keine oder alle diese Volumes als schreibgeschützt markieren.

resources:
  containers:
  - container: example
    image: ubuntu:22.04
    mountReadOnly:
      externals: true
      tasks: true
      tools: true
      work: false  # the default; shown here for completeness

Die meisten Personen markieren meist die ersten drei als schreibgeschützt und belassen work im Lese-/Schreibmodus. Wenn Sie wissen, dass Sie nicht in das Arbeitsverzeichnis in einem bestimmten Auftrag oder Schritt schreiben, dann ändern Sie den Status von work ebenfalls in schreibgeschützt. Wenn Aufgaben in Ihrer Pipeline vorhanden sind, die sich selbst ändern, sollten Sie tasks im Lese-/Schreibmodus belassen.

Steuern verfügbarer Aufgaben

Sie können die Möglichkeit zum Installieren und Ausführen von Aufgaben über den Marketplace deaktivieren. Dadurch haben Sie bessere Kontrolle über den Code, der in einer Pipeline ausgeführt wird. Sie können auch alle integrierten Aufgaben deaktivieren, mit Ausnahme von „Check-Out“, da dies eine besondere Aktion auf dem Agent ist. Es wird empfohlen, dass Sie in den meisten Fällen keine im Lieferumfang enthaltenen Aufgaben deaktivieren.

Aufgabe, die direkt unter tfx installiert sind, sind immer verfügbar. Wenn beide Features aktiviert sind, sind nur diese Aufgaben verfügbar.

Verwenden des Überwachungsdiensts

Viele Pipelineereignisse werden im Überwachungsdienst aufgezeichnet. Überprüfen Sie das Überwachungsprotokoll in regelmäßigen Abständen, um sicherzustellen, dass keine schädlichen Änderungen übersehen wurden. Hier finden Sie Informationen zum Einstieg: https://dev.azure.com/ORG-NAME/_settings/audit.

Nächste Schritte

Kehren Sie zur Übersicht zurück, und stellen Sie sicher, dass Sie jeden Artikel durchgearbeitet haben.