Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
Vereiste voorwaarden
- 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>workflows>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'Opmerking
Waarden zijn hoofdlettergevoelig.
Hier is een voorbeeld:
Selecteer Wijzigingen doorvoeren . . . .
Selecteer Wijzigingen vastleggen.
(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 bestand azuredeploy.json.
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 Bestand toevoegen>Nieuw bestand maken.
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 for Cloud>DevOps-beveiliging (geen GHAS-vereiste) of Beveiligings>waarschuwingen voor codescanning 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
displayNameregel voor de MicrosoftSecurityDevOps@1 taak, deze code toe:inputs: categories: 'IaC'Hier is 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 committeren naar de hoofdbranch of een nieuwe branch wilt maken voor de commit en selecteer 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:
Verwante 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 for Cloud.
- Meer informatie over het verbinden van uw Azure DevOps-project met Defender for Cloud.