Konfigurowanie rozszerzenia Usługi Azure DevOps zabezpieczeń firmy Microsoft

Microsoft Security DevOps to aplikacja wiersza polecenia, która integruje narzędzia do analizy statycznej w cyklu projektowania. Usługa Microsoft Security DevOps instaluje, konfiguruje i uruchamia najnowsze wersje narzędzi do analizy statycznej (w tym między innymi narzędzia SDL/security i compliance). Usługa Microsoft 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:

Nazwisko Język Licencja
Antimalware Ochrona przed złośliwym kodem w systemie 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
Bandyta Python Licencja apache 2.0
BinSkim Binary--Windows, ELF Licencja MIT
Checkov Terraform, Plan Terraform, CloudFormation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Licencja apache 2.0
ESlint JavaScript Licencja MIT
IaCFileScanner Narzędzie do mapowania szablonów dla programu Terraform, CloudFormation, szablonu usługi ARM, Bicep Nie open source
Analizator szablonów Szablon usługi ARM, Bicep Licencja MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Licencja apache 2.0
Trywij obrazy kontenerów, infrastruktura jako kod (IaC) Licencja apache 2.0

Uwaga

Od 20 września 2023 r. narzędzie skanowania wpisów tajnych (CredScan) w rozszerzeniu Microsoft Security DevOps (MSDO) dla usługi Azure DevOps zostało uznane za przestarzałe. Skanowanie wpisów tajnych MSDO zostanie zastąpione usługą GitHub Advanced Security dla usługi Azure DevOps.

Wymagania wstępne

  • Do zainstalowania rozszerzenia wymagane są uprawnienia Administracja istratora kolekcji projektów w organizacji usługi Azure DevOps.

Jeśli nie masz dostępu do zainstalowania rozszerzenia, musisz zażądać dostępu od administratora organizacji usługi Azure DevOps podczas procesu instalacji.

Konfigurowanie rozszerzenia Usługi Azure DevOps zabezpieczeń firmy Microsoft

Aby skonfigurować rozszerzenie Usługi Azure DevOps usługi Azure Security DevOps firmy Microsoft:

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

  2. Przejdź do obszaru Shopping Bag Manage extensions (Zarządzanie rozszerzeniami).>

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

  3. Wybierz pozycję Udostępnione.

    Uwaga

    Jeśli rozszerzenie Microsoft Security DevOps zostało już zainstalowane, zostanie ono wyświetlone 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ę Kontynuuj w organizacji.

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

Aby skonfigurować potok przy użyciu języka YAML:

  1. Zaloguj się do usługi Azure DevOps

  2. Wybierz projekt.

  3. Przejdź do pozycji Potoki

  4. Wybierz pozycję Nowy potok.

    Zrzut ekranu przedstawiający miejsce lokalizowania potoku w usłudze DevOps.

  5. Wybierz pozycję Azure Repos Git.

    Zrzut ekranu przedstawiający miejsce przejścia do witryny , aby wybrać repozytorium platformy Azure git.

  6. Wybierz odpowiednie repozytorium.

    Zrzut ekranu przedstawiający miejsce wybierania repozytorium.

  7. Wybierz pozycję Potok startowy.

    Zrzut ekranu przedstawiający miejsce wybierania potoku początkowego.

  8. 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'.
        # 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

    Element artifactName "CodeAnalysisLogs" jest wymagany do integracji z Defender dla Chmury. Aby uzyskać dodatkowe opcje konfiguracji narzędzi i zmienne środowiskowe, zobacz witrynę typu wiki DevOps zabezpieczeń firmy Microsoft

  9. Aby zatwierdzić potok, wybierz pozycję Zapisz i uruchom.

    Potok zostanie uruchomiony przez kilka minut i zapisze wyniki.

    Uwaga

    Zainstaluj rozszerzenie karty SAST skanów SARIF w organizacji usługi Azure DevOps, aby upewnić się, że wygenerowane wyniki analizy będą wyświetlane automatycznie na karcie Skanowania.

Przekazywanie wyników z narzędzi zabezpieczeń innych firm do Defender dla Chmury

Chociaż Defender dla Chmury udostępnia interfejs wiersza polecenia MSDO dla standardowych funkcji i mechanizmów kontroli zasad w zestawie analizatorów zabezpieczeń typu open source, masz elastyczność przekazywania wyników z innych narzędzi zabezpieczeń innych firm, które mogły zostać skonfigurowane w potokach ciągłej integracji/ciągłego wdrażania w celu Defender dla Chmury uzyskania kompleksowej kontekstowości kodu do chmury. Wszystkie wyniki przekazane do Defender dla Chmury muszą być w standardowym formacie SARIF.

Najpierw upewnij się, że repozytoria usługi Azure DevOps są dołączane do Defender dla Chmury. Po pomyślnym dołączeniu Defender dla Chmury stale monitoruje artefakt "CodeAnalysisLogs" dla danych wyjściowych SARIF.

Możesz użyć zadania "PublishBuildArtifacts@1", aby upewnić się, że dane wyjściowe SARIF są publikowane w prawidłowym artefaktzie. Jeśli na przykład analizator zabezpieczeń generuje dane wyjścioweresults.sarif, możesz skonfigurować następujące zadanie w zadaniu, aby upewnić się, że wyniki zostaną przekazane do Defender dla Chmury:

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

Findings from third-party security tools will appear as 'Azure DevOps repositories should have code scanning findings resolved' assessments associated with the repository the security finding was identified in.