Sdílet prostřednictvím


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:
    • Pokud je vaše úložiště na GitHubu, nastavte akci GitHubu Microsoft Security DevOps.
    • Pokud spravujete zdrojový kód v Azure DevOps, nastavte rozšíření Microsoft Security DevOps Azure DevOps.
  • 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:

  1. Přihlaste se na GitHub.

  2. Přejděte na hlavní stránku úložiště.

  3. 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.

  4. Vyberte ikonu Upravit tento soubor (tužka).

    Snímek obrazovky, který zvýrazní ikonu Upravit tento soubor pro soubor msdevopssec.yml

  5. 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:

    Snímek obrazovky znázorňující informace, které chcete přidat do souboru YAML

  6. Vyberte Potvrdit změny . .

  7. Vyberte Potvrdit změny.

    Snímek obrazovky znázorňující, kde vybrat Potvrdit změny na stránce GitHubu

  8. (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.

    1. Vyberte soubor azuredeploy.json.

      Snímek obrazovky znázorňující umístění souboru azuredeploy.json

    2. Vyberte Nezpracovaný.

    3. 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')]"
              }
            }
          }
        ]
      }
      
    4. V úložišti GitHub přejděte do složky .github/workflows .

    5. Vyberte Přidat soubor>Vytvořit nový soubor.

      Snímek obrazovky, který ukazuje, jak vytvořit nový soubor

    6. Zadejte název souboru.

    7. Vložte zkopírované informace do souboru.

    8. Vyberte Potvrdit nový soubor.

    Soubor šablony se přidá do úložiště.

    Snímek obrazovky, který ukazuje, že nový soubor, který jste vytvořili, se přidá do úložiště

  9. Ověřte, že je kontrola Microsoft Security DevOps dokončená:

    1. V úložišti vyberte Akce.

    2. Výběrem pracovního postupu zobrazíte stav akce.

  10. 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:

  1. Přihlaste se ke službě Azure DevOps.

  2. Vyberte projekt.

  3. Vyberte Kanály.

  4. Vyberte kanál, ve kterém je nakonfigurované vaše rozšíření Azure DevOps pro Microsoft Security DevOps.

  5. Vyberte Upravit kanál.

  6. 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:

    Snímek obrazovky znázorňující, kde přidat řádek kategorií IaC do souboru YAML konfigurace kanálu

  7. Zvolte Uložit.

  8. (Volitelné) Přidejte šablonu IaC do projektu Azure DevOps. Pokud už máte v projektu šablonu IaC, přeskočte tento krok.

  9. Zvolte, zda se má potvrdit přímo do hlavní větve nebo vytvořit novou větev pro potvrzení, a pak vyberte Uložit.

  10. Pokud chcete zobrazit výsledky kontroly IaC, vyberte Kanály a pak vyberte kanál, který jste upravili.

  11. 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:

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: