Close

Como integrar o Snyk e o Bitbucket Cloud para viabilizar o DevSecOps

Foto do rosto de Simon Maple
Simon Maple

CTO de campo na Snyk

Obtenha o DevSecOps integrando o Snyk com o Bitbucket Cloud e o Jira.

O Snyk se integra a diversos produtos da Atlassian para melhorar os fluxos de trabalho e pipelines das equipes de DevSecOps. Este tutorial descreve os padrões que permitem que a segurança mude para a esquerda, aproveitando o Bitbucket da Atlassian e o Snyk. Essas técnicas permitem que as equipe verifique as cargas de trabalho baseadas em contêiner e aplicativo no ritmo do DevSecOps. Você vai aprender como usar esses padrões para incluir a segurança nos estágios do pipeline.

Tempo

15 minutos de leitura.

Público-alvo:

  • Desenvolvedores
  • Engenheiros de DevOps e DevSecOps
  • Equipes de segurança e desenvolvimento de aplicativos

Pré-requisitos

Você tem uma conta Snyk, disponível aqui.

Você tem uma conta do Atlassian Bitbucket. Entre aqui ou comece aqui.

Etapa 1: configure o ambiente

Instale a CLI do Snyk

A CLI do Snyk autentica as máquina usando as conta do Snyk. A ferramenta de CLI ajuda você a encontrar e corrigir vulnerabilidades conhecidas nas suas dependências, com praticidade e no pipeline de CI/CD. As instruções completas para instalar a CLI estão disponíveis no Snyk em vários formatos para sistemas operacionais e ambientes populares. Por exempli, a CLI está disponível com brew com estes comandos:

brew tap snyk/tap
brew install snyk

Depois de instalar a CLI, faça a autenticação com os comandos a seguir:

snyk auth

Este comando abre uma guia do navegador para concluir o processo de autenticação e você está pronto para verificar o repositório ao clicar no botão Autenticar. Quando a autenticação for realizada, você vai poder retornar ao terminal e continuar trabalhando.

Recursos adicionais de laboratório

Os exercícios contidos neste tutorial incluem a combinação de comandos ou fragmentos de código que vão ser compartilhados nas páginas do módulo especificado, bem como templates e códigos-fonte disponíveis no repositório público do Bitbucket. Assim que a conta do Bitbucket Cloud estiver configurada, você vai precisar copiar esses recursos para a conta. Para isso, siga as próximas etapas:

Bifurque o repositório

Clique aqui para bifurcar o repositório upstream na conta do Bitbucket. A documentação da Atlassian oferece instruções específicas sobre como bifurcar um repositório.

Clone a bifurcação no local

Quando a bifurcação for concluída, você vai precisar clonar o repositório bifurcado. Consulte a documentação da Atlassian sobre como clonar um repositório para obter instruções específicas.

Etapa 2: conecte o Snyk ao Bitbucket

Nesta seção, a gente vai conectar o Snyk ao Bitbucket para verificar o aplicativo Bitbucket em busca de vulnerabilidades de código aberto.

Diagrama do processo do Bitbucket

O que é análise de composição de software (SCA)?

A análise de composição de software (SCA) é uma ferramenta de gerenciamento de componentes de código aberto. Ela gera um relatório que lista todos os componentes de código aberto no aplicativo, incluindo dependências diretas e indiretas. Usando uma ferramenta de SCA, as equipes de desenvolvimento podem rastrear e analisar com rapidez os componentes de código aberto inseridos no projeto.

Embora sejam convenientes e muito usados, os componentes de código aberto costumam ser difíceis de rastrear. Como resultado, os desenvolvedores confiam nos processos manuais, como e-mails e planilhas para mitigar a situação. No entanto, esses processos manuais ameaçam perturbar a conveniência oferecida pelo código aberto e oferecem uma solução incompleta. Uma abordagem mais interessante é aproveitar uma ferramenta de SCA que dá insights imediatos sobre cada componente.

Por que usar uma ferramenta de SCA?

Os componentes de código aberto são os principais blocos de construção no desenvolvimento de software em quase todas as verticais. Apesar do tamanho da empresa, a SCA ajuda a identificar componentes de código aberto nos aplicativos que são essenciais para a empresa. As ferramentas de SCA permitem aos desenvolvedores:

1. Entender as dependências usadas em aplicativos.

2. Aplicar políticas de segurança e conformidade em todo o ciclo de vida do desenvolvimento de software (SDLC).

3. Corrigir possíveis vulnerabilidades na fonte com iniciativa

4. Melhorar a eficiência da equipe e a postura de segurança da empresa.

Etapa 3: crie uma senha do aplicativo

Você vai precisar criar uma senha de app para autorizar o Snyk a acessar o repositório e permitir a integração do Bitbucket Cloud do Snyk.

Para criar uma senha de app:

1. A partir do avatar no canto inferior esquerdo, clique em Configurações pessoais.

Janela de configurações pessoais

2. Clique em Senhas do aplicativo sob Gerenciamento de acesso.

janela do gerenciamento de acesso

3. Clique em Criar senha de app.

janela de senha do aplicativo

4. Dê à senha do aplicativo um nome relacionado ao aplicativo que vai usar a senha.

janela de senha do aplicativo

5. Selecione o acesso e as permissões específicas que você quer que a senha do aplicativo tenha.

  • Conta: leitura
  • Associação da equipe: leitura
  • Projetos: leitura
  • Repositórios: leitura e escrita
  • Solicitações pull: leitura e escrita
  • Webhooks: leitura e escrita

6. Copie a senha gerada e registre-a ou cole-a no aplicativo que você quer conceder o acesso. A senha é exibida apenas uma vez.

Etapa 4: adicione variáveis de repositório

Você vai precisar definir variáveis de repositório no nível do repositório, que mais tarde vão ser referenciadas no pipeline. Elas vão consistir em:

  • SNYK_TOKEN - Token de API do Snyk para autenticação com as conta do Snyk. Essa á uma variável segura.
  • IMAGE - Nome da imagem do contêiner. Essa não é uma variável segura.

As outras variáveis são para operações aprimoradas de pipeline, não abordadas neste tutorial.

Janela de configurações do repositório

Etapa 5: obter o token de API do Snyk

1. Obter o token de API do Snyk

No console do Snyk, navegue até Configurações (o ícone de engrenagens na foto) e sob o menu Geral, Copiar o ID da empresa.

Configurações gerais do Snyk

Depois de copiar o token, retorne à interface de usuário do Bitbucket Cloud e defina a variável de repositório SNYK_TOKEN.

Etapa 6: ativar a integração do Bitbucket

No console do Snyk, navegue até Integrações e selecione Bitbucket Cloud.

Janela de integrações do Snyk

Na página de integração do Bitbucket Cloud, insira o nome de usuário do Bitbucket no campo Nome de usuário e a senha do app do Bitbucket da etapa anterior no campo Senha do app. Em seguida, clique em Salvar.

Configurações: janela de integrações

Depois de conectar com sucesso as contas do Snyk e do Bitbucket, você vai ver uma mensagem de confirmação e a opção Adicionar o repositório do Bitbucket Cloud ao Snyk.

Fique nessa página e, na próxima seção, você vai aprender a como importar um repositório do Bitbucket Cloud e verificá-lo com o Snyk.

Verifique e monitore o aplicativo do Bitbucket

miniatura da verificação e monitoramento do bitbucket

A verificação do aplicativo em busca de vulnerabilidades nas dependências de código aberto começa pela fonte. Na seção anterior, a integração do Snyk com o Bitbucket foi realizada e estamos prontos para importar no primeiro projeto.

Etapa 7: adicione repositórios do Bitbucket Cloud ao Snyk

Na última tela da seção anterior, clique em Adicionar o repositório do Bitbucket Cloud ao Snyk.

Adicionar repositórios do Bitbucket Cloud ao Snyk

Encontre o repositório que você bifurcou no módulo Configurar ambiente. Clique na caixa de seleção para selecioná-la e, em seguida, clique no botão Adicionar repositório selecionado para importar o projeto.

Botão Adicionar repositórios selecionados no canto superior direito

Etapa 8: Revisar o relatório de vulnerabilidade

Você deve ver contagens de vulnerabilidades com base em packages.json, bem como informações específicas para cada uma. Clique no projeto que acabou de ser verificado e analise os resultados no Snyk. Você não vai receber apenas o contexto, como gravidade e maturidade de exploração das vulnerabilidades, mas também as funções poderosas a seguir:

Relatório de vulnerabilidades
  • Corrigir esta vulnerabilidade ajuda você a corrigir vulnerabilidades fazendo o upgrade das dependências diretas ou aplicando patches.
  • Pontuação de prioridade ajuda você a priorizar correções com eficácia. A pontuação, que varia de 1 a 1000, é alimentada por um algoritmo proprietário que processa uma ampla variedade de fatores, como a pontuação CVSS, a disponibilidade de explorações conhecidas fixas, o quanto a vulnerabilidade é nova e se ela está acessível.
  • Aintegração do Jira permite criar itens no Jira.
Simon Maple
Simon Maple

Simon Maple is the Field CTO at Snyk, a Java Champion since 2014, Virtual JUG founder, and London Java Community co-leader. He is an experienced speaker, with a passion for community. When not traveling, Simon enjoys spending quality time with his family, cooking and eating great food.


Compartilhe este artigo
Próximo tópico

Leitura recomendada

Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.

Ilustração DevOps

Comunidade do DevOps

Ilustração DevOps

Caminho de aprendizagem de DevOps

Ilustração do mapa

Comece gratuitamente

Inscreva-se para receber a newsletter de DevOps

Thank you for signing up