Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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:
| Nome | Linguagem | Licença |
|---|---|---|
| AntiMalware | Proteção antimalware no Windows do Microsoft Defender for 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, Terraform plan, CloudFormation, AWS SAM, Kubernetes, Helm charts, 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 |
Observação
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
- 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 você não tiver acesso, solicite-o ao administrador do Azure DevOps durante a instalação.
Configurar a extensão Microsoft Security DevOps para Azure DevOps
Iniciar sessão no Azure DevOps.
Vá para Shopping Bag>Gerenciar extensões.
Selecione Compartilhado.
Observação
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
Entre no Azure DevOps.
Selecione o seu projeto.
Vá para Pipelines>Novo Pipeline.
Selecione Azure Repos 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*.Observação
O artifactName 'CodeAnalysisLogs' é necessário para a integração com o Defender for Cloud. Para obter opções adicionais de configuração de ferramentas e variáveis de ambiente, consulte o wiki Microsoft Security DevOps
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 Scans do pipeline.
Upload de descobertas de ferramentas de segurança de terceiros para o Defender for Cloud
O Defender for 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 for Cloud. Após a integração, o Defender for Cloud monitora continuamente o CodeAnalysisLogs artefato para a saída SARIF.
Utilize a PublishBuildArtifacts@1 tarefa para publicar ficheiros SARIF no CodeAnalysisLogs artefacto. Por exemplo:
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: 'results.sarif'
ArtifactName: 'CodeAnalysisLogs'
O Defender for 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.