0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Aula

Práticas recomendadas de segurança em CI/CD

Entenda vulnerabilidades comuns de segurança nos processos e as práticas recomendadas para reduzir riscos durante todo o ciclo de vida do desenvolvimento.

Práticas recomendadas de segurança em CI/CD é uma aula grátis de CI/CD with GitHub Actions & DevOps Pipelines no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de CI/CD with GitHub Actions & DevOps Pipelines, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de CI/CD with GitHub Actions & DevOps Pipelines inclui 4 aulas no total.

Por que a segurança de CI/CD é importante

No desenvolvimento moderno de software, as esteiras de CI/CD são cruciais. Elas automatizam a compilação, os testes e a implantação do seu código.

Mas com grandes poderes vêm grandes responsabilidades! Proteger essas esteiras é essencial para proteger seu código, seus dados e sua infraestrutura contra ataques mal-intencionados ou vulnerabilidades introduzidas acidentalmente.

Identificar vulnerabilidades na esteira

Antes de proteger, precisamos entender contra o que estamos nos protegendo. As esteiras de CI/CD podem estar vulneráveis a vários tipos de ataque:

  • Credenciais comprometidas: Chaves de API ou tokens roubados.
  • Dependências maliciosas: Uso de bibliotecas com falhas de segurança conhecidas.
  • Configurações inseguras: Controles de acesso ou etapas de compilação configurados incorretamente.
  • Ataques à cadeia de fornecimento: Adulteração do próprio processo de compilação.

Aplicar o acesso com menor privilégio

O Princípio do menor privilégio (PoLP) significa conceder a usuários e processos automatizados, como tarefas de CI/CD, apenas as permissões mínimas necessárias para executar sua tarefa, e nada além disso.

Isso limita os possíveis danos caso uma credencial ou tarefa seja comprometida. Para as Ações do GitHub, defina permissões específicas para cada tarefa.

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: read # Only read access to repo code
      packages: write # Only write to package registry
      id-token: write # Needed for OIDC authentication
    steps:
      - uses: actions/checkout@v4
      - run: echo "Build logic here"

Proteger o código e as dependências

Seu código-fonte é o coração da sua aplicação. Garanta que ele esteja protegido desde o início.

  • Revisões de código: Revisões por pares ajudam a detectar possíveis falhas de segurança.
  • Análise estática: Use ferramentas para verificar se há vulnerabilidades no código, embora o SAST dedicado seja abordado em uma lição posterior.
  • Verificação de dependências: Verifique regularmente se há vulnerabilidades conhecidas em bibliotecas de terceiros.

Gerenciar dependências de terceiros

A maioria dos projetos depende de bibliotecas de código aberto. Embora sejam poderosas, elas podem introduzir vulnerabilidades se não forem gerenciadas cuidadosamente.

  • Use um Scanner de dependências: Integre ferramentas como o Dependabot para verificar automaticamente se há vulnerabilidades conhecidas.
  • Fixe as dependências: Especifique versões exatas das dependências para evitar alterações inesperadas.
  • Atualizações regulares: Mantenha as dependências atualizadas para aproveitar as correções de segurança.

Reforçar seu ambiente de compilação

O ambiente em que seu código é compilado e testado deve ser o mais seguro possível. Pense nele como uma sala limpa para o seu software.

  • Executores efêmeros: Use ambientes novos e isolados para cada tarefa. Os executores hospedados pelo GitHub são efêmeros por padrão.
  • Ferramentas mínimas: Instale apenas as ferramentas necessárias para reduzir a superfície de ataque.
  • Imagens base seguras: Se usar contêineres, utilize imagens base confiáveis e reforçadas.

NEVER codificar segredos

Informações sensíveis, como chaves de API, credenciais de banco de dados ou tokens privados, devem NEVER ser codificadas diretamente no seu repositório ou nos arquivos do fluxo de trabalho.

Sempre use um sistema seguro de gerenciamento de segredos. Isso mantém os dados sensíveis fora do controle de versões e criptografados.

Validar as entradas do fluxo de trabalho

Se o seu fluxo de trabalho aceitar entradas externas, por exemplo, de um acionador manual ou de um comentário em uma solicitação de alteração, essas entradas deverão ser validadas e higienizadas.

Entradas não confiáveis podem servir de vetor para ataques de injeção, assim como as aplicações web validam as entradas dos usuários.

on:
  workflow_dispatch:
    inputs:
      deploy_env:
        description: 'Environment to deploy to (e.g., staging, production)'
        required: true
        type: choice
        options:
          - 'staging'
          - 'production'
      version_tag:
        description: 'Git tag for the release version'
        required: true
        type: string

Registrar e monitorar a atividade da esteira

Ter visibilidade sobre a atividade da sua esteira é um controle de segurança fundamental. Um bom registro ajuda você a detectar e responder rapidamente a comportamentos suspeitos.

  • Registro abrangente: Registre todos os eventos e ações significativos nos seus fluxos de trabalho.
  • Monitore anomalias: Procure verificações de segurança malsucedidas, tentativas de acesso não autorizado ou tempos de compilação incomuns.
  • Alertas: Configure alertas para eventos críticos de segurança.

Verificar seu entendimento

Vamos testar seu conhecimento sobre as melhores práticas de segurança de CI/CD.

Resumo da lição e próximos passos

Parabéns! Você aprendeu práticas essenciais de segurança para suas esteiras de CI/CD.

  • Aplique o Princípio do menor privilégio.
  • Proteja seu código-fonte e gerencie as dependências.
  • Reforce seus ambientes de compilação.
  • Nunca codifique segredos diretamente.
  • Valide todas as entradas dos fluxos de trabalho.
  • Implemente registros e monitoramento robustos.

Essas práticas formam uma base sólida para um ciclo de vida seguro de DevOps. Nas próximas lições, vamos nos aprofundar em ferramentas e técnicas específicas, como os segredos do GitHub e SAST.

Perguntas Frequentes

A aula “Práticas recomendadas de segurança em CI/CD” é grátis?

Sim — o texto completo de “Práticas recomendadas de segurança em CI/CD” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de CI/CD with GitHub Actions & DevOps Pipelines, atualize para CoddyKit PRO. O curso de CI/CD with GitHub Actions & DevOps Pipelines inclui 4 aulas no total.

O que vou aprender em “Práticas recomendadas de segurança em CI/CD”?

Entenda vulnerabilidades comuns de segurança nos processos e as práticas recomendadas para reduzir riscos durante todo o ciclo de vida do desenvolvimento. Você pratica CI/CD with GitHub Actions & DevOps Pipelines com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar CI/CD with GitHub Actions & DevOps Pipelines?

Nenhuma experiência prévia é necessária. CI/CD with GitHub Actions & DevOps Pipelines no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Práticas recomendadas de segurança em CI/CD”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de CI/CD with GitHub Actions & DevOps Pipelines?

Sim. Cada aula de CI/CD with GitHub Actions & DevOps Pipelines inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Práticas recomendadas de segurança em CI/CD
  2. Gerenciamento de segredos com GitHub
  3. Testes estáticos de segurança de aplicações (SAST)
  4. Segurança de dependências e da cadeia de fornecimento (SCA)
← Voltar para CI/CD with GitHub Actions & DevOps Pipelines