Поделиться через


Настройте действие Microsoft Security DevOps GitHub

Microsoft Security DevOps — это приложение командной строки, которое интегрирует статические средства анализа в жизненный цикл разработки. DevOps по безопасности устанавливает, настраивает и запускает последние версии инструментов статического анализа, таких как SDL, а также средства безопасности и инструменты для обеспечения соответствия требованиям. DevOps безопасности управляется данными и использует переносимые конфигурации, которые обеспечивают детерминированное выполнение в нескольких средах.

Microsoft Security DevOps использует следующие средства Open Source:

Имя Language Лицензия
Антивредоносное ПО Защита от вредоносных программ в Windows от Microsoft Defender для конечной точки, которая проверяет наличие вредоносных программ и прерывает сборку, если вредоносные программы найдены. Это средство сканирует по умолчанию на агенте Windows-latest. Не открытый исходный код
Bandit Питон Лицензия Apache 2.0
BinSkim Бинарный файл – Windows, ELF Лицензия MIT
Checkov Terraform, план Terraform, CloudFormation, AWS SAM, Kubernetes, Helm chart, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM Лицензия Apache 2.0
ESlint JavaScript Лицензия MIT
Анализатор шаблонов Шаблон ARM, Bicep Лицензия MIT
Terrascan Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation Лицензия Apache 2.0
Trivy образы контейнеров, инфраструктура как код (IaC) Лицензия Apache 2.0

Предпосылки

Настройте действие Microsoft Security DevOps GitHub

Чтобы настроить действие GitHub, выполните следующее:

  1. Войдите в GitHub.

  2. Выберите репозиторий, для которого нужно настроить действие GitHub.

  3. Выберите Действия.

    Снимок экрана: расположение кнопки

  4. Выберите Новый рабочий процесс.

  5. На странице "Начало работы с GitHub Actions" выберите настроить рабочий процесс самостоятельно

    Снимок экрана, показывающий, где выбрать новую кнопку рабочего процесса.

  6. В текстовом поле введите имя файла рабочего процесса. Например: msdevopssec.yml.

    Снимок экрана, на котором показано, где ввести имя нового рабочего процесса.

  7. Скопируйте и вставьте следующий пример рабочего процесса действия на вкладку "Изменить новый файл".

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

    Замечание

    Дополнительные параметры и инструкции по настройке инструментов см. вики-сайте Microsoft Security DevOps

  8. Выберите Начать фиксацию

    Скриншот, показывающий, где выбрать начальный коммит.

  9. Выберите "Зафиксировать новый файл". Обратите внимание, что процесс может занять до одной минуты.

    Снимок экрана, показывающий, как зафиксировать новый файл.

  10. Выберите действия и убедитесь, что выполняется новое действие.

    Снимок экрана, на котором показано, куда перейти, чтобы увидеть, что выполняется новое действие.

Просмотр результатов сканирования

Чтобы просмотреть результаты сканирования, выполните приведенные далее действия.

  1. Войдите в Azure.

  2. Перейдите в Defender for Cloud > Безопасность DevOps.

  3. В модуле безопасности DevOps вы должны начать видеть те же результаты безопасности MSDO, которые разработчики видят в журналах непрерывной интеграции (CI), в течение нескольких минут после настройки для соответствующего репозитория. Клиенты с GitHub Advanced Security также увидят результаты, полученные из этих средств.

Подробнее

Дальнейшие шаги

Дополнительные сведения о безопасности DevOps см. в Defender для облака.

Узнайте, как подключить организации GitHub к Defender для облака.