Настройка расширения Microsoft Security DevOps Azure DevOps
Microsoft Security DevOps — это приложение командной строки, которое интегрирует статические средства анализа в жизненный цикл разработки. Microsoft Security DevOps устанавливает, настраивает и запускает последние версии статических средств анализа (включая, но не ограничивается средствами SDL/security и compliance). Microsoft Security DevOps управляет данными с переносимыми конфигурациями, которые обеспечивают детерминированное выполнение в нескольких средах.
Microsoft Security DevOps использует следующие средства с открытым исходным кодом:
Имя. | Язык | Лицензия |
---|---|---|
Antimalware | Защита от вредоносных программ в Windows от Microsoft Defender для конечной точки, которая проверяет наличие вредоносных программ и прерывает сборку, если вредоносные программы найдены. Это средство проверяется по умолчанию в агенте windows-latest. | Не открытый исходный код |
Бандит | Python | Лицензия Apache 2.0 |
BinSkim | Binary-Windows, ELF | Лицензия MIT |
ESlint | JavaScript | Лицензия MIT |
IaCFileScanner | Terraform, CloudFormation, шаблон ARM, Bicep | Не открытый исходный код |
Анализатор шаблонов | Шаблон ARM, Bicep | Лицензия MIT |
Terrascan; | Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation | Лицензия Apache 2.0 |
Триви | образы контейнеров, инфраструктура как код (IaC) | Лицензия Apache 2.0 |
Примечание.
С 20 сентября 2023 г. средство сканирования секретов (CredScan) в расширении Microsoft Security DevOps (MSDO) для Azure DevOps устарело. Сканирование секретов MSDO будет заменено на GitHub Advanced Security для Azure DevOps.
Необходимые компоненты
- Для установки расширения требуются права Администратор istrator в организации Azure DevOps.
Если у вас нет доступа к установке расширения, необходимо запросить доступ к администратору организации Azure DevOps во время установки.
Настройка расширения Microsoft Security DevOps Azure DevOps
Чтобы настроить расширение Microsoft Security DevOps Azure DevOps, выполните следующие действия.
Выполните вход в Azure DevOps.
Перейдите к расширениям управления пакетами> покупок.
Выберите Общее.
Примечание.
Если вы уже установили расширение Microsoft Security DevOps, он будет указан на вкладке "Установленные".
Выберите Microsoft Security DevOps.
Выберите Установить.
Выберите соответствующую организацию в раскрывающемся меню.
Выберите Установить.
Щелкните Перейти к организации.
Настройка конвейеров с помощью YAML
Чтобы настроить конвейер с помощью YAML, выполните следующее:
Вход в Azure DevOps
Выберите проект.
Переход к конвейерам
Выберите Создать конвейер.
Выберите Azure Repos Git.
Выберите соответствующий репозиторий.
Выберите Простейший конвейер.
Вставьте следующий YAML в конвейер:
# 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: # command: 'run' | 'pre-job' | 'post-job'. Optional. The command to run. Default: run # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). # policy: 'azuredevops' | '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: 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', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'. # break: boolean. Optional. If true, will fail this build step if any error 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*.
Примечание.
АртефактName "CodeAnalysisLogs" требуется для интеграции с Defender для облака. Дополнительные параметры конфигурации инструментов и переменные среды см . в вики-сайте Microsoft Security DevOps
Чтобы зафиксировать конвейер, нажмите кнопку "Сохранить и запустить".
Конвейер будет выполняться в течение нескольких минут и сохранит результаты.
Примечание.
Установите расширение TAB SARIF SAST Scans в организации Azure DevOps, чтобы убедиться, что созданные результаты анализа будут отображаться автоматически на вкладке "Сканирование".
Отправка результатов из сторонних средств безопасности в Defender для облака
Хотя Defender для облака предоставляет интерфейс командной строки MSDO для стандартных функций и элементов управления политиками в наборе анализаторов безопасности открытый код, вы можете отправлять результаты из других сторонних средств безопасности, которые могут быть настроены в конвейерах CI/CD для Defender для облака для комплексного кода в облако. контекстуализация. Все результаты, отправленные в Defender для облака, должны быть в стандартном формате SARIF.
Сначала убедитесь, что репозитории Azure DevOps подключены к Defender для облака. После успешного подключения Defender для облака постоянно отслеживает артефакт CodeAnalysisLogs для выходных данных SARIF.
Вы можете использовать задачу "PublishBuildArtifacts@1", чтобы убедиться, что выходные данные SARIF публикуются в правильном артефакте. Например, если анализатор безопасности выводит "results.sarif", можно настроить следующую задачу в задании, чтобы убедиться, что результаты передаются в Defender для облака:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'results.sarif'
ArtifactName: 'CodeAnalysisLogs'
Результаты сторонних средств безопасности будут отображаться как "репозитории Azure DevOps должны иметь проверенные результаты проверки кода", связанные с репозиторием, в который был определен поиск secuirty.
Подробнее
- Узнайте, как создать свой первый конвейер.
Следующие шаги
Дополнительные сведения о DevOps Security см. в Defender для облака.
Узнайте, как подключить организации Azure DevOps к Defender для облака.