Konfigurace akce zabezpečení od Microsoftu DevOps na GitHubu

zabezpečení od Microsoftu DevOps je aplikace na příkazové řádky, která integruje nástroje pro statickou analýzu do životního cyklu vývoje. Security DevOps instaluje, konfiguruje a spouští nejnovější verze nástrojů pro statickou analýzu, jako jsou SDL, zabezpečení a nástroje pro dodržování předpisů. Zabezpečení DevOps je řízeno daty pomocí přenosných konfigurací, které umožňují deterministické spouštění napříč několika prostředími.

zabezpečení od Microsoftu DevOps používá následující opensourcové nástroje:

Name Jazyk License
AntiMalware Antimalwarová ochrana v Windows z Microsoft Defender for Endpoint, která vyhledá malware a přeruší sestavení, pokud se najde malware. Tento nástroj ve výchozím nastavení prohledává na nejnovějším agentovi Windows. Není open source
Bandit Python Licence Apache 2.0
BinSkim Binární--Windows, ELF Licence MIT
Checkov Terraform, Terraform plan, CloudFormation, Amazon Web Services (AWS) SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Bezserverová architektura, Bicep, OpenAPI, ARM Licence Apache 2.0
ESlint JavaScript Licence MIT
Analyzátor šablon Šablona ARM, Bicep Licence MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licence Apache 2.0
Trivy obraz kontejneru, infrastruktura jako kód (IaC) Licence Apache 2.0

Předpoklady

Než nastavíte akci zabezpečení od Microsoftu DevOps GitHub, ujistěte se, že máte následující předpoklady:

Nastavte pracovní postup akcí na GitHub

Nastavení akce GitHub:

  1. Přihlaste se k GitHubu .

  2. Vyberte úložiště, na které chcete nakonfigurovat akci GitHubu.

  3. Vyberte Akce.

    Snímek obrazovky znázorňující umístění tlačítka Akce

  4. Vyberte Nový pracovní postup.

  5. Na stránce Začínáme s GitHub Actions vyberte nastavit si workflow sami.

    Snímek obrazovky znázorňující, kde vybrat nové tlačítko pracovního postupu

  6. Zadejte název pro svůj workflow soubor. Například msdevopssec.yml.

    Snímek obrazovky, který ukazuje, kam zadat název nového pracovního postupu

  7. Zkopírujte a vložte následující ukázkový pracovní postup akce do záložky Upravit nový soubor .

    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 }}
    

    Note

    Pro více možností konfigurace nástrojů a instrukcí viz zabezpečení od Microsoftu DevOps wiki.

  8. Vyberte Zahájit potvrzení.

    Snímek obrazovky ukazující, kde vybrat počáteční commit.

  9. Vyberte Potvrdit nový soubor. Proces může trvat až jednu minutu.

    Snímek obrazovky znázorňující, jak potvrdit nový soubor

  10. Vyberte Akce a ověřte, že je nová akce spuštěná.

    Snímek obrazovky znázorňuje, kam přejít a jak zkontrolovat, že vaše nová akce běží.

Zobrazení výsledků kontroly

Chcete-li zobrazit výsledky skenování:

  1. Přihlaste se k Azure.

  2. Přejděte na Defender for Cloud>.

  3. Z bezpečnostního panelu DevOps můžete vidět stejné bezpečnostní výsledky zabezpečení od Microsoftu DevOps (MSDO). Vývojáři tyto výsledky vidí ve svých CI logech pro příslušný repozitář během několika minut. Zákazníci s GitHub Advanced Security také uvidí zjištění přijatá z těchto nástrojů.

Další krok