Práticas inseguras de gerenciamento de segredos (SMPs) representam um risco enorme para qualquer empresa, especialmente aquelas responsáveis pelo armazenamento e proteção dos dados de seus clientes. É um problema comum e frequentemente está no centro do registro de riscos de uma empresa. Um segredo vazado pode resultar na perda de confidencialidade e, potencialmente, em um vazamento de dados. Esse tipo de incidente pode levar a perdas financeiras significativas e à falta de confiança entre os clientes da empresa.
Para muitas empresas, SMPs inseguras podem resultar da falta de conhecimento sobre as ferramentas e estratégias disponíveis para resolver esse problema. Práticas adequadas de gerenciamento de segredos podem ajudar a reduzir o potencial de comprometimento e aumentar a confiança na estratégia de gerenciamento de segredos de uma empresa. Neste artigo, discutiremos as melhores práticas de gerenciamento de segredos, a capacidade do GitLab de apoiar essas práticas e nossa estratégia para melhorar os recursos nativos de gerenciamento de segredos da plataforma DevSecOps.
Desenvolva uma estratégia criptográfica
Toda empresa precisa de uma estratégia criptográfica como base para garantir que os desenvolvedores operem de maneira padronizada e que todas as aplicações e seus componentes sejam desenvolvidos de acordo com os requisitos criptográficos da empresa.
Entender os dados processados pela sua empresa, bem como a tolerância ao risco e o panorama de ameaças ajudará você a desenvolver uma estratégia criptográfica robusta.
Geração de segredos
Segredos, incluindo tokens de acesso e chaves SSH, devem ser gerados usando dispositivos criptográficos, como Módulos de Segurança de Hardware (HSM). Esses dispositivos ajudam a gerar segredos criptograficamente fortes e armazená-los de maneira resistente a violação e intrusão.
Embora confiar em dispositivos físicos possa ser caro e operacionalmente proibitivo para as empresas, os principais provedores de serviços em nuvem oferecem serviços de Cloud HSM, como, por exemplo, o AWS CloudHSM e o GCP Cloud HSM.
Armazenamento de segredos
Armazenar segredos é tão crítico quanto gerá-los. Os segredos gerados devem ser armazenados de maneira segura para garantir sua proteção a longo prazo e permitir que os usuários os recuperem quando necessário.
Os principais provedores de serviços em nuvem, assim como empresas de segurança como a HashiCorp, oferecem serviços baseados em nuvem para armazenar e recuperar segredos com segurança. Esses serviços permitem que os usuários utilizem os segredos em seus processos e código de maneira contínua, eliminando a necessidade de codificá-los diretamente no código.
Como funciona o armazenamento de segredos no GitLab?
O GitLab tem compatibilidade nativa com estes provedores de gerenciamento de segredos:
- Vault da HashiCorp
- Google Cloud Secret Manager
- Azure Key Vault
Ao configurar o GitLab para se conectar a um provedor de gerenciamento de segredos, os segredos são explicitamente solicitados apenas quando necessários por um job de CI. Quando os segredos não são necessários para os jobs de CI, eles permanecem armazenados de forma segura no ambiente do serviço de gerenciamento de segredos, reduzindo assim o potencial de comprometimento. Além de oferecer compatibilidade nativa para os provedores de gerenciamento de segredos mencionados, o GitLab também oferece autenticação OIDC para autenticação com outros provedores (como o AWS Secret Manager). Este é um método muito mais seguro e recomendado de armazenar segredos em comparação com o armazenamento e o mascaramento de segredos como variáveis CI/CD.
Uso de segredos
Os segredos devem ser usados para um único propósito. Reutilizar segredos em diferentes aplicações ou serviços aumenta o potencial de exposição e o impacto caso sejam comprometidos.
Para reduzir o potencial de exposição ou atividade maliciosa, o acesso aos segredos deve ser controlado com o princípio do menor privilégio em mente. O acesso deve ser concedido apenas às pessoas ou serviços que necessitem dele para realizar seu trabalho e atividades operacionais.
Como funciona o uso de segredos no GitLab?
O GitLab oferece aos administradores um excelente modelo de controle de acesso baseado em funções e a capacidade de criar funções personalizadas, permitindo que os administradores alinhem os perfis de acesso com os padrões organizacionais e a tolerância ao risco de suas empresas.
O GitLab também permite que os usuários executem a detecção de segredos para verificar segredos e credenciais que possam ter sido comprometidos inadvertidamente. Usuários do GitLab Ultimate podem aplicar respostas automáticas a segredos vazados, como revogar o segredo, para mitigar o impacto de credenciais vazadas.
Auditabilidade
O acesso e o uso de segredos devem ser auditáveis e atribuíveis. Em um cenário ideal, indivíduos não teriam acesso para visualizar segredos em texto simples, mas a situação das operações de uma empresa nem sempre é ideal.
O gerenciamento de segredos auditável e atribuível permite que as equipes de segurança monitorem atividades anômalas ou maliciosas e respondam rapidamente a essas atividades por meio de intervenção automatizada e manual.
Como funciona a auditabilidade no GitLab?
Os eventos de auditoria do GitLab registram atividades relacionadas a tokens e chaves criados dentro do GitLab. Alguns exemplos incluem:
- eventos de tokens de acesso pessoal
- eventos de tokens de implantação
- eventos de tokens de agentes de cluster
Essas atividades são salvas no banco de dados e também estão disponíveis para streaming de eventos de auditoria para clientes do GitLab Ultimate.
Em breve: GitLab Secret Manager
O GitLab planeja lançar uma experiência nativa de gerenciamento de segredos no final de 2024. O GitLab Secret Manager será uma solução em nuvem multi-inquilino e estará acessível tanto para clientes do GitLab.com quanto para clientes do GitLab Self-Managed por meio do nosso serviço Cloud Connector. Esse novo serviço oferece uma interface fácil de usar, alinhada com a interface atual de variáveis CI/CD, tornando a adoção mais simples do que um produto de terceiros, com uma curva de aprendizado mínima. O GitLab Secret Manager garantirá a segurança e proteção de informações confidenciais e importantes em seus pipelines de CI.
Para obter mais informações ou esclarecer dúvidas sobre o GitLab Secret Manager, acesse nosso épico MVC e deixe um comentário.
Próximos passos
Segurança de aplicações na era digital
Leia as descobertas da nossa pesquisa com mais de 5.000 profissionais de DevSecOps em todo o mundo para saber mais sobre como as empresas estão lidando com o aumento das superfícies de ataque e a mudança de atitude em relação à segurança e à IA.
Leia o relatórioLeia as descobertas da nossa pesquisa com mais de 5.000 profissionais de DevSecOps em todo o mundo para saber mais sobre como as empresas estão lidando com o aumento das superfícies de ataque e a mudança de atitude em relação à segurança e à IA.
Frequently asked questions
Principais conclusões
- Práticas inseguras de gerenciamento de segredos representam riscos de violação de dados, mas a integração nativa do GitLab aprimora a segurança.
- O gerenciamento de segredos auditável e atribuível permite que as equipes de segurança monitorem atividades anômalas ou maliciosas e respondam rapidamente.
- O GitLab oferece armazenamento e uso de segredos com controles de acesso robustos e ferramentas de detecção.