Skanna din anslutna GitHub-lagringsplats eller Azure DevOps-projekt
Du kan konfigurera Microsoft Security DevOps för att genomsöka din anslutna GitHub-lagringsplats eller Azure DevOps-projekt. Använd en GitHub-åtgärd eller ett Azure DevOps-tillägg för att endast köra Microsoft Security DevOps på källkoden infrastruktur som kod (IaC) och minska pipelinekörningen.
Den här artikeln visar hur du använder en YAML-mallkonfigurationsfil för att söka igenom den anslutna lagringsplatsen eller projektet specifikt efter IaC-säkerhetsproblem med hjälp av Microsoft Security DevOps-regler.
Förutsättningar
- För Microsoft Security DevOps konfigurerar du GitHub-åtgärden eller Azure DevOps-tillägget baserat på ditt källkodshanteringssystem:
- Om lagringsplatsen finns i GitHub konfigurerar du GitHub-åtgärden Microsoft Security DevOps.
- Om du hanterar källkoden i Azure DevOps konfigurerar du Tillägget Microsoft Security DevOps Azure DevOps.
- Kontrollera att du har en IaC-mall på lagringsplatsen.
Konfigurera och köra en GitHub-åtgärd för att genomsöka din anslutna IaC-källkod
Så här konfigurerar du en åtgärd och visar genomsökningsresultat i GitHub:
Logga in på GitHub.
Gå till huvudsidan för lagringsplatsen.
I filkatalogen väljer du .github-arbetsflöden>>msdevopssec.yml.
Mer information om hur du arbetar med en åtgärd i GitHub finns i Krav.
Välj ikonen Redigera den här filen (pennan).
I avsnittet Kör analysverktyg i YAML-filen lägger du till den här koden:
with: categories: 'IaC'
Kommentar
Värden är skiftlägeskänsliga.
Här är ett exempel:
Välj Genomför ändringar . . .
Välj Genomför ändringar.
(Valfritt) Lägg till en IaC-mall till lagringsplatsen. Om du redan har en IaC-mall på lagringsplatsen hoppar du över det här steget.
Du kan till exempel checka in en IaC-mall som du kan använda för att distribuera ett grundläggande Linux-webbprogram.
Välj filen azuredeploy.json .
Välj Rå.
Kopiera all information i filen, som i följande exempel:
{ "$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')]" } } } ] }
Gå till mappen .github/workflows på gitHub-lagringsplatsen .
Välj Lägg till fil>Skapa ny fil.
Ange ett namn på filen.
Klistra in den kopierade informationen i filen.
Välj Checka in ny fil.
Mallfilen läggs till i lagringsplatsen.
Kontrollera att Microsoft Security DevOps-genomsökningen är klar:
Välj Åtgärder för lagringsplatsen.
Välj arbetsflödet för att se åtgärdsstatusen.
Om du vill visa resultatet av genomsökningen går du till Defender för Cloud>DevOps-säkerhet (ingen GHAS-förutsättning) eller säkerhetskodgenomsökningsaviseringar> internt i GitHub (kräver GHAS-licens).
Konfigurera och köra ett Azure DevOps-tillägg för att genomsöka din anslutna IaC-källkod
Så här konfigurerar du ett tillägg och visar genomsökningsresultat i Azure DevOps:
Logga in på Azure DevOps.
Välj ditt projekt.
Välj Pipelines.
Välj den pipeline där ditt Azure DevOps-tillägg för Microsoft Security DevOps har konfigurerats.
Välj Redigera pipeline.
Lägg till den
displayName
här koden under raden för MicrosoftSecurityDevOps@1-uppgiften i YAML-konfigurationsfilen för pipelinen:inputs: categories: 'IaC'
Här är ett exempel:
Välj Spara.
(Valfritt) Lägg till en IaC-mall i ditt Azure DevOps-projekt. Om du redan har en IaC-mall i projektet hoppar du över det här steget.
Välj om du vill checka in direkt till huvudgrenen eller skapa en ny gren för incheckningen och välj sedan Spara.
Om du vill visa resultatet av IaC-genomsökningen väljer du Pipelines och sedan den pipeline som du ändrade.
Se mer information, välj en specifik pipelinekörning.
Visa information och reparationsinformation för tillämpade IaC-regler
IaC-genomsökningsverktygen som ingår i Microsoft Security DevOps är Template Analyzer (PSRule ingår i Template Analyzer), Checkov och Terrascan.
Template Analyzer kör regler för Azure Resource Manager-mallar (ARM-mallar) och Bicep-mallar. Mer information finns i mallanalysregler och reparationsinformation.
Terrascan kör regler för ARM-mallar och mallar för CloudFormation, Docker, Helm, Kubernetes, Kustomize och Terraform. Mer information finns i Terrascan-reglerna.
Chekov kör regler för ARM-mallar och mallar för CloudFormation, Docker, Helm, Kubernetes, Kustomize och Terraform. Mer information finns i Checkov-reglerna.
Mer information om IaC-genomsökningsverktygen som ingår i Microsoft Security DevOps finns i:
Relaterat innehåll
I den här artikeln har du lärt dig hur du konfigurerar en GitHub-åtgärd och ett Azure DevOps-tillägg för Microsoft Security DevOps för att söka efter felkonfigurationer för IaC-säkerhet och hur du visar resultatet.
Så här får du mer information:
- Läs mer om DevOps-säkerhet.
- Lär dig hur du ansluter din GitHub-lagringsplats till Defender för molnet.
- Lär dig hur du ansluter ditt Azure DevOps-projekt till Defender för molnet.