Uw verbonden GitHub-opslagplaats of Azure DevOps-project scannen
U kunt Microsoft Security DevOps instellen om uw verbonden GitHub-opslagplaats of Azure DevOps-project te scannen. Gebruik een GitHub-actie of een Azure DevOps-extensie om Microsoft Security DevOps alleen uit te voeren op de broncode van Infrastructure as Code (IaC) en om uw pijplijnruntime te verminderen.
In dit artikel wordt beschreven hoe u een YAML-sjabloonconfiguratiebestand kunt toepassen om uw verbonden opslagplaats of project specifiek te scannen op beveiligingsproblemen met IaC met behulp van Microsoft Security DevOps-regels.
Vereisten
- Voor Microsoft Security DevOps stelt u de GitHub-actie of de Azure DevOps-extensie in op basis van uw broncodebeheersysteem:
- Als uw opslagplaats zich in GitHub bevindt, stelt u de Actie Microsoft Security DevOps GitHub in.
- Als u de broncode in Azure DevOps beheert, stelt u de Microsoft Security DevOps Azure DevOps-extensie in.
- Zorg ervoor dat u een IaC-sjabloon in uw opslagplaats hebt.
Een GitHub-actie instellen en uitvoeren om uw verbonden IaC-broncode te scannen
Een actie instellen en scanresultaten weergeven in GitHub:
Meld u aan bij GitHub.
Ga naar de hoofdpagina van uw opslagplaats.
Selecteer in de bestandsmap .github-werkstromen>>msdevopssec.yml.
Zie Vereisten voor meer informatie over het werken met een actie in GitHub.
Selecteer het pictogram Dit bestand bewerken (potlood).
Voeg in de sectie Run Analyzers van het YAML-bestand deze code toe:
with: categories: 'IaC'
Notitie
Waarden zijn hoofdlettergevoelig.
Hier volgt een voorbeeld:
Selecteer Wijzigingen doorvoeren . . . .
Selecteer Wijzigingen doorvoeren.
(Optioneel) Voeg een IaC-sjabloon toe aan uw opslagplaats. Als u al een IaC-sjabloon in uw opslagplaats hebt, kunt u deze stap overslaan.
Voer bijvoorbeeld een IaC-sjabloon door die u kunt gebruiken om een eenvoudige Linux-webtoepassing te implementeren.
Selecteer het azuredeploy.json-bestand .
Selecteer Onbewerkt.
Kopieer alle gegevens in het bestand, zoals in het volgende voorbeeld:
{ "$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')]" } } } ] }
Ga in uw GitHub-opslagplaats naar de map .github/workflows .
Selecteer Add file>Create new file.
Voer een naam in voor het bestand.
Plak de gekopieerde gegevens in het bestand.
Selecteer Nieuw bestand doorvoeren.
Het sjabloonbestand wordt toegevoegd aan uw opslagplaats.
Controleer of de Microsoft Security DevOps-scan is voltooid:
Selecteer Acties voor de opslagplaats.
Selecteer de werkstroom om de actiestatus weer te geven.
Als u de resultaten van de scan wilt bekijken, gaat u naar Defender voor Cloud> DevOps-beveiliging (geen GHAS-vereiste) of waarschuwingen voor het scannen van beveiligingscodes>in GitHub (hiervoor is een GHAS-licentie vereist).
Een Azure DevOps-extensie instellen en uitvoeren om uw verbonden IaC-broncode te scannen
Een extensie instellen en scanresultaten weergeven in Azure DevOps:
Aanmelden bij Azure DevOps.
Selecteer uw project.
Selecteer Pijplijnen.
Selecteer de pijplijn waarin uw Azure DevOps-extensie voor Microsoft Security DevOps is geconfigureerd.
Selecteer Pijplijn bewerken.
Voeg in het YAML-configuratiebestand van de pijplijn, onder de
displayName
regel voor de MicrosoftSecurityDevOps@1 taak, deze code toe:inputs: categories: 'IaC'
Hier volgt een voorbeeld:
Selecteer Opslaan.
(Optioneel) Voeg een IaC-sjabloon toe aan uw Azure DevOps-project. Als u al een IaC-sjabloon in uw project hebt, kunt u deze stap overslaan.
Kies of u rechtstreeks wilt doorvoeren naar de hoofdbranch of een nieuwe vertakking wilt maken voor de doorvoering en selecteer Vervolgens Opslaan.
Als u de resultaten van de IaC-scan wilt bekijken, selecteert u Pijplijnen en selecteert u vervolgens de pijplijn die u hebt gewijzigd.
Zie meer informatie, selecteer een specifieke pijplijnuitvoering.
Details en herstelinformatie weergeven voor toegepaste IaC-regels
De IaC-scanprogramma's die zijn opgenomen in Microsoft Security DevOps zijn Template Analyzer (PSRule is opgenomen in Template Analyzer), Checkov en Terrascan.
Template Analyzer voert regels uit op ARM-sjablonen (Azure Resource Manager) en Bicep-sjablonen. Zie de sjabloonanalyseregels en hersteldetails voor meer informatie.
Terrascan voert regels uit op ARM-sjablonen en -sjablonen voor CloudFormation, Docker, Helm, Kubernetes, Kustomize en Terraform. Zie de Terrascan-regels voor meer informatie.
Chekov voert regels uit op ARM-sjablonen en -sjablonen voor CloudFormation, Docker, Helm, Kubernetes, Kustomize en Terraform. Zie de Checkov-regels voor meer informatie.
Zie voor meer informatie over de IaC-scanprogramma's die zijn opgenomen in Microsoft Security DevOps:
Gerelateerde inhoud
In dit artikel hebt u geleerd hoe u een GitHub-actie en een Azure DevOps-extensie voor Microsoft Security DevOps instelt om te scannen op onjuiste configuraties van IaC-beveiliging en hoe u de resultaten kunt bekijken.
Voor meer informatie:
- Meer informatie over DevOps-beveiliging.
- Meer informatie over het verbinden van uw GitHub-opslagplaats met Defender voor Cloud.
- Meer informatie over het verbinden van uw Azure DevOps-project met Defender voor Cloud.