Compartilhar via


Guia de integração técnica do 42Crunch

O 42Crunch habilita uma abordagem padronizada para proteger APIs que automatiza a imposição da conformidade de segurança da API em equipes de desenvolvimento e segurança distribuídas. A plataforma de segurança da API do 42Crunch capacita os desenvolvedores a criar segurança a partir do ambiente de desenvolvimento integrado (IDE) no pipeline de CI/CD. Essa abordagem de DevSecOps perfeita para a segurança da API reduz os custos de governança e acelera a entrega de APIs seguras.

Abordagem de teste de segurança

Ao contrário das ferramentas DAST tradicionais que são usadas para verificar aplicativos para dispositivos móveis e para a Web, o 42Crunch executa um conjunto de testes que são precisamente elaborados e direcionados para cada API com base no seu projeto específico. Utilizando o arquivo de origem primária da definição da OpenAPI (ou seja, Swagger), o mecanismo de verificação do 42Crunch executa uma bateria de testes que validam a proximidade da conformidade da API com o projeto pretendido. Essa Verificação de Conformidade identifica vários problemas de segurança, incluindo as 10 principais vulnerabilidades do OWASP, códigos de resposta inadequados e violações de esquema. Esses problemas são relatados com um contexto avançado, incluindo possíveis cenários de exploração e diretrizes de correção.

As verificações podem ser executadas automaticamente como parte de um pipeline de CI/CD ou manualmente através de um IDE ou da plataforma de nuvem do 42Crunch.

Como a qualidade da especificação da API determina em grande parte a cobertura e a eficácia da verificação, é importante garantir que sua especificação da OpenAPI esteja bem definida. A Auditoria do 42Crunch realiza uma análise estática do arquivo de especificação do OpenAPI com o objetivo de ajudar o desenvolvedor a melhorar a segurança e a qualidade da especificação. A auditoria determina uma pontuação de segurança composta de 0 a 100 para cada arquivo de especificação. À medida que os desenvolvedores corrigem os problemas de segurança e semântica identificados pela Auditoria, a pontuação melhora. O 42Crunch recomenda uma pontuação de Auditoria de pelo menos 70 antes de executar uma verificação de conformidade.

Habilitação

Observação

As etapas a seguir executam o processo de configuração da versão gratuita do 42Crunch. Consulte a seção perguntas frequentes para saber mais sobre as diferenças entre as versões gratuita e paga do 42Crunch e como adquirir o 42Crunch no Azure Marketplace.

Por meio dos serviços de Auditoria e Verificação do 42Crunch, os desenvolvedores podem testar e proteger proativamente as APIs em seus pipelines de CI/CD por meio de testes estáticos e dinâmicos de APIs em relação aos principais riscos da API da OWASP e às melhores práticas de especificação da OpenAPI. Os resultados da verificação de segurança do 42Crunch agora estão disponíveis no Defender para Nuvem, assegurando que as equipes de segurança central tenham visibilidade da integridade das APIs na experiência de recomendação do Defender para Nuvem e possam executar as etapas de governança disponíveis nativamente por meio das recomendações do Defender para Nuvem.

Conectar seus ambientes de DevOps ao Microsoft Defender para Nuvem

Esse recurso requer a conexão do ambiente de DevOps ao Defender para Nuvem.

Consulte como integrar suas organizações do GitHub.

Veja como integrar suas organizações do Azure DevOps.

Configurar o serviço de auditoria do 42Crunch

A ação Teste estático de segurança da API REST localiza contratos da API REST que seguem a especificação do OpenAPI (OAS, anteriormente conhecido como Swagger) e executa verificações de segurança completas neles. Há suporte para OAS v2 e v3, nos formatos JSON e YAML.

A ação é alimentada para Auditoria de Segurança da API do 42Crunch. A Auditoria de Segurança realiza uma análise estática da definição da API que inclui mais de 300 verificações de melhores práticas e potenciais vulnerabilidades sobre como a API define os esquemas de autenticação, autorização, transporte e solicitação/resposta.

Para ambientes do GitHub

Instale o plug-in de Auditoria de Segurança da API do 42Crunch no seu pipeline de CI/CD concluindo as seguintes etapas:

  1. Entre no GitHub.

  2. Selecione um repositório para o qual deseja configurar a ação do GitHub.

  3. Selecione Ações.

  4. Selecione Novo Fluxo de Trabalho.

    Captura de tela mostrando a nova seleção de fluxo de trabalho.

Para criar um novo fluxo de trabalho padrão:

  1. Escolha Configurar um fluxo de trabalho você mesmo.

  2. Renomeie o fluxo de trabalho de main.yaml para 42crunch-audit.yml.

  3. Ir para https://github.com/marketplace/actions/42crunch-rest-api-static-security-testing-freemium#full-workflow-example.

  4. Copie o fluxo de trabalho de amostra completo e cole-o no editor de fluxo de trabalho.

    Observação

    Esse fluxo de trabalho pressupõe que você tenha a Digitalização de Código do GitHub habilitada. Certifique-se de que a opção upload-to-code-scanning esteja definida como true. Caso a Digitalização de Código do GitHub não esteja habilitada, verifique se a opção upload-to-code-scanning está definida como false e siga as etapas adicionais abaixo na seção Habilitar a integração do Defender para Nuvem sem a Digitalização de Código do GitHub.

    Captura de tela mostrando o editor de fluxo de trabalho do GitHub.

  5. Selecione Confirmar alterações. Você pode confirmar diretamente na ramificação principal ou efetuar uma pull request. Recomendamos que você siga as melhores práticas do GitHub criando uma PR, pois o fluxo de trabalho padrão é iniciado quando uma PR é aberta em relação à ramificação principal.

  6. Selecione Ações e verifique se a nova ação está em execução.

    Captura de tela mostrando a nova ação em execução.

  7. Após a conclusão do fluxo de trabalho, selecione Segurança e, em seguida, Verificação de código para exibir os resultados.

  8. Selecione um alerta de Verificação de código detectado pelo Teste de Segurança Estática da API REST do 42Crunch. Também é possível filtrar por ferramenta na guia Verificação de código. Filtro em Teste de Segurança Estática da API REST do 42Crunch.

    Captura de tela mostrando o alerta de verificação de código.

Agora você verificou que os resultados da auditoria estão sendo mostrados na Verificação de Código do GitHub. Em seguida, verificamos se esses resultados da Auditoria estão disponíveis no Defender para Nuvem. Pode levar até 30 minutos para que os resultados sejam mostrados no Defender para Nuvem.

Habilitar a integração do Defender para Nuvem sem a digitalização de código do GitHub

Se você não tiver a Digitalização de Código do GitHub para seu ambiente e quiser integrar os resultados da verificação de segurança do 42Crunch ao Defender para Nuvem, siga estas etapas. Depois de adicionar a etapa de fluxo de trabalho do 42Crunch, adicione as etapas a seguir ao fluxo de trabalho do GitHub para enviar resultados de verificação diretamente ao Defender para Nuvem usando a Ação GitHub do Microsoft Security DevOps.

- name: save-sarif-report
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: 42Crunch_AuditReport_${{ github.run_id }}
          path: 42Crunch_AuditReport_${{ github.run_id }}.SARIF
          if-no-files-found: error
- name: Upload results to MSDO
        uses: microsoft/security-devops-action@v1
        id: msdo
        with:
          existingFilename: 42Crunch_AuditReport_${{ github.run_id }}.SARIF

Em seguida, insira uma permissão adicional ao fluxo de trabalho, definindo id-token como write.

Depois de executar o fluxo de trabalho, pode levar até 30 minutos para que os resultados sejam mostrados no Defender para Nuvem.

  1. Selecione Recomendações.
  2. Selecione Todas as recomendações.
  3. Filtrar pesquisando por Teste de segurança da API.
  4. Selecione a recomendação Os repositórios no GitHub devem ter as descobertas de testes de segurança de API resolvidas.

A recomendação selecionada mostra todas as descobertas da Auditoria do 42Crunch. Você concluiu a integração da etapa de auditoria do 42Crunch.

Captura de tela mostrando o resumo da API.

Para ambientes do Azure DevOps

  1. Instale a extensão 42Crunch do Azure DevOps na sua organização.

  2. Crie um pipeline em seu projeto do Azure DevOps. Para obter um tutorial para criar seu primeiro pipeline, consulte Criar seu primeiro pipeline.

  3. Edite o pipeline criado copiando no seguinte fluxo de trabalho:

    trigger:
    branches:
       include:
          - main
    
    jobs:
    - job: run_42crunch_audit
       displayName: 'Run Audit'
       pool:
          vmImage: 'ubuntu-latest'
       steps:
          - task: UsePythonVersion@0
          inputs:
             versionSpec: '3.11'
             addToPath: true
             architecture:  x64
          - task: APISecurityAuditFreemium@1
          inputs:
             enforceSQG: false
             sarifReport: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif'
             exportAsPDF: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.pdf'
          - task: PublishBuildArtifacts@1
          displayName: publishAuditSarif
          inputs:
             PathtoPublish: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif '
             ArtifactName: 'CodeAnalysisLogs'
             publishLocation: 'Container'
    
  4. Execute o pipeline.

  5. Para verificar se os resultados estão sendo publicados corretamente no Azure DevOps, valide se 42Crunch-AuditReport.sarif está sendo carregado nos Artefatos de Build na pasta CodeAnalysisLogs.

  6. Você concluiu o processo de integração. Em seguida, verificamos se os resultados são mostrados no Defender para Nuvem.

Navegue até o Defender para Nuvem:

  1. Selecione Recomendações.
  2. Selecione Todas as recomendações.
  3. Filtrar pesquisando por Teste de segurança da API.
  4. Selecione a recomendação Os repositórios no Azure DevOps devem ter as descobertas de testes de segurança de API resolvidas.

A recomendação selecionada mostra todas as descobertas da Auditoria do 42Crunch. Você concluiu a integração da etapa de auditoria do 42Crunch.

Captura de tela mostrando a recomendação do Azure DevOps.

Configurar o serviço de Verificação do 42Crunch

A Verificação de AP verifica continuamente a API para garantir a conformidade com o contrato do OpenAPI e detectar vulnerabilidades no momento do teste. Ele detecta os 10 principais problemas de segurança de API do OWASP no início do ciclo de vida da API e valida que suas APIs podem lidar com solicitações inesperadas.

A verificação requer um ponto de extremidade da API dinâmica que não seja de produção e as credenciais necessárias (chave de API/token de acesso). Executa as etapas a seguir para configurar a Verificação do 42Crunch.

Consulte o azure-pipelines-scan.yaml no tutorial para as tarefas específicas do ADO.

Perguntas frequentes

Como o 42Crunch ajuda os desenvolvedores a identificar e corrigir os problemas de segurança de API?

A auditoria de segurança e a verificação de conformidade do 42Crunch identificam potenciais vulnerabilidades existentes nas APIs no início do ciclo de vida do desenvolvimento. Os resultados da verificação incluem um contexto avançado, incluindo uma descrição da vulnerabilidade e da exploração associada, além de diretrizes detalhadas de correção. As verificações podem ser executadas automaticamente na plataforma CI/CD ou de forma incremental pelo desenvolvedor no seu IDE através de uma das extensões do IDE do 42Crunch.

É possível usar o 42Crunch para impor aos desenvolvedores o cumprimento de padrões mínimos de qualidade e segurança?

Sim. A 42Crunch inclui a capacidade de impor a conformidade utilizando Portões de Qualidade de Segurança (SQG). Os SQGs são compostos por determinados critérios que precisam ser atendidos para passar com sucesso em uma Auditoria ou Verificação. Por exemplo, um SQG pode garantir que uma Auditoria ou Verificação com um ou mais problemas de severidade crítica não seja aprovada. Em CI/CD, a Auditoria ou Verificação do 42Crunch pode ser configurada para falhar em uma compilação se ela não passar em um SQG, requerendo, assim, que o desenvolvedor resolva o problema subjacente antes de efetuar push de seu código.

A versão gratuita do 42Crunch usa SQGs padrão para Auditoria e Verificação, enquanto a versão paga para empresas permite a personalização de SQGs e marcas, que permitem que os SQGs sejam aplicados seletivamente a agrupamentos de APIs.

Quais dados são armazenados no serviço de SaaS do 42Crunch?

Uma versão de avaliação gratuita limitada da verificação de conformidade e auditoria de segurança do 42Crunch pode ser implantada em CI/CD, o que gera relatórios localmente sem a necessidade de uma conexão SaaS do 42Crunch. Nessa versão, não existem dados compartilhados com a plataforma 42Crunch.

Para a versão empresarial completa da plataforma 42Crunch, os seguintes dados são armazenados na plataforma SaaS:

  • Nome, sobrenome, endereços de email dos usuários da plataforma 42Crunch.
  • Arquivos OpenAPI/Swagger (descrições das APIs do cliente).
  • Relatórios que são gerados durante as tarefas de auditoria de segurança e verificação de conformidade realizadas pelo 42Crunch.

Como o 42Crunch é licenciado?

O 42Crunch é licenciado com base em uma combinação do número de APIs e do número de desenvolvedores provisionados na plataforma. Para obter exemplos de pacotes de preços, confira essa listagem do marketplace. A personalização de preços está disponível através de ofertas privadas no marketplace comercial do Azure. Para obter uma cotação personalizada, entre em contato com mailto:sales@42crunch.com.

Qual é a diferença entre a versão gratuita e a versão paga do 42Crunch?

O 42Crunch oferece uma versão limitada gratuita e uma versão empresarial paga da verificação de auditoria e conformidade de segurança.

Na versão gratuita do 42Crunch, os plug-ins de CI/CD do 42Crunch funcionam de forma autônoma, sem requerer que o usuário entre na plataforma 42Crunch. Os resultados da auditoria e da verificação são disponibilizados no Microsoft Defender para Nuvem, bem como na plataforma CI/CD. As auditorias e verificações são limitadas a até 25 execuções por mês cada, por repositório, com um máximo de três repositórios.

Na versão empresarial do 42Crunch para empresas, as auditorias e verificações ainda são executadas localmente em CI/CD, mas podem ser sincronizadas com o serviço de plataforma 42Crunch, no qual é possível usar vários recursos avançados, incluindo portões de qualidade de segurança personalizáveis, dicionários de dados e marcação. Embora a versão para empresas seja licenciada para um determinado número de APIs, não existem limites para o número de auditorias e verificações que podem ser executadas mensalmente.

O 42Crunch está disponível no marketplace comercial do Azure?

Sim, o 42Crunch está disponível para compra no marketplace comercial da Microsoft aqui.

Observe que as compras do 42Crunch feitas através do marketplace comercial do Azure contam para seus Compromissos Mínimos de Consumo do Azure (MACC).

Próximas etapas

Visão geral do Microsoft Defender para APIs