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

    Screenshot that highlights the Edit this file icon for the msdevopssec.yml file.

  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:

    Screenshot that shows the information to add to the YAML file.

  6. Vyberte Potvrdit změny . .

  7. Vyberte Potvrdit změny.

    Screenshot that shows where to select Commit changes on the GitHub page.

  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.

      Screenshot that shows where the azuredeploy.json file is located.

    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.

      Screenshot that shows you how to create a new file.

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

    Screenshot that shows that the new file you created is added to your repository.

  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 na výstrahy kontroly bezpečnostních>kódů.

    Můžete filtrovat podle nástroje, abyste viděli pouze zjištění IaC.

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:

    Screenshot that shows where to add the IaC categories line in the pipeline configuration YAML file.

  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 šablony (PSRule je součástí Analyzátoru šablon) 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.

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: