Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Microsoft Security DevOps é um aplicativo de linha de comando que integra a análise estática ao seu ciclo de vida de desenvolvimento. Ele instala, configura e executa os analisadores mais recentes de SDL, segurança e conformidade usando configurações portáteis para garantir a execução consistente e determinística entre ambientes.
O Microsoft Security DevOps usa as seguintes ferramentas de software livre:
| Nome | Linguagem | Licença |
|---|---|---|
| AntiMalware | Proteção antimalware no Windows do Microsoft Defender para Endpoint. Verifica o malware e interrompe o build se o conteúdo mal-intencionado for detectado. É executado por padrão no agente mais recente do Windows. | Não é de software livre |
| Bandit | Python | Licença do Apache 2.0 |
| BinSkim | Destinos binários: Windows, ELF | Licença MIT |
| Checkov | Terraform, plano Terraform, CloudFormation, AWS SAM, Kubernetes, gráficos Helm, Kustomize, Dockerfile, Sem servidor, Bicep, OpenAPI, ARM | Licença do Apache 2.0 |
| ESLint | JavaScript | Licença MIT |
| IaCFileScanner | Ferramenta de mapeamento de modelo para Terraform, CloudFormation, modelos do ARM e Bicep | Não é de software livre |
| Analisador de Modelos | Modelos do ARM, Bicep | Licença MIT |
| Terrascan | Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation | Licença do Apache 2.0 |
| Trivy | Imagens de contêiner, infraestrutura como código (IaC) | Licença do Apache 2.0 |
Observação
A partir de 20 de setembro de 2023, a ferramenta de verificação de segredos (CredScan) dentro da Extensão do MSDO (Microsoft Security DevOps) para Azure DevOps foi preterida. A verificação de segredos do MSDO é substituída pela Segurança Avançada do GitHub para Azure DevOps.
Pré-requisitos
- Você precisa de privilégios de Administrador de Coleção de Projetos em sua organização do Azure DevOps para instalar a extensão. Se você não tiver acesso, solicite-o ao administrador do Azure DevOps durante a instalação.
Configurar a extensão do Microsoft Security DevOps para o Azure DevOps
Entre no Azure DevOps.
Vá para Sacola de Compras>Gerenciar extensões.
Selecione Compartilhado.
Observação
Se você já instalou a extensão DevOps de Segurança da Microsoft, ela está listada na guia Instalado.
Selecione Microsoft Security DevOps.
Selecione Instalar.
Selecione a organização apropriada no menu suspenso.
Selecione Instalar.
Selecione Prosseguir para a organização.
Configurar pipelines usando YAML
Entre no Azure DevOps.
Selecione o projeto.
Vá para Pipelines>Novo pipeline.
Selecionar Git do Azure Repos.
Selecione o repositório relevante.
Selecione Pipeline Inicial.
Cole o seguinte YAML no pipeline:
# 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*.Observação
O artifactName 'CodeAnalysisLogs' é necessário para integração com o Defender para Nuvem. Para obter mais opções de configuração de ferramentas e variáveis de ambiente, consulte o wiki de DevOps de Segurança da Microsoft
Selecione Salvar e executar para confirmar e executar o pipeline.
Observação
Instale a extensão SARIF SAST Scans Tab para exibir automaticamente os resultados da análise SARIF na guia Verificações do pipeline.
Carregando descobertas de ferramentas de segurança de terceiros no Defender para Nuvem
O Defender for Cloud pode ingerir resultados SARIF de outras ferramentas de segurança para visibilidade do código até a nuvem. Para carregar esses resultados, verifique se os repositórios do Azure DevOps estão integrados ao Defender para Nuvem. Após a integração, o Defender para Nuvem monitora continuamente o artefato CodeAnalysisLogs em busca de saída SARIF.
Utilize a tarefa PublishBuildArtifacts@1 para publicar arquivos SARIF no artefato CodeAnalysisLogs. Por exemplo:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'results.sarif'
ArtifactName: 'CodeAnalysisLogs'
O Defender para Nuvem exibe essas descobertas na avaliação Os repositórios do Azure DevOps devem ter as descobertas da verificação de código resolvidas para o repositório afetado.