Udostępnij przez


Konfigurowanie rozszerzenia Microsoft Security DevOps dla Azure DevOps

Microsoft Security DevOps to aplikacja wiersza polecenia, która integruje analizę statyczną z cyklem życia programowania. Instaluje, konfiguruje i uruchamia najnowsze analizatory SDL, zabezpieczeń i zgodności przy użyciu przenośnych konfiguracji w celu zapewnienia spójnego, deterministycznego wykonywania w różnych środowiskach.

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

Name Język Licencja
Oprogramowanie chroniące przed złośliwym kodem Ochrona przed złośliwym oprogramowaniem w systemie Windows z usługi Microsoft Defender dla punktu końcowego. Skanuje pod kątem złośliwego oprogramowania i przerywa kompilację w przypadku wykrycia złośliwej zawartości. Domyślnie działa na agencie najnowszej wersji systemu Windows. Nie jest open source
Bandit Python Licencja apache 2.0
BinSkim Cele binarne: Windows, ELF Licencja X11
Checkov Terraform, Plan Terraform, CloudFormation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Licencja apache 2.0
ESLint JavaScript Licencja X11
IaCFileScanner Narzędzie do mapowania szablonów dla Terraform, CloudFormation, ARM templates i Bicep Oprogramowanie nie jest open source
Analizator szablonów Szablony ARM, Bicep Licencja X11
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

Uwaga / Notatka

Od 20 września 2023 r. narzędzie do skanowania tajności (CredScan) w rozszerzeniu Microsoft Security DevOps (MSDO) dla Azure DevOps zostało wycofane. Skanowanie sekretów MSDO jest zastępowane przez GitHub Advanced Security dla Azure DevOps.

Wymagania wstępne

  • Aby zainstalować rozszerzenie, musisz mieć uprawnienia administratora kolekcji projektów w organizacji usługi Azure DevOps. Jeśli nie masz dostępu, zażądaj go od administratora usługi Azure DevOps podczas instalacji.

Konfigurowanie rozszerzenia Microsoft Security DevOps dla Azure DevOps

  1. Zaloguj się do usługi Azure DevOps.

  2. Przejdź do Koszyka>Zarządzaj rozszerzeniami.

    Zrzut ekranu przedstawiający sposób przechodzenia do ekranu zarządzania rozszerzeniami.

  3. Wybierz pozycję Udostępnione.

    Uwaga / Notatka

    Jeśli rozszerzenie Microsoft Security DevOps zostało już zainstalowane, jest ono wyświetlane na karcie Zainstalowane.

  4. Wybierz pozycję Microsoft Security DevOps.

    Zrzut ekranu pokazujący, gdzie wybrać usługę Microsoft Security DevOps.

  5. Wybierz Zainstaluj.

  6. Wybierz odpowiednią organizację z menu rozwijanego.

  7. Wybierz Zainstaluj.

  8. Wybierz pozycję Przejdź do organizacji.

Konfigurowanie potoków przy użyciu języka YAML

  1. Zaloguj się do usługi Azure DevOps.

  2. Wybierz projekt.

  3. Przejdź do obszaru Potoki>Nowy potok.

    Zrzut ekranu przedstawiający, gdzie znaleźć opcję tworzenia pipeline w DevOps.

  4. Wybierz Azure Repos Git.

    Zrzut ekranu, który pokazuje, gdzie się nawigować, aby wybrać repozytorium Git na platformie Azure.

  5. Wybierz odpowiednie repozytorium.

    Zrzut ekranu przedstawiający miejsce wybierania repozytorium.

  6. Wybierz Potok startowy.

    Zrzut ekranu pokazujący, gdzie można wybrać potok początkowy.

  7. Wklej następujący kod YAML do potoku:

    # Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    trigger: none
    pool:
      # ubuntu-latest also supported.
      vmImage: 'windows-latest'
    steps:
    - task: MicrosoftSecurityDevOps@1
      displayName: 'Microsoft Security DevOps'
      # inputs:    
        # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). Vist the MSDO GitHub wiki linked below for additional configuration instructions
        # policy: 'azuredevops' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy to determine the tools/checks to run. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: azuredevops.
        # 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'. Example 'templateanalyzer, trivy'
        # break: boolean. Optional. If true, will fail this build step if any high severity level results are found. Default: false.
        # publish: boolean. Optional. If true, will publish the output SARIF results file to the chosen pipeline artifact. Default: true.
        # artifactName: string. Optional. The name of the pipeline artifact to publish the SARIF result file to. Default: CodeAnalysisLogs*.
    

    Uwaga / Notatka

    Element artifactName "CodeAnalysisLogs" jest wymagany do integracji z usługą Defender for Cloud. Aby uzyskać dodatkowe opcje konfiguracji narzędzi i zmienne środowiskowe, zobacz wiki Microsoft Security DevOps

  8. Aby zatwierdzić i uruchomić potok, wybierz Zapisz i uruchom.

    Uwaga / Notatka

    Zainstaluj rozszerzenie SARIF SAST Scans Tab, aby automatycznie wyświetlać wyniki analizy SARIF na karcie Skanowania potoku.

Przekazywanie wyników z narzędzi zabezpieczeń innych firm do usługi Defender for Cloud

Usługa Defender for Cloud może pozyskiwać wyniki SARIF z innych narzędzi zabezpieczeń na potrzeby widoczności kodu do chmury. Aby przekazać te wyniki, upewnij się, że repozytoria usługi Azure DevOps są dołączane do usługi Defender for Cloud. pl-PL: Po przeprowadzeniu wdrożenia usługa Defender for Cloud stale monitoruje CodeAnalysisLogs artefakt pod kątem wyników SARIF.

Użyj zadania PublishBuildArtifacts@1, aby opublikować pliki SARIF jako artefakt CodeAnalysisLogs. Przykład:

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: 'results.sarif'
    ArtifactName: 'CodeAnalysisLogs'

Usługa Defender for Cloud wyświetla te ustalenia pod oceną repozytoria Azure DevOps powinny mieć rozstrzygnięte wyniki skanowania kodu dla dotkniętego problemem repozytorium.