Prohledávání připojeného úložiště GitHub nebo projektu Azure DevOps
Pro kontrolu připojeného úložiště GitHub nebo projektu Azure DevOps můžete nastavit Microsoft Security DevOps. Pomocí akce GitHubu nebo rozšíření Azure DevOps spusťte Microsoft Security DevOps pouze ve zdrojovém kódu infrastruktury jako kódu (IaC) a snižte modul runtime kanálu.
V tomto článku se dozvíte, jak pomocí pravidel Microsoft Security DevOps použít konfigurační soubor YAML šablony ke kontrole připojeného úložiště nebo projektu speciálně pro problémy se zabezpečením IaC.
Požadavky
- V případě DevOps zabezpečení Microsoftu nastavte akci GitHubu nebo rozšíření Azure DevOps na základě vašeho systému správy zdrojového kódu:
- Ujistěte se, že máte v úložišti šablonu IaC.
Nastavení a spuštění akce GitHubu pro kontrolu připojeného zdrojového kódu IaC
Nastavení akce a zobrazení výsledků kontroly na GitHubu:
Přihlaste se na GitHub.
Přejděte na hlavní stránku úložiště.
V adresáři souborů vyberte pracovní postupy>.github>msdevopssec.yml.
Další informace o práci s akcí na GitHubu najdete v tématu Požadavky.
Vyberte ikonu Upravit tento soubor (tužka).
Do části Spustit analyzátory souboru YAML přidejte tento kód:
with: categories: 'IaC'
Poznámka:
V hodnotách se rozlišují malá a velká písmena.
Tady je příklad:
Vyberte Potvrdit změny . .
Vyberte Potvrdit změny.
(Volitelné) Přidejte do úložiště šablonu IaC. Pokud už máte v úložišti šablonu IaC, přeskočte tento krok.
Potvrďte například šablonu IaC, kterou můžete použít k nasazení základní webové aplikace pro Linux.
Vyberte soubor azuredeploy.json.
Vyberte Nezpracovaný.
Zkopírujte všechny informace v souboru, například v následujícím příkladu:
{ "$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')]" } } } ] }
V úložišti GitHub přejděte do složky .github/workflows .
Vyberte Přidat soubor>Vytvořit nový soubor.
Zadejte název souboru.
Vložte zkopírované informace do souboru.
Vyberte Potvrdit nový soubor.
Soubor šablony se přidá do úložiště.
Ověřte, že je kontrola Microsoft Security DevOps dokončená:
V úložišti vyberte Akce.
Výběrem pracovního postupu zobrazíte stav akce.
Pokud chcete zobrazit výsledky kontroly, přejděte do programu Defender for Cloud>DevOps Security (nevyžaduje se žádný požadavek GHAS) nebo >nativně v GitHubu (vyžaduje licenci GHAS).
Nastavení a spuštění rozšíření Azure DevOps pro kontrolu připojeného zdrojového kódu IaC
Nastavení rozšíření a zobrazení výsledků kontroly v Azure DevOps:
Přihlaste se ke službě Azure DevOps.
Vyberte projekt.
Vyberte Kanály.
Vyberte kanál, ve kterém je nakonfigurované vaše rozšíření Azure DevOps pro Microsoft Security DevOps.
Vyberte Upravit kanál.
Do konfiguračního souboru YAML kanálu pod
displayName
řádek úlohy MicrosoftSecurityDevOps@1 přidejte tento kód:inputs: categories: 'IaC'
Tady je příklad:
Zvolte Uložit.
(Volitelné) Přidejte šablonu IaC do projektu Azure DevOps. Pokud už máte v projektu šablonu IaC, přeskočte tento krok.
Zvolte, zda se má potvrdit přímo do hlavní větve nebo vytvořit novou větev pro potvrzení, a pak vyberte Uložit.
Pokud chcete zobrazit výsledky kontroly IaC, vyberte Kanály a pak vyberte kanál, který jste upravili.
Podívejte se na další podrobnosti a vyberte konkrétní spuštění kanálu.
Zobrazení podrobností a informací o nápravě pro použitá pravidla IaC
Nástroje pro kontrolu IaC, které jsou součástí Microsoft Security DevOps, jsou Analyzátor šablon (PSRule je součástí Analyzátoru šablon), Checkov a Terrascan.
Analyzátor šablon spouští pravidla pro šablony Azure Resource Manageru (šablony ARM) a šablony Bicep. Další informace najdete v pravidlech Analyzátoru šablon a podrobnostech o nápravě.
Terrascan spouští pravidla pro šablony a šablony ARM pro CloudFormation, Docker, Helm, Kubernetes, Kustomize a Terraform. Další informace najdete v pravidlech Terrascanu.
Chekov spouští pravidla pro šablony a šablony ARM pro CloudFormation, Docker, Helm, Kubernetes, Kustomize a Terraform. Další informace najdete v pravidlech Checkov.
Další informace o nástrojích pro kontrolu IaC, které jsou součástí DevOps zabezpečení Microsoftu, najdete tady:
Související obsah
V tomto článku jste zjistili, jak nastavit akci GitHubu a rozšíření Azure DevOps pro Microsoft Security DevOps a vyhledat chybné konfigurace zabezpečení IaC a zobrazit výsledky.
Další informace získáte:
- Přečtěte si další informace o zabezpečení DevOps.
- Zjistěte, jak připojit úložiště GitHub k Defenderu pro cloud.
- Zjistěte, jak připojit projekt Azure DevOps k defenderu pro cloud.