Configurare l'azione GitHub di Microsoft Security DevOps

Microsoft Security DevOps è un'applicazione da riga di comando che integra gli strumenti di analisi statica nel ciclo di vita di sviluppo. La sicurezza DevOps installa, configura ed esegue le versioni più recenti degli strumenti di analisi statica, ad esempio SDL, strumenti di sicurezza e conformità. Security DevOps è basato su dati con configurazioni portabili che consentono l'esecuzione deterministica in più ambienti.

Microsoft Security DevOps usa gli strumenti open source seguenti:

Nome Lingua Licenza
AntiMalware Protezione AntiMalware in Windows di Microsoft Defender per endpoint che esegue un'analisi per rilevare il software dannoso e interrompe la compilazione se lo trova. Questo strumento analizza per impostazione predefinita l'agente windows-latest. Non open source
Bandito Python Licenza Apache 2.0
BinSkim Binary--Windows, ELF Licenza MIT
Checkov Terraform, piano Terraform, CloudFormation, AWS SAM, Kubernetes, grafici Helm, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Licenza Apache 2.0
ESlint JavaScript Licenza MIT
Analizzatore di modelli Modello di ARM, Bicep Licenza MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licenza Apache 2.0
Trivy immagini del contenitore, Infrastruttura come codice (IaC) Licenza Apache 2.0

Prerequisiti

Configurare l'azione GitHub di Microsoft Security DevOps

Per configurare l’azione GitHub:

  1. Accedi a GitHub.

  2. Selezionare un repository in cui si vuole configurare l'azione GitHub.

  3. Seleziona Azioni.

    Screenshot che mostra dove si trova il pulsante Azioni.

  4. Selezionare Nuovo flusso di lavoro.

  5. Nella pagina Introduzione a GitHub Actions selezionare Configura manualmente un flusso di lavoro

    Screenshot che mostra dove selezionare il nuovo pulsante del flusso di lavoro.

  6. Nella casella di testo, immettere un nome per il file del flusso di lavoro. Ad esempio: msdevopssec.yml.

    Screenshot che mostra dove immettere un nome per il nuovo flusso di lavoro.

  7. Copiare e incollare il flusso di lavoro dell'azione di esempio seguente nella scheda Modifica nuovo file.

    name: MSDO
    on:
      push:
        branches:
          - main
    
    jobs:
      sample:
        name: Microsoft Security DevOps
    
        # Windows and Linux agents are supported
        runs-on: windows-latest
    
        permissions:
          contents: read
          id-token: write
          actions: read
          # Write access for security-events is only required for customers looking for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
          security-events: write
    
        steps:
    
          # Checkout your code repository to scan
        - uses: actions/checkout@v3
    
          # Run analyzers
        - name: Run Microsoft Security DevOps
          uses: microsoft/security-devops-action@latest
          id: msdo
        # with:
          # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig').
          # policy: 'GitHub' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: GitHub.
          # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all.
          # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all.
          # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'.
    
          # Upload alerts to the Security tab - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts to Security tab
        #  uses: github/codeql-action/upload-sarif@v3
        #  with:
        #    sarif_file: ${{ steps.msdo.outputs.sarifFile }}
    
          # Upload alerts file as a workflow artifact - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS)
        # - name: Upload alerts file as a workflow artifact
        #  uses: actions/upload-artifact@v3
        #  with:  
        #    name: alerts
        #    path: ${{ steps.msdo.outputs.sarifFile }}
    

    Nota

    Per altre opzioni e istruzioni di configurazione degli strumenti, vedere il wiki di Microsoft Security DevOps

  8. Selezionare Avvia commit

    Screenshot che mostra dove selezionare Avvia commit.

  9. Selezionare Esegui il commit del nuovo file. Si noti che il completamento del processo può richiedere fino a un minuto.

    Screenshot che mostra come eseguire il commit di un nuovo file.

  10. Selezionare Azioni e verificare che la nuova azione sia in esecuzione.

    Screenshot che mostra dove passare, per vedere che la nuova azione è in esecuzione.

Visualizza i risultati dell'analisi

Per visualizzare i risultati dell'analisi:

  1. Accedere ad Azure.

  2. Spostarsi su Defender per il cloud > Sicurezza di DevOps.

  3. Dal pannello di sicurezza DevOps, è consigliabile iniziare a visualizzare gli stessi risultati della sicurezza MSDO visualizzati nei log ci entro pochi minuti per il repository associato. I clienti con GitHub Advanced Security vedranno anche i risultati inseriti da questi strumenti.

Altre informazioni

Passaggi successivi

Altre informazioni su Sicurezza DevOps in Defender per il cloud.

Informazioni su come connettere le organizzazioni GitHub a Defender per il Cloud.