Desafios e Considerações de Segurança de DevOps

A introdução da metodologia de IaC (infraestrutura como código) exigiu que as organizações se adaptassem rapidamente e implementassem novos processos para operar, desenvolver e manter aplicativos em diferentes ambientes, como on-premises e multinuvem. Um aumento nos processos e na velocidade pode levar a falhas de segurança. Como resultado, os processos foram refinados ao longo do tempo para implementar ciclos de implantação e lançamento de produtos mais eficientes e seguros. Os novos processos de segurança integrados à metodologia IaC são denominados DevSecOps.

Use o serviço OCI (Oracle Cloud Infrastructure) DevOps para atingir seus objetivos de DevOps.

O serviço OCI DevOps é uma plataforma completa de CI/CD (integração contínua e entrega contínua) para simplificar e automatizar o ciclo de vida de desenvolvimento do software. O serviço DevOps permite colaboração no desenvolvimento, na criação, no teste e na implantação de software. Você tem visibilidade em todo o ciclo de vida de desenvolvimento e obtém um histórico de commits de origem por meio das fases de criação, teste e implantação.

Durante o processo de definição do DevSecOps, você deve analisar os componentes do pipeline CI/CD em seu processo de implantação para fortalecer as defesas de segurança. Considere também como melhorar o código de origem e proteger repositórios de código.

Como o DevSecOps Funciona e Por Que Você Precisa Dele

Os objetivos da metodologia DevOps sempre foram aumentar a eficiência e acelerar a produção de implantação. As metas para DevSecOps são iguais às do DevOps, com a adição de proteger todos os componentes usados em vários processos de implantação.

O DevSecOps é uma responsabilidade compartilhada com todas as partes interessadas, incluindo o provedor de nuvem, engenheiros de DevOps, engenheiros de teste, proprietários de aplicativos e analistas de segurança. Você deve encontrar o equilíbrio certo para manter a velocidade e a agilidade durante o ciclo de vida do software, mantendo o nível apropriado de segurança de ponta a ponta.

O DSOMM (DevSecOps Maturity Model) fornece medidas de segurança que são aplicadas ao usar estratégias de DevOps e como priorizá-las para aprimorar a segurança. Por exemplo, use o modelo para determinar como testar cada componente, como bibliotecas de aplicativos e bibliotecas de sistema operacional, em imagens do docker, em busca de vulnerabilidades conhecidas.

Aplicando o DevSecOps no OCI

As informações a seguir fornecem o workflow típico do DevSecOps que aproveita os recursos do OCI.

  1. Um desenvolvedor cria código em um repositório (por exemplo, no serviço DevOps, com políticas/permissão, e repositórios de código de terceiros, como GitHub e GitLab). Para integração com repositórios de código de terceiros, como GitHub e GitLab, crie um PAT (token de acesso pessoal) no GitHub ou no GitLab e depois armazene o PAT em um vault do OCI.

  2. As alterações são confirmadas com a ferramenta de CI/CD (integração contínua e entrega contínua) a ser criada.

  3. A ferramenta CI/CD pode executar um dos seguintes procedimentos:

    • Pode chamar uma ferramenta de terceiros para a análise de código estático e dinâmico a fim de identificar quaisquer falhas de segurança ou bugs na qualidade do código, como Sonatype, SonarQube ou OverOps.
    • Enviar por push a imagem de contêiner recém-criada para um repositório do Oracle Cloud Infrastructure Registry com a capacidade de verificação ativada. Em seguida, a ferramenta CI/CD obtém os resultados da verificação de imagem usando a API REST do Vulnerability Scanning. Com base nos resultados da verificação de imagem, sua ferramenta de CI/CD pode determinar se a imagem deve ser movida para o próximo estágio do ciclo de vida.
  4. Se a análise de código ou a verificação de imagem for aprovada, serão executados testes automatizados, como segurança, integração de API e teste de interface do usuário.

  5. Quando o aplicativo e o código passam nesses testes, a melhor prática dentro do pipeline de implantação é adicionar uma aprovação do estágio de controle. Um estágio de aprovação pausa a implantação por um tempo especificado, durante o qual um aprovador é notificado sobre as implantações e, em seguida, fornece a aprovação manualmente.

  6. Quando o pipeline de implantação tiver sido aprovado, o aplicativo e o código serão implantados nas plataformas do OCI no ambiente de produção que incluem: Instâncias de Computação (máquina virtual e bare metal), clusters do Container Engine for Kubernetes (Kubernetes gerenciado) e OCI Functions (funções sem servidor).

  7. O ambiente no qual o aplicativo é implantado deve ser monitorado continuamente para identificar problemas de segurança. Além disso, execute o monitoramento clássico de métricas e logs de serviço usando serviços do OCI, como APM (Application Performance Monitoring), Logging e Monitoring. Configure sistemas de monitoramento para responder rapidamente a ameaças de segurança usando funções nativas do OCI, como Notifications. Você também pode integrar logs com sistemas de ticket (por exemplo, ServiceNow) ou sistemas SIEM de terceiros.

Pipeline de implantação do DevSecOps no OCI.

Melhores Práticas de DevSecOps

Recomendamos as melhores práticas de DevSecOps a seguir.

  1. Imponha política e governança.

    Um processo de DevSecOps bem-sucedido cumpre e implementa uma governança forte com foco em funções de segurança, como IAM (Gerenciamento de Identidades e Acessos) e PAM (gerenciamento de acesso privilegiado). O processo também deve definir atribuições para o modelo de DevSecOps, fornecer treinamento adequado e permanecer atualizado sobre as técnicas de segurança mais recentes.

  2. Automatize seus processos de segurança e ferramentas de DevOps.

    Use a automação em seu processo de DevOps para reduzir riscos de erros humanos e incidentes de segurança. O uso de ferramentas mais eficientes e automação resulta em processos de segurança de DevOps mais rápidos e aplicativos mais resilientes. O OCI fornece ferramentas de segurança para análise de código, gerenciamento de configuração, aplicação de patch e gerenciamento de vulnerabilidade com os serviços OS Management e Oracle Vulnerability Scanning. O gerenciamento de credenciais e segredos privilegiados é fornecido com o Vault.

  3. Execute uma descoberta abrangente.

    Valide, monitore e inclua continuamente todos os dispositivos, ferramentas e contas de acordo com sua política de segurança. Esse processo ajuda a alinhar seus ativos do OCI para adotar um modelo de segurança Zero Trust.

  4. Conduza o gerenciamento de vulnerabilidades.

    Todos os tipos de vulnerabilidades devem ser considerados, catalogados, validados e corrigidos antes que a implantação do aplicativo entre em produção. Recomendamos a integração da Diretriz do OWASP DevSecOps aos seus testes de segurança de DevSecOps.

  5. Acesso seguro com gerenciamento de segredos do DevOps.

    Quando você implementar processos de DevOps, priorize o gerenciamento da segurança e do ciclo de vida das credenciais e contas de identidade em seu código. O serviço Vault pode ajudar você a obter o gerenciamento de segredos.

  6. Controle, monitore e audite o acesso com o gerenciamento de acesso privilegiado.

    A adoção de serviços do OCI, como IAM, Políticas de IAM do DevOps, Logging e Monitoring, pode ajudar a gerenciar o acesso privilegiado.

  7. Redes de segmentos.

    Ao definir processos de DevOps, segmente suas redes para reduzir superfícies de ataque, isolando os diferentes ambientes de trabalho (por exemplo, isolar ambientes de produção dos ambientes de teste e desenvolvimento).

Para obter mais informações, consulte a Zona de Destino de Autoatendimento, que atende ao Benchmark do CIS Foundations para o Oracle Cloud.

Explorar Mais

Consulte os seguintes recursos para obter mais informações: