Les pratiques de gestion des secrets (SMP) non sécurisées représentent un risque majeur pour toute entreprise, en particulier celles chargées du stockage et de la protection des données de leurs clients. Ce problème courant figure souvent au cœur du registre des risques d'une entreprise. Un secret divulgué peut compromettre la confidentialité des systèmes et potentiellement entraîner une violation de données, avec à la clé, des pertes financières importantes et une perte de confiance des clients.
Dans de nombreuses entreprises, ces pratiques non sécurisées sont souvent dues à un manque d'expertise ou à une méconnaissance des outils et des stratégies à même de résoudre ce problème. La mise en place de pratiques SMP appropriées permet de limiter les risques de compromission et de renforcer la confiance dans la stratégie de gestion des secrets de l'entreprise. Découvrez dans cet article les bonnes pratiques en matière de gestion des secrets, la capacité de GitLab à les prendre en charge ainsi que notre stratégie pour améliorer les fonctionnalités natives de gestion des secrets de la plateforme DevSecOps de GitLab.
Élaboration d'une stratégie de chiffrement
Toute entreprise a besoin d'une stratégie de chiffrement solide pour garantir que les développeurs travaillent de manière standardisée et que l'ensemble des applications et de leurs composants respectent les exigences de chiffrement définies par l'entreprise.
La compréhension des données traitées, du niveau de tolérance au risque, et des menaces auxquelles votre entreprise est exposée vous aidera à élaborer une stratégie de chiffrement efficace.
Génération de secrets
Les secrets, y compris les jetons d'accès et les clés SSH, doivent être générés à l'aide de dispositifs de chiffrement dédiés, tels que les modules de sécurité matériels (HSM), qui génèrent des secrets de chiffrement forts et les stockent dans un environnement qui résiste aux intrusions et à toute tentative d'altérations.
Si l'usage d'appareils physiques peut être coûteux et prohibitif sur le plan opérationnel pour les entreprises, les principaux fournisseurs de services cloud proposent des services Cloud HSM, comme AWS CloudHSM et GCP Cloud HSM.
Stockage des secrets
Le stockage des secrets est tout aussi essentiel que leur génération. Les secrets générés doivent être stockés de manière sécurisée sur le long terme, tout en restant accessibles de manière contrôlée et sécurisée pour les utilisateurs qui en ont besoin.
Les principaux fournisseurs de services cloud, ainsi que des sociétés spécialisées dans la sécurité telles que HashiCorp, offrent des services cloud pour stocker et récupérer des secrets en toute sécurité. Ces services permettent aux utilisateurs d'intégrer facilement des secrets dans leurs processus et leur code, ce qui évite de devoir les coder en dur dans les applications.
Comment la plateforme GitLab prend-elle en charge le stockage des secrets ?
GitLab fournit une prise en charge native des fournisseurs de solutions de gestion de secrets suivants :
- Vault par HashiCorp
- Secret Manager de Google Cloud
- Azure Key Vault
En configurant la plateforme GitLab pour qu'elle se connecte à l'un de ces services, les secrets ne sont explicitement requis qu'au moment où un job CI en a besoin. Lorsqu'ils ne sont pas utilisés, ils restent stockés en toute sécurité dans l'environnement du service de gestion des secrets, ce qui réduit le risque de compromission. En plus de ces intégrations natives, GitLab prend également en charge l'authentification OIDC qui permet de s'authentifier auprès d'autres fournisseurs (par exemple AWS Secrets Manager). Cette méthode de stockage des secrets, beaucoup plus sécurisée et recommandée, constitue une alternative nettement plus robuste par rapport au stockage et au masquage des secrets en tant que variables CI/CD.
Utilisation des secrets
Les secrets doivent être utilisés dans un seul but. Leur réutilisation dans plusieurs applications ou services augmente le risque d'exposition et amplifie les conséquences sur l'entreprise en cas de compromission.
Pour limiter le risque d'exposition ou d'activité malveillante, l'accès aux secrets doit être strictement encadré selon le principe de moindre privilège. L'accès ne doit être accordé qu'aux personnes ou aux services qui en ont besoin afin de soutenir leur travail et leurs activités opérationnelles.
Comment la plateforme GitLab prend-elle en charge l'utilisation des secrets ?
GitLab fournit aux administrateurs un solide modèle de contrôle d'accès basé sur les rôles et offre également la possibilité de créer des rôles personnalisés. Les administrateurs peuvent ainsi adapter les profils d'accès à leurs normes organisationnelles et leur niveau de tolérance au risque.
GitLab permet également aux utilisateurs d'effectuer une détection des secrets pour vérifier les secrets et les identifiants de connexion involontairement dévoilés dans le code. Les utilisateurs de GitLab Ultimate peuvent appliquer des mesures correctives automatiques aux secrets divulgués, telles que la révocation du secret, afin d'atténuer l'impact potentiel en cas de fuite des informations d'identification.
Auditabilité
L'accès aux secrets et leur utilisation doivent être auditables et attribuables. Dans un scénario idéal, les utilisateurs ne devraient jamais pouvoir afficher les secrets en texte brut. Malheureusement, la réalité opérationnelle des entreprises ne permet pas toujours de respecter cet idéal.
Une gestion des secrets auditable et attribuable permet aux équipes de sécurité de détecter rapidement les activités anormales ou malveillantes et d'y apporter une réponse efficace, que ce soit par des actions automatisées ou des interventions manuelles ciblées.
Comment la plateforme GitLab prend-elle en charge l'auditabilité ?
GitLab enregistre les événements d'audit liés aux activités impliquant la création de clés et de jetons au sein de la plateforme. En voici quelques exemples :
- événements de jetons d'accès personnels
- événements de jetons de déploiement
- événements de jetons d'agents de cluster
Ces événements sont enregistrés dans la base de données de GitLab et sont également disponibles à des fins de diffusion d'événements d'audit pour les clients utilisant GitLab Ultimate.
Prochainement disponible : Secret Manager de GitLab
GitLab prévoit de lancer une solution native de gestion des secrets d'ici fin 2024. Secret Manager de GitLab sera une solution cloud multilocataire accessible à la fois par les clients de GitLab.com et GitLab Self-Managed via le nouveau service Cloud Connector. Ce dernier offre une interface conviviale, cohérente avec celle des variables CI/CD actuelle, ce qui facilitera l'adoption par rapport à un produit tiers, avec une courbe d'apprentissage réduite. Secret Manager de GitLab garantira la sécurité et la protection des informations sensibles dans vos pipelines CI.
Pour en savoir plus ou pour toute question sur la solution Secret Manager de GitLab, consultez notre epic MVC et laissez un commentaire.
Prochaines étapes
La sécurité des applications à l'ère du numérique
Lisez les conclusions de notre enquête menée auprès de plus de 5 000 professionnels DevSecOps dans le monde entier afin de comprendre pourquoi les entreprises sont confrontées à l'augmentation des surfaces d'attaque et à l'évolution des comportements à l'égard de la sécurité et de l'IA.
Lire le rapportLisez les conclusions de notre enquête menée auprès de plus de 5 000 professionnels DevSecOps dans le monde entier afin de comprendre pourquoi les entreprises sont confrontées à l'augmentation des surfaces d'attaque et à l'évolution des comportements à l'égard de la sécurité et de l'IA.
FAQ
Principaux points à retenir
- La gestion non sécurisée des secrets expose les entreprises à des violations de données. L'intégration native de GitLab renforce la sécurité.
- La gestion des secrets, auditable et attribuable, permet aux équipes de sécurité de détecter les activités anormales ou malveillantes et d'y répondre rapidement.
- GitLab prend en charge le stockage et l'utilisation des secrets à l'aide de mécanismes de contrôle d'accès et d'outils de détection avancés.