Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 mais recentes analisadores de SDL, segurança e conformidade usando configurações portáteis para garantir uma execução consistente e determinística em todos os ambientes.
O Microsoft Security DevOps usa as seguintes ferramentas de código aberto:
| Name | Linguagem | License |
|---|---|---|
| AntiMalware | Proteção antimalware no Windows do Microsoft Defender para Endpoint. Verifica a existência de malware e quebra a compilação se for detetado conteúdo malicioso. É executado por padrão no agente mais recente do Windows. | Não é de código aberto |
| Bandit | Python | Apache Licença 2.0 |
| BinSkim | Alvos binários: Windows, ELF | Licença MIT |
| Checkov | Terraform, plano Terraform, CloudFormation, AWS SAM, Kubernetes, gráficos de Helm, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM | Apache Licença 2.0 |
| ESLint | JavaScript | Licença MIT |
| IaCFileScanner | Ferramenta de mapeamento de modelos para Terraform, CloudFormation, modelos ARM e Bicep | Não é de código aberto |
| Analisador de modelos | Modelos ARM, Bíceps | Licença MIT |
| Terrascan | Terraform (HCL2), Kubernetes (JSON / YAML), Leme v3, Kustomize, Dockerfiles, CloudFormation | Apache Licença 2.0 |
| Trivy | Imagens de contêiner, infraestrutura como código (IaC) | Apache Licença 2.0 |
Note
A partir de 20 de setembro de 2023, a ferramenta de verificação de segredos (CredScan) na Extensão Microsoft Security DevOps (MSDO) para Azure DevOps foi preterida. A verificação de segredos do MSDO é substituída pelo GitHub Advanced Security for Azure DevOps.
Pré-requisitos
Antes de instalar a extensão, certifique-se de que cumpre os seguintes pré-requisitos:
- Você precisa de privilégios de Administrador da Coleção de Projetos em sua organização do Azure DevOps para instalar a extensão. Se não tiver acesso, peça estes privilégios ao seu administrador do Azure DevOps.
Instalar a extensão
Para instalar a extensão Microsoft Security DevOps:
Iniciar sessão no Azure DevOps.
Vá para Shopping Bag>Gerenciar extensões.
Selecione Compartilhado.
Note
Se você já tiver instalado a extensão Microsoft Security DevOps, 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
Sugestão
Opcional: Instale a extensão do separador SARIF SAST Scans se quiser que os resultados da análise SARIF apareçam automaticamente no separador Scans do pipeline.
Para configurar um pipeline com YAML:
Entre no Azure DevOps.
Seleciona o teu projecto.
Vá para Pipelines>Novo Pipeline.
Selecione Repositórios do Azure Git.
Selecione o repositório relevante.
Selecione Pipeline inicial.
Cole o seguinte ficheiro 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*.Note
O artifactName 'CodeAnalysisLogs' é necessário para a integração com o Defender para a Cloud. Para opções adicionais de configuração de ferramentas e variáveis de ambiente, consulte a wiki Microsoft Security DevOps.
Selecione Salvar e executar para confirmar e executar o pipeline.
Note
Instale a extensão SARIF SAST Scans Tab para exibir automaticamente os resultados da análise SARIF na guia Scans do pipeline.
Upload de descobertas de ferramentas de segurança de terceiros para o Defender para a Cloud
O Defender para a Cloud pode integrar resultados SARIF de outras ferramentas de segurança para visibilidade de código para a nuvem. Para carregar esses resultados, verifique se seus repositórios de DevOps do Azure estão integrados ao Defender para a Cloud. Após a integração, o Defender para a Cloud monitora continuamente o CodeAnalysisLogs artefato para a saída SARIF.
Utilize a PublishBuildArtifacts@1 tarefa para publicar ficheiros SARIF no CodeAnalysisLogs artefacto. O passo YAML seguinte publica o ficheiro de resultados do SARIF como um artefacto de build para que o Defender para a Cloud possa absorver os resultados:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'results.sarif'
ArtifactName: 'CodeAnalysisLogs'
O Defender para a Cloud exibe essas descobertas nos repositórios de DevOps do Azure que devem ter as descobertas de verificação de código resolvidas para o repositório afetado.