Freigeben über


Überprüfen Ihres verbundenen GitHub-Repositorys oder Azure DevOps-Projekts

Sie können Microsoft Security DevOps einrichten, um Ihr verbundenes GitHub-Repository oder Azure DevOps-Projekt zu scannen. Verwenden Sie eine GitHub-Aktion oder eine Azure DevOps-Erweiterung, um Microsoft Security DevOps nur auf Ihrem Infrastructure as Code (IaC)-Quellcode auszuführen und die Laufzeit Ihrer Pipeline zu reduzieren.

Dieser Artikel zeigt Ihnen, wie Sie eine Vorlage für eine YAML-Konfigurationsdatei anwenden, um Ihr verbundenes Repository oder Projekt mithilfe von Microsoft Security DevOps-Regeln gezielt auf IaC-Sicherheitsprobleme zu überprüfen.

Voraussetzungen

  • Für Microsoft Security DevOps richten Sie die GitHub-Aktion oder die Azure DevOps-Erweiterung basierend auf Ihrem Quellcode-Verwaltungssystem ein:
  • Stellen Sie sicher, dass Sie über eine IaC-Vorlage in Ihrem Repository verfügen.

Einrichten und Ausführen einer GitHub-Aktion zum Scannen Ihres verbundenen IaC-Quellcodes

So richten Sie eine Aktion ein und sehen sich die Scanergebnisse in GitHub an:

  1. Bei GitHub anmelden.

  2. Wechseln Sie zur Hauptseite Ihres Repositorys.

  3. Wählen Sie im Dateiverzeichnis .github>workflows>msdevopssec.yml aus.

    Weitere Informationen zum Arbeiten mit einer Aktion in GitHub finden Sie unter Voraussetzungen.

  4. Wählen Sie Diese Datei bearbeiten (das Bleistift-Symbol) aus.

    Screenshot, der das Symbol „Diese Datei bearbeiten“ für die „msdevopssec.yml“-Datei hervorgehoben.

  5. Fügen Sie im Abschnitt Analysetool ausführen der YAML-Datei diesen Code hinzu:

    with:
        categories: 'IaC'
    

    Hinweis

    Bei Werten wird zwischen Groß- und Kleinschreibung unterschieden.

    Ein Beispiel:

    Screenshot der Informationen, die der YAML-Datei hinzugefügt werden sollen

  6. Wählen Sie Änderungen committen . . . aus.

  7. Wählen Sie Commit changes (Änderungen committen) aus.

    Screenshot, der zeigt, wo das Committen der Änderung auf der GitHub-Seite ausgewählt wird.

  8. (Optional:) Fügen Sie Ihrem Repository eine IaC-Vorlage hinzu. Wenn Sie bereits über eine IaC-Vorlage im Repository verfügen, überspringen Sie diesen Schritt.

    Committen Sie beispielsweise eine IaC-Vorlage, die Sie verwenden können, um eine einfache Linux-Webanwendung bereitzustellen.

    1. Wählen Sie die Datei azuredeploy.json.

      Screenshot des Speicherorts der Datei „azuredeploy.json“.

    2. Klicken Sie auf Raw (Roh).

    3. Kopieren Sie alle Informationen in der Datei, wie im folgenden Beispiel:

      {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
          "webAppName": {
            "type": "string",
            "defaultValue": "AzureLinuxApp",
            "metadata": {
              "description": "The base name of the resource, such as the web app name or the App Service plan."
            },
            "minLength": 2
          },
          "sku": {
            "type": "string",
            "defaultValue": "S1",
            "metadata": {
              "description": "The SKU of the App Service plan."
            }
          },
          "linuxFxVersion": {
            "type": "string",
            "defaultValue": "php|7.4",
            "metadata": {
              "description": "The runtime stack of the current web app."
            }
          },
          "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
              "description": "The location for all resources."
            }
          }
        },
        "variables": {
          "webAppPortalName": "[concat(parameters('webAppName'), '-webapp')]",
          "appServicePlanName": "[concat('AppServicePlan-', parameters('webAppName'))]"
        },
        "resources": [
          {
            "type": "Microsoft.Web/serverfarms",
            "apiVersion": "2020-06-01",
            "name": "[variables('appServicePlanName')]",
            "location": "[parameters('location')]",
            "sku": {
              "name": "[parameters('sku')]"
            },
            "kind": "linux",
            "properties": {
              "reserved": true
            }
          },
          {
            "type": "Microsoft.Web/sites",
            "apiVersion": "2020-06-01",
            "name": "[variables('webAppPortalName')]",
            "location": "[parameters('location')]",
            "kind": "app",
            "dependsOn": [
              "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]"
            ],
            "properties": {
              "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
              "siteConfig": {
                "linuxFxVersion": "[parameters('linuxFxVersion')]"
              }
            }
          }
        ]
      }
      
    4. Wechseln Sie in Ihrem GitHub-Repository zum Ordner .github/workflows.

    5. Wählen Sie Datei hinzufügen>Neue Datei erstellen aus.

      Screenshot, der zeigt, wie eine neue Datei erstellt wird

    6. Geben Sie einen Namen für die Datei ein.

    7. Fügen Sie die kopierten Informationen in die Datei ein.

    8. Wählen Sie Commit new file (Neue Datei committen) aus.

    Die Beispieldatei wurde ihrem Repository hinzugefügt.

    Screenshot, der zeigt, dass die erstellte neue Datei zum Repository hinzugefügt wird

  9. Vergewissern Sie sich, dass die Microsoft Security DevOps-Überprüfung abgeschlossen ist:

    1. Wählen Sie für das Repository Aktionenaus.

    2. Wählen Sie den Workflow aus, um den Aktionsstatus anzuzeigen.

  10. Um die Ergebnisse der Überprüfung anzuzeigen, gehen Sie zu Defender for Cloud>DevOps-Sicherheit (keine GHAS-Voraussetzung) oder Sicherheit>Codeüberprüfungsbenachrichtigungen nativ in GitHub (GHAS-Lizenz erforderlich).

Einrichten und Ausführen einer Azure DevOps-Erweiterung zum Scannen Ihres verbundenen IaC-Quellcodes

So richten Sie eine Erweiterung ein und zeigen die Scanergebnisse in Azure DevOps an:

  1. Melden Sie sich bei Azure DevOps an.

  2. Wählen Sie Ihr Projekt aus.

  3. Wählen Sie Pipelines aus.

  4. Wählen Sie die Pipeline aus, in der Ihre Azure DevOps-Erweiterung für Microsoft Security DevOps konfiguriert ist.

  5. Wählen Sie Pipeline bearbeiten aus.

  6. Fügen Sie in der YAML-Konfigurationsdatei der Pipeline unterhalb der displayName-Zeile für die Aufgabe MicrosoftSecurityDevOps@1 diesen Code hinzu:

    inputs:
        categories: 'IaC'
    

    Ein Beispiel:

    Screenshot, der zeigt, wo die Zeile „IaC-Kategorien“ in der YAML-Datei der Pipelinekonfiguration hinzugefügt werden soll

  7. Wählen Sie Speichern.

  8. (Optional:) Fügen Sie Ihrem Azure DevOps-Projekt eine IaC-Vorlage hinzu. Wenn Sie bereits über eine IaC-Vorlage im Projekt verfügen, überspringen Sie diesen Schritt.

  9. Wählen Sie, ob Sie den Commit direkt im Mainbranch ausführen, oder einen neuen Branch für diesen Commit erstellen wollen, und wählen Sie dann Speichern aus.

  10. Um die Ergebnisse des IaC-Scans anzuzeigen, wählen Sie Pipelines aus, und wählen Sie dann die geänderte Pipeline aus.

  11. Für weitere Details wählen Sie eine bestimmte Pipelineausführung aus.

Anzeigen von Details und Wartungsinformationen für angewendete IaC-Regeln

In Microsoft Security DevOps sind die IaC-Überprüfungstools Template Analyzer (PSRule ist in Template Analyzer enthalten), Checkov und Terrascan enthalten.

Template Analyzer führt Regeln für Azure Resource Manager-Vorlagen (ARM-Vorlagen) und Bicep-Vorlagen aus. Weitere Informationen finden Sie in den Template Analyzer-Regeln und Wartungsdetails.

Terrascan führt Regeln für ARM-Vorlagen und Vorlagen für CloudFormation, Docker, Helm, Kubernetes, Kustomize und Terraform aus. Weitere Informationen finden Sie unter Terrascan-Regeln.

Chekov führt Regeln für ARM-Vorlagen und Vorlagen für CloudFormation, Docker, Helm, Kubernetes, Kustomize und Terraform aus. Weitere Informationen finden Sie unter Chekov-Regeln.

Weitere Informationen zu den IaC-Überprüfungstools, die in Microsoft Security DevOps enthalten sind, finden Sie unter:

In diesem Artikel haben Sie gelernt, wie Sie eine GitHub-Aktion und eine Azure DevOps-Erweiterung für Microsoft Security DevOps so einrichten, dass IaC-Sicherheitsfehlkonfigurationen (Infrastructure as Code) überprüft werden, und wie Sie die Ergebnisse anzeigen.

Weitere Informationen finden Sie unter: