Skip to main content

Automatize os relatórios de segurança de workloads do Kubernetes

Escrito por
Headshot of Rags Srinivas

Rags Srinivas

kubernetes header

2 de março de 2020

0 minutos de leitura

Introdução

Na Snyk, trabalhamos continuamente para aprimorar nossas soluções de segurança para contêineres e ambientes nativos da nuvem. Como parte desse esforço, a integração do Kubernetes com o Snyk Container agora permite importar workloads do Kubernetes e identificar imagens de contêiner vulneráveis e configurações incorretas nos workloads.

Automatize a segurança dos seus workloads na nuvem e adicione verificações de segurança nativamente ao pipeline de DevOps, sem etapas manuais adicionais, além de centralizar o monitoramento. Você pode implementar políticas obrigatórias para o site, por exemplo, enviando os detalhes do cluster para um console centralizado: basta configurar anotações nos arquivos de configuração e pronto.

Nesta publicação, vamos usar um novo recurso do nosso produto para criar novos projetos automaticamente no Snyk.

Adicione a anotação para automatizar a segurança dos workloads

As anotações do Kubernetes permitem adicionar metadados a objetos, como números de versão de builds, branches do Git, referências a informações de registro em log etc. Depois de instalado, o controlador do Kubernetes da Snyk procura a chave de anotação `orgs.k8s.snyk.io/v1`. Defina o ID da sua organização Snyk como valor dessa chave para enviar automaticamente informações essenciais à Snyk. Veja como encontrar o ID da sua organização na Snyk:

Interface de integrações da Snyk mostrando o Kubernetes configurado e conectado, com um ID de integração exibido

Agora, por exemplo, crie o arquivo alpine.yaml e adicione uma seção annotations:. Em seguida, inclua uma anotação no arquivo que comece com `orgs.k8s.snyk.io/v1`.

Lembre-se de substituir pelo ID da sua organização o valor da chave `orgs.k8s.snyk.io/v1` na seção annotations. Veja o exemplo abaixo.

Por exemplo, o arquivo de manifesto a seguir cria um workload com a anotação associada.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: alpine
  namespace: default
  labels:
    app.kubernetes.io/name: alpine
  annotations:
    orgs.k8s.snyk.io/v1: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: alpine
  template:
    metadata:
      labels:
        app.kubernetes.io/name: alpine
    spec:
      containers:
      - name: alpine
        image: alpine:3.9
        command: ['sh', '-c', 'echo Hello from alpine pod! && sleep 360000']
        resources:
          requests:
            cpu: '100m'
            memory: '100Mi'
            cpu: '100m'
      securityContext: {}

A anotação adicionada informa à integração do Kubernetes da Snyk que as informações sobre vulnerabilidades do workload devem ser importadas automaticamente para a Snyk.

Para criar o workload com a anotação configurada, use o seguinte comando:

kubectl create -f alpine.yaml

Monitore o workload no painel

Atualize o navegador e pronto: as informações do workload deverão aparecer na Snyk.

Captura de tela da página de projetos do Spinnaker, mostrando uma implantação do Kubernetes para alpine no cluster minikube de Rags

Acesse os detalhes do projeto e você verá os parâmetros de configuração incorretos no topo, na área de detalhes. Basta modificar o arquivo YAML para corrigir os problemas de configuração.

Painel de implantação do Kubernetes para default/deployment.apps/hello, com um painel de configuração segura ampliado que mostra uma verificação aprovada e várias reprovadas.

Ao executar um segundo workload com a anotação associada, as informações sobre ele também são enviadas à Snyk, como mostrado abaixo.

Painel de projetos do Snyk exibindo repositórios do Kubernetes e contagens de vulnerabilidades por nível de gravidade em implantações do Alpine e do Spring Boot

Com esse novo recurso, todas as informações dos workloads ficam disponíveis para gerar relatórios e corrigir problemas. Em vez de adicionar os detalhes manualmente, basta incluir anotações nos workloads. Assim, você reduz o trabalho necessário e monitora seus clusters com facilidade como parte do fluxo de trabalho habitual.

Resumo e próximos passos

Vimos como enviar à Snyk informações específicas de workloads do Kubernetes usando uma anotação que inclui o ID da organização Snyk.

É só isso para enviar esses detalhes e centralizar o monitoramento, aumentando a segurança dos seus clusters.

A Snyk oferece segurança para o desenvolvimento das suas aplicações durante todo o ciclo de vida do desenvolvimento de software, com integrações ao seu registro de imagens, repositório de Dockerfiles e clusters do Kubernetes. Comece hoje mesmo a automatizar o envio de relatórios de workloads para a Snyk. Confira nossa documentação para saber como fazer isso em mais detalhes.

Proteja a infraestrutura desde a origem

A Snyk automatiza a segurança e a conformidade de IaC nos fluxos de trabalho e detecta recursos com configurações divergentes ou ausentes.

Leia mais

feature customer snowflake
Article

Segurança desde o início: conheça a integração do Snyk Studio com o Snowflake Cortex Code

O Snyk Studio se integra ao Snowflake Cortex Code para detectar vulnerabilidades em código gerado por IA, dependências e contêineres durante o desenvolvimento.

blog feature pypi spoof
Article

A Snyk AI Security Platform completa, grátis para mantenedores de projetos open source

Mantenedores de projetos open source estão sobrecarregados com relatórios reais de vulnerabilidades e precisam de ajuda para priorizar, corrigir e lançar correções mais rápido. O Secure Developer Program da Snyk dá aos projetos qualificados acesso gratuito à Snyk AI Security Platform.

feature insights announcement
Blog

Comprometimento da cadeia de suprimentos do node-gyp: um worm npm que se autopropaga e se esconde em binding.gyp

Um novo worm do npm está explorando binding.gyp para acionar o node-gyp durante a instalação, permitindo que pacotes maliciosos executem código sem scripts de ciclo de vida. Ele rouba credenciais, mantém persistência no GitHub e se propaga entre contas de mantenedores.