Guia de integração técnica 42Crunch
O 42Crunch permite uma abordagem padronizada para proteger APIs que automatiza a aplicação da conformidade de segurança de API entre equipes de desenvolvimento e segurança distribuídas. A plataforma de segurança da API 42Crunch permite que os desenvolvedores criem segurança do ambiente de desenvolvimento integrado (IDE) para o pipeline de CI/CD. Essa abordagem 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 móveis e da Web, o 42Crunch executa um conjunto de testes que são criados com precisão e direcionados para cada API com base em seu design específico. Usando o arquivo de definição OpenAPI (ou seja, Swagger) como fonte primária, o mecanismo 42Crunch Scan executa uma bateria de testes que validam o quão perto a API está em conformidade com o design pretendido. Esta verificação de conformidade identifica vários problemas de segurança, incluindo as 10 principais vulnerabilidades do OWASP, códigos de resposta impróprios e violações de esquema. Esses problemas são relatados com contexto avançado, incluindo possíveis cenários de exploração e orientação 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 42Crunch.
Como a qualidade da especificação da API determina em grande parte a cobertura e a eficácia da varredura, é importante garantir que sua especificação OpenAPI esteja bem definida. 42Crunch Audit realiza uma análise estática do arquivo de especificação 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 problemas semânticos e de segurança 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.
Enablement
Nota
As etapas a seguir percorrem o processo de configuração da versão gratuita do 42Crunch. Consulte a secção Perguntas frequentes para saber mais sobre as diferenças entre as versões gratuita e paga do 42Crunch e como comprar o 42Crunch no Azure Marketplace.
Ao confiar nos serviços 42Crunch Audit and Scan , os desenvolvedores podem testar e fortalecer APIs proativamente em seus pipelines de CI/CD por meio de testes estáticos e dinâmicos de APIs em relação aos principais riscos de API OWASP e às melhores práticas de especificação OpenAPI. Os resultados da verificação de segurança do 42Crunch agora estão disponíveis no Defender for Cloud, garantindo que as equipes centrais de segurança tenham visibilidade da integridade das APIs dentro da experiência de recomendação do Defender for Cloud e possam tomar medidas de governança nativamente disponíveis por meio das recomendações do Defender for Cloud.
Conecte seus ambientes de DevOps ao Microsoft Defender for Cloud
Esse recurso requer a conexão do ambiente de DevOps ao Defender for Cloud.
Veja como integrar suas organizações do GitHub.
Veja como integrar suas organizações do Azure DevOps.
Configurar o serviço de Auditoria 42Crunch
A ação Teste de Segurança Estática da API REST localiza os contratos da API REST que seguem a Especificação OpenAPI (OAS, anteriormente conhecida como Swagger) e executa verificações de segurança completas neles. O OAS v2 e v3 são suportados, nos formatos JSON e YAML.
A ação é alimentada pelo 42Crunch API Security Audit. A Auditoria de Segurança realiza uma análise estática da definição da API que inclui mais de 300 verificações sobre práticas recomendadas e vulnerabilidades potenciais sobre como a API define esquemas de autenticação, autorização, transporte e solicitação/resposta.
Para ambientes GitHub
Instale o plug-in 42Crunch API Security Audit dentro do seu pipeline de CI/CD concluindo as seguintes etapas:
Iniciar sessão no GitHub.
Selecione um repositório para o qual você deseja configurar a ação do GitHub.
Selecione Ações.
Selecione Novo fluxo de trabalho.
Para criar um novo fluxo de trabalho padrão:
Escolha Configurar um fluxo de trabalho você mesmo.
Renomeie o fluxo de trabalho de
main.yaml
para42crunch-audit.yml
.Copie o fluxo de trabalho de exemplo completo e cole-o no editor de fluxo de trabalho.
Nota
Esse fluxo de trabalho pressupõe que você tenha a Verificação de Código do GitHub habilitada. Se ativada, verifique se a opção de verificação de upload para código está definida como true. Caso você não tenha a Verificação de código do GitHub habilitada, verifique se a opção de verificação de upload para código está definida como false e siga as etapas adicionais abaixo na seção Habilitando a integração do Defender for Cloud sem a verificação de código do GitHub.
Selecione Confirmar alterações. Você pode confirmar diretamente com a ramificação principal ou criar uma solicitação pull. Recomendamos seguir as práticas recomendadas do GitHub criando uma RP, pois o fluxo de trabalho padrão é iniciado quando uma RP é aberta na ramificação principal.
Selecione Ações e verifique se a nova ação está em execução.
Após a conclusão do fluxo de trabalho, selecione Segurança e, em seguida, selecione Verificação de código para exibir os resultados.
Selecione um alerta de verificação de código detetado pelo teste de segurança estática da API REST do 42Crunch. Você também pode filtrar por ferramenta na guia Verificação de código. Filtre os testes de segurança estática da API REST do 42Crunch.
Agora você verificou que os resultados da auditoria estão sendo exibidos na Verificação de código do GitHub. Em seguida, verificamos se esses resultados da auditoria estão disponíveis no Defender for Cloud. Pode levar até 30 minutos para que os resultados sejam exibidos no Defender for Cloud.
Habilite a integração do Defender for Cloud sem a verificação de código do GitHub
Se você não tiver a Verificação de Código do GitHub para seu ambiente e desejar integrar os resultados da verificação de segurança do 42Crunch ao Defender for Cloud, siga estas etapas. Depois de adicionar a etapa de fluxo de trabalho do 42Crunch, adicione as etapas a seguir ao seu fluxo de trabalho do GitHub para enviar os resultados da verificação diretamente para o Defender for Cloud 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, adicione uma permissão adicional ao fluxo de trabalho, definindo id-token para gravar.
Depois de executar o fluxo de trabalho, pode levar até 30 minutos para que os resultados sejam exibidos no Defender for Cloud.
Navegue até o Defender for Cloud
- Selecione Recomendações.
- Selecione Todas as recomendações.
- Filtre pesquisando testes de segurança de API.
- Selecione a recomendação Os repositórios do GitHub devem ter as descobertas de testes de segurança da API resolvidas.
A recomendação selecionada mostra todos os resultados da 42Crunch Audit. Você concluiu a integração para a etapa 42Crunch Audit.
Para ambientes de DevOps do Azure
Instale a extensão 42Crunch Azure DevOps na sua organização.
Crie um novo pipeline em seu projeto do Azure DevOps. Para obter um tutorial sobre como criar seu primeiro pipeline, consulte Criar seu primeiro pipeline.
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'
Executar o pipeline.
Para verificar se os resultados estão sendo publicados corretamente no Azure DevOps, valide se 42Crunch-AuditReport.sarif está sendo carregado para os artefatos de compilação na pasta CodeAnalysisLogs .
Você concluiu o processo de integração. Em seguida, verificamos se os resultados são exibidos no Defender for Cloud.
Navegue até o Defender for Cloud:
- Selecione Recomendações.
- Selecione Todas as recomendações.
- Filtre pesquisando testes de segurança de API.
- Selecione a recomendação Os repositórios AzureDevOps devem ter as descobertas de teste de segurança da API resolvidas.
A recomendação selecionada mostra todos os resultados da 42Crunch Audit. Você concluiu a integração para a etapa 42Crunch Audit.
Configurar o serviço 42Crunch Scan
O API Scan verifica continuamente a API para garantir a conformidade com o contrato OpenAPI e detetar vulnerabilidades no momento do teste. Ele deteta os 10 principais problemas de segurança da API 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 de API em tempo real que não seja de produção e as credenciais necessárias (chave de API/token de acesso). Siga estas etapas para configurar o 42Crunch Scan.
Consulte azure-pipelines-scan.yaml no tutorial para as tarefas específicas do ADO.
FAQ
Como o 42Crunch ajuda os desenvolvedores a identificar e corrigir problemas de segurança da API?
A verificação de auditoria e conformidade de segurança 42Crunch identifica vulnerabilidades potenciais que existem em APIs no início do ciclo de vida de desenvolvimento. Os resultados da verificação incluem contexto avançado, incluindo uma descrição da vulnerabilidade e da exploração associada, além de orientações detalhadas sobre correção. As verificações podem ser executadas automaticamente na plataforma CI/CD ou incrementalmente pelo desenvolvedor dentro de seu IDE através de uma das extensões 42Crunch IDE.
O 42Crunch pode ser usado para impor a conformidade com padrões mínimos de qualidade e segurança para desenvolvedores?
Sim. O 42Crunch inclui a capacidade de impor a conformidade usando Portões de Qualidade de Segurança (SQG). Os SQGs são compostos por certos critérios que devem 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 críticos de gravidade não seja aprovada. No CI/CD, a Auditoria ou Verificação 42Crunch pode ser configurada para falhar em uma compilação se ela não passar por um SQG, exigindo assim que um desenvolvedor resolva o problema subjacente antes de enviar seu código.
A versão gratuita do 42Crunch usa SQGs padrão para Auditoria e Digitalização, enquanto a versão empresarial paga permite a personalização de SQGs e tags, o que permite que SQGs sejam aplicados seletivamente a agrupamentos de APIs.
Quais dados são armazenados no serviço SaaS da 42Crunch?
Uma versão de avaliação gratuita limitada da verificação de conformidade e auditoria de segurança 42Crunch pode ser implantada em CI/CD, que gera relatórios localmente sem a necessidade de uma conexão SaaS 42Crunch. Nesta versão, não há 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 e-mail dos usuários da plataforma 42Crunch.
- Arquivos OpenAPI/Swagger (descrições de APIs de clientes).
- Relatórios que são gerados durante as tarefas de verificação de Auditoria e Conformidade de segurança realizadas pela 42Crunch.
Como é licenciado o 42Crunch?
O 42Crunch é licenciado com base em uma combinação do número de APIs e do número de desenvolvedores provisionados na plataforma. Por exemplo, pacotes de preços, consulte esta listagem de marketplace. Os preços personalizados estão disponíveis através de ofertas privadas no mercado comercial do Azure. Para obter um orçamento personalizado, entre em contato com mailto:sales@42crunch.com.
Qual é a diferença entre a versão gratuita e 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.
Para a versão gratuita do 42Crunch, os plugins do 42Crunch CI/CD funcionam de forma independente, sem necessidade de entrar na plataforma 42Crunch. Os resultados da auditoria e da verificação são disponibilizados no Microsoft Defender for Cloud, bem como na plataforma CI/CD. As auditorias e verificações são limitadas a até 25 execuções por mês cada, por repo, com um máximo de três repositórios.
Para a versão empresarial paga do 42Crunch, as auditorias e verificações ainda são executadas localmente em CI/CD, mas podem ser sincronizadas com o serviço da plataforma 42Crunch, onde você pode usar vários recursos avançados, incluindo portas de qualidade de segurança personalizáveis, dicionários de dados e marcação. Embora a versão corporativa seja licenciada para um determinado número de APIs, não há limites para o número de auditorias e verificações que podem ser executadas mensalmente.
O 42Crunch está disponível no mercado comercial do Azure?
Sim, o 42Crunch está disponível para compra no mercado comercial da Microsoft aqui.
Tenha em atenção que as compras do 42Crunch efetuadas através do mercado comercial do Azure contam para os seus Compromissos Mínimos de Consumo do Azure (MACC).