Konfigurowanie akcji GitHub Security DevOps firmy Microsoft

rozwiązania zabezpieczające firmy Microsoft DevOps to aplikacja wiersza polecenia, która integruje narzędzia do analizy statycznej w cyklu projektowania. Usługa Security DevOps instaluje, konfiguruje i uruchamia najnowsze wersje narzędzi do analizy statycznej, takich jak SDL, zabezpieczenia i narzędzia zgodności. Usługa Security DevOps jest oparta na danych z przenośnymi konfiguracjami, które umożliwiają deterministyczne wykonywanie w wielu środowiskach.

Metodyka DevOps zabezpieczeń firmy Microsoft korzysta z następujących narzędzi typu open source:

Name Język License
Oprogramowanie chroniące przed złośliwym kodem Ochrona przed złośliwym oprogramowaniem w Windows z Ochrona punktu końcowego w usłudze Microsoft Defender, która skanuje pod kątem złośliwego oprogramowania i przerywa kompilację w przypadku znalezienia złośliwego oprogramowania. To narzędzie domyślnie skanuje w przypadku agenta najnowszego systemu Windows. Nie open source
Bandit Python Licencja apache 2.0
BinSkim Binarne--Windows, ELF Licencja MIT
Checkov Terraform, plan Terraform, CloudFormation, Amazon Web Services (AWS) SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Licencja apache 2.0
ESlint JavaScript Licencja MIT
Analizator szablonów Szablon ARM, Bicep Licencja MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licencja apache 2.0
Trivy obrazy kontenerów, infrastruktura jako kod (IaC) Licencja apache 2.0

Wymagania wstępne

Konfigurowanie akcji GitHub Security DevOps firmy Microsoft

Aby skonfigurować akcję GitHub:

  1. Zaloguj się do usługi GitHub.

  2. Wybierz repozytorium, do którego chcesz skonfigurować akcję GitHub.

  3. Wybierz opcję Akcje.

    Zrzut ekranu przedstawiający lokalizację przycisku Akcje.

  4. Wybierz pozycję Nowy przepływ pracy.

  5. Na stronie Rozpoczęcie pracy z GitHub Actions wybierz opcję skonfiguruj przepływ pracy samodzielnie.

    Zrzut ekranu przedstawiający, gdzie wybrać przycisk nowego przepływu pracy.

  6. W polu tekstowym wprowadź nazwę pliku przepływu pracy. Na przykład msdevopssec.yml.

    Zrzut ekranu przedstawiający miejsce wprowadzania nazwy nowego przepływu pracy.

  7. Skopiuj i wklej następujący przykładowy przepływ pracy akcji na kartę Edytuj nowy plik.

    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

    Więcej opcji konfiguracji narzędzia i instrukcje znajdziesz w wiki rozwiązania zabezpieczające firmy Microsoft DevOps

  8. Wybierz pozycję Rozpocznij zatwierdzenie

    Zrzut ekranu pokazujący, gdzie można wybrać rozpoczęcie zatwierdzania.

  9. Wybierz pozycję Zatwierdź nowy plik. Pamiętaj, że ukończenie procesu może potrwać do jednej minuty.

    Zrzut ekranu przedstawiający sposób zatwierdzania nowego pliku.

  10. Wybierz pozycję Akcje i sprawdź, czy nowa akcja jest uruchomiona.

    Zrzut ekranu, który pokazuje, gdzie należy się udać, aby zweryfikować uruchomienie nowego działania.

Wyświetlanie wyników skanowania

Aby wyświetlić wyniki skanowania:

  1. Zaloguj się do Azure.

  2. Przejdź do usługi Defender dla Chmury > DevOps Security.

  3. Na karcie zabezpieczeń DevOps można już po kilku minutach zobaczyć dla skojarzonego repozytorium te same wyniki zabezpieczeń usługi rozwiązania zabezpieczające firmy Microsoft DevOps (MSDO), które deweloperzy widzą w swoich dziennikach CI. Klienci z usługą GitHub Advanced Security zobaczą również wyniki pozyskane z tych narzędzi.

Learn more

Następny krok