Introduction
En tant qu’Ingénieur DevOps, j’ai intégré les équipes d’un client dans le secteur nucléaire. Cette entreprise produit et vend de l’énergie décarbonée grâce à des micros générateurs nucléaires, ma mission principale est de travailler avec l’équipe de développement pour garantir la sécurité des données et du code source de l’entreprise.
La sécurité et la protection des codes sources des projets revêt une importance cruciale. Les dangers inhérents à ce secteur sensible, exigent des mesures de sécurité renforcées pour garantir l’intégrité des logiciels utilisés dans les installations des micros générateurs nucléaires.
Problématique
Dans ce secteur d’activité, où les risques peuvent entraîner des conséquences dévastatrices, la sécurité des installations et des opérations est une priorité absolue. Cependant, l’aspect souvent négligé de la sécurité concerne les codes sources des logiciels utilisés dans ces installations. Les projets nucléaires reposent sur des systèmes informatiques sophistiqués et complexes, et toute faille dans la sécurité de ces codes sources pourrait entraîner des vulnérabilités potentielles.
La problématique qui se pose est la suivante : Comment garantir la sécurité des codes sources des projets dans le secteur nucléaire ? comment prévenir les risques de manipulation ou d’exploitation non autorisée, tout en assurant la continuité des opérations et la protection de l’environnement ?
Il est par conséquent essentiel d’adopter une solution complète et personnalisable pour résoudre ces problèmes et assurer la réussite des projets.
Choix de la version Gitlab
Deux versions de Gitlab sont disponibles : GitLab CE (Community Edition) et GitLab EE (Enterprise Edition). GitLab EE propose des fonctionnalités avancées qui ne sont pas disponibles avec GitLab CE. Ces fonctionnalités comprennent la gestion du portefeuille de projets, la gestion des exigences, la planification de la sécurité et l’intégration des outils de gestion de projet.
En tant que société dans le secteur nucléaire, utilisant des techniques de pointe, exigeant toutes ces caractéristiques, et surtout la sécurité des données, nous avons opté pour une solution Gitlab-EE on-premise.
Résolution
Sécurité renforcée et confidentialité des données : L’implémentation de GitLab EE on-premise vous offre un niveau de sécurité renforcée, car vous avez un contrôle direct sur la gestion des accès, les politiques de sécurité et les sauvegardes des données. Vous pouvez intégrer GitLab EE avec vos systèmes d’authentification existants.
Contrôle total sur l’environnement de développement : En optant pour la mise en œuvre de GitLab EE on-premise, l’entreprise bénéficie d’une maîtrise totale de l’environnement de développement. Vous pouvez personnaliser et adapter GitLab EE pour répondre à des besoins métier spécifique, intégrer des outils tiers et mettre en place des politiques de sécurité strictes. Cette autonomie vous permet d’assurer le respect de la réglementation, d’améliorer la sécurité des données sensibles et de maintenir une infrastructure de développement souple.
Collaboration transparente et efficace : GitLab EE facilite la collaboration entre les équipes grâce à des fonctionnalités puissantes telles que la gestion des branches, les demandes de fusion (merge requests), les intégrations avec les outils de communication, et bien plus encore. En mettant en œuvre GitLab EE, vous pouvez créer un environnement de collaboration fluide dans lequel les équipes peuvent travailler ensemble efficacement, partager leurs connaissances et résoudre les problèmes rapidement.
Amélioration de la productivité et de l’efficacité : GitLab EE fournit une gamme d’outils et de fonctions permettant d’automatiser les processus de développement, telles que l’intégration continue (CI/CD), les tests automatiques et le déploiement. Avec GitLab EE on-premise, vous pouvez rationaliser vos workflows, réduire les erreurs humaines et accélérer le cycle de développement, qui entraine une augmentation de la productivité et de l’efficacité globale de votre entreprise
Retour d’expérience
Éviter les vulnérabilités de sécurité
Les mises à jour régulières de GitLab EE assurent à la société de disposer des dernières corrections de sécurité. Négliger les mises à jour peut exposer votre infrastructure à des vulnérabilités connues, susceptibles d’être exploitées par des attaquants.
Nous étions sur la version 15.10 de GitLab-EE qui était vulnérable. D’après l’ANSSI cette vulnérabilité permet à un attaquant de provoquer une exécution de code arbitraire à distance, avec atteinte à l’intégrité des données. Nous avons donc pris une décision de mettre à jour notre solution GitLab-EE.
Il est important d’avoir un processus bien défini afin de suivre les mises à jour et de les mettre en œuvre dès que possible. Il est également nécessaire de visiter le site web de l’ANSSI régulièrement.
Prévenir les pertes de données
Des sauvegardes périodiques sont essentielles à la protection des données de l’entreprise. En cas de panne matérielle, d’erreur humaine ou de catastrophe, les sauvegardes vous permettent de restaurer les données rapidement et de limiter les pertes potentielles.
Nous avons connu une panne majeure sur le serveur qui héberge GitLab EE à la suite d’une désinstallation d’un paquet sur le serveur, nous avons pu restaurer grâce à la sauvegarde.
Conclusion
L’implémentation de GitLab EE en local dans une entreprise offre un contrôle total sur la solution et renforce la sécurité des codes sources. Elle permet de mettre en place des politiques de sécurité personnalisées et réduire les risques liés à la confidentialité. Cela permet de maximiser l’efficacité de votre entreprise, d’améliorer la qualité du code et de vous positionner favorablement dans un environnement concurrentiel.
Par Daniel KEED KARSON – Ingénieur devops chez Neywork