Ü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:
- Wenn sich Ihr Repository auf GitHub befindet, richten Sie die Microsoft Security DevOps GitHub-Aktion ein.
- Wenn Sie Ihren Quellcode in Azure DevOps verwalten, richten Sie die Microsoft Security DevOps Azure DevOps-Erweiterung 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:
Bei GitHub anmelden.
Wechseln Sie zur Hauptseite Ihres Repositorys.
Wählen Sie im Dateiverzeichnis .github>workflows>msdevopssec.yml aus.
Weitere Informationen zum Arbeiten mit einer Aktion in GitHub finden Sie unter Voraussetzungen.
Wählen Sie Diese Datei bearbeiten (das Bleistift-Symbol) aus.
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:
Wählen Sie Änderungen committen . . . aus.
Wählen Sie Commit changes (Änderungen committen) aus.
(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.
Wählen Sie die Datei azuredeploy.json.
Klicken Sie auf Raw (Roh).
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')]" } } } ] }
Wechseln Sie in Ihrem GitHub-Repository zum Ordner .github/workflows.
Wählen Sie Datei hinzufügen>Neue Datei erstellen aus.
Geben Sie einen Namen für die Datei ein.
Fügen Sie die kopierten Informationen in die Datei ein.
Wählen Sie Commit new file (Neue Datei committen) aus.
Die Beispieldatei wurde ihrem Repository hinzugefügt.
Vergewissern Sie sich, dass die Microsoft Security DevOps-Überprüfung abgeschlossen ist:
Wählen Sie für das Repository Aktionenaus.
Wählen Sie den Workflow aus, um den Aktionsstatus anzuzeigen.
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:
Melden Sie sich bei Azure DevOps an.
Wählen Sie Ihr Projekt aus.
Wählen Sie Pipelines aus.
Wählen Sie die Pipeline aus, in der Ihre Azure DevOps-Erweiterung für Microsoft Security DevOps konfiguriert ist.
Wählen Sie Pipeline bearbeiten aus.
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:
Wählen Sie Speichern.
(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.
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.
Um die Ergebnisse des IaC-Scans anzuzeigen, wählen Sie Pipelines aus, und wählen Sie dann die geänderte Pipeline aus.
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:
Zugehöriger Inhalt
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:
- Weitere Informationen zu DevOps-Sicherheit
- Hier erfahren Sie, wie Sie eine Verbindung zwischen Ihren GitHub-Repositorys und Defender for Cloud herstellen.
- Erfahren Sie, wie Sie einer Verbindung zwischen Ihrem Azure DevOps-Projekt und Defender for Cloud herstellen.