Como integrar o Snyk e o Bitbucket Cloud para viabilizar o DevSecOps
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.
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.
2. Clique em Senhas do aplicativo sob Gerenciamento de acesso.
3. Clique em Criar senha de app.
4. Dê à senha do aplicativo um nome relacionado ao aplicativo que vai usar a senha.
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.
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.
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.
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.
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
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.
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.
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:
- 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.
Veja mais integrações para o Atlassian Open DevOps.
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.