Share via


Csatlakoztatott GitHub-adattár vagy Azure DevOps-projekt vizsgálata

Beállíthatja a Microsoft Security DevOpst a csatlakoztatott GitHub-adattár vagy az Azure DevOps-projekt vizsgálatára. GitHub-művelet vagy Azure DevOps-bővítmény használata a Microsoft Security DevOps csak az infrastruktúra kódként (IaC) forráskódján való futtatásához, valamint a folyamat futtatókörnyezetének csökkentéséhez.

Ez a cikk bemutatja, hogyan alkalmazhat sablon YAML-konfigurációs fájlt a csatlakoztatott adattár vagy projekt kifejezetten az IaC biztonsági problémáinak vizsgálatára a Microsoft Security DevOps-szabályok használatával.

Előfeltételek

GitHub-művelet beállítása és futtatása a csatlakoztatott IaC-forráskód vizsgálatához

Művelet beállítása és vizsgálati eredmények megtekintése a GitHubon:

  1. Jelentkezzen be a GitHubra.

  2. Nyissa meg az adattár főoldalát.

  3. A fájlkönyvtárban válassza a .github-munkafolyamatok>>msdevopssec.yml.

    A GitHubon végzett műveletekkel kapcsolatos további információkért tekintse meg az előfeltételeket.

  4. Válassza a Fájl szerkesztése (ceruza) ikont.

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

  5. A YAML-fájl Elemzések futtatása szakaszában adja hozzá a következő kódot:

    with:
        categories: 'IaC'
    

    Feljegyzés

    Az értékek megkülönböztetik a kis- és nagybetűket.

    Példa:

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

  6. Válassza a Módosítások véglegesítése lehetőséget . . . .

  7. Válassza a Módosítások véglegesítése lehetőséget.

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

  8. (Nem kötelező) IaC-sablon hozzáadása az adattárhoz. Ha már rendelkezik IaC-sablonnal az adattárban, hagyja ki ezt a lépést.

    Például véglegesítsen egy IaC-sablont, amellyel alapszintű Linux-webalkalmazást helyezhet üzembe.

    1. Válassza ki a azuredeploy.json fájlt.

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

    2. Válassza a Nyers lehetőséget.

    3. Másolja ki a fájl összes adatát, például az alábbi példában:

      {
        "$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. A GitHub-adattárban nyissa meg a .github/workflows mappát.

    5. Válassza az Add file Create new file (Új fájl létrehozása)>lehetőséget.

      Screenshot that shows you how to create a new file.

    6. Adja meg a fájl nevét.

    7. Illessze be a másolt adatokat a fájlba.

    8. Válassza az Új fájl véglegesítése lehetőséget.

    A sablonfájl hozzá lesz adva az adattárhoz.

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

  9. Ellenőrizze, hogy a Microsoft Security DevOps-vizsgálat befejeződött-e:

    1. Az adattárban válassza a Műveletek lehetőséget.

    2. Válassza ki a munkafolyamatot a művelet állapotának megtekintéséhez.

  10. A vizsgálat eredményeinek megtekintéséhez nyissa meg a Security>Code vizsgálati riasztásait.

    Eszköz szerint szűrve csak az IaC-eredményeket tekintheti meg.

Azure DevOps-bővítmény beállítása és futtatása a csatlakoztatott IaC-forráskód vizsgálatához

Bővítmény beállítása és a vizsgálati eredmények megtekintése az Azure DevOpsban:

  1. Jelentkezzen be az Azure DevOpsba.

  2. Válassza ki a projektet.

  3. Válassza a Folyamatok lehetőséget.

  4. Válassza ki azt a folyamatot, amelyben a Microsoft Security DevOps Azure DevOps-bővítménye konfigurálva van.

  5. Válassza a Folyamat szerkesztése lehetőséget.

  6. A folyamat YAML-konfigurációs fájljában, a displayNameMicrosoftSecurityDevOps@1 feladat sora alatt adja hozzá a következő kódot:

    inputs:
        categories: 'IaC'
    

    Példa:

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

  7. Válassza a Mentés lehetőséget.

  8. (Nem kötelező) IaC-sablon hozzáadása az Azure DevOps-projekthez. Ha már rendelkezik IaC-sablonnal a projektben, hagyja ki ezt a lépést.

  9. Válassza ki, hogy közvetlenül a fő ágra szeretne véglegesíteni, vagy új ágat szeretne létrehozni a véglegesítéshez, majd válassza a Mentés lehetőséget.

  10. Az IaC-vizsgálat eredményeinek megtekintéséhez válassza a Folyamatok lehetőséget, majd válassza ki a módosított folyamatot.

  11. Lásd a további részleteket, válasszon ki egy adott folyamatfuttatást.

Az alkalmazott IaC-szabályok részleteinek és szervizelési adatainak megtekintése

A Microsoft Security DevOpsban található IaC-ellenőrző eszközök a Template Analyzer (PSRule a Template Analyzer része) és a Terrascan.

A Sablonelemző szabályokat futtat azure Resource Manager-sablonokon (ARM-sablonokon) és Bicep-sablonokon. További információkért tekintse meg a Sablonelemző szabályait és a szervizelési részleteket.

A Terrascan ARM-sablonokon és -sablonokon futtat szabályokat a CloudFormation, a Docker, a Helm, a Kubernetes, a Kustomize és a Terraform esetében. További információkért tekintse meg a Terrascan-szabályokat.

A Microsoft Security DevOpsban található IaC-ellenőrző eszközökkel kapcsolatos további információkért lásd:

Ebben a cikkben megismerhette, hogyan állíthat be Egy GitHub-műveletet és egy Azure DevOps-bővítményt a Microsoft Security DevOpshoz az IaC biztonsági konfigurációinak kereséséhez és az eredmények megtekintéséhez.

További információ: