Selon l’institut d’études Statista, DevOps et DevSecOps étaient les environnements de développement logiciel les plus répandus dans le monde, représentant ensemble 47 % des implémentations dans une enquête menée en 2022. Les outils de gestion des configurations sont essentiels pour tenir la promesse de DevOps : raccourcir les cycles de développement et mettre en place un pipeline d’intégration continue et de déploiement continu (CI/CD).
Les outils de gestion des configurations permettent de définir une configuration de référence pour les actifs informatiques, puis de surveiller et de corriger les modifications de configuration, ou dérives, susceptibles de menacer la sécurité des systèmes. La gestion des configurations est nécessaire à tout projet de développement et de déploiement logiciel à l’échelle d’une entreprise.
- DevOps face à DevSecOps
- Avantages des outils de gestion des configurations
- Types d’outils de gestion des configurations logicielles
- Outils de gestion des configurations dédiés à la sécurité
- 7 fonctionnalités et fonctions clés des outils de gestion des configurations
- Gestion des configurations de sécurité dans le cloud
- Foire aux questions
- Combien coûtent les outils de gestion des configurations ?
- En résumé : des corrections et modifications de configuration mieux définies
DevOps face à DevSecOps
DevOps et DevSecOps sont des disciplines étroitement liées. Toutes deux reposent sur la suppression des silos qui isolent les fonctions de développement et d’exploitation afin de permettre un environnement CI/CD.
La différence fondamentale de DevSecOps réside dans l’intégration de l’équipe de sécurité. DevSecOps fait de la sécurité un élément central du logiciel dès le début du processus de développement, plutôt que de l’évaluer et de la corriger plus tard au cours du projet.
Avantages des outils de gestion des configurations
<BODY>Pourquoi utiliser des outils de gestion des configurations ? Le Rapport sur l’état de la sécurité de Kubernetes publié par Red Hat Inc., créateur de l’Ansible Automation Platform, a identifié les erreurs de configuration des systèmes comme l’une des principales causes d’incidents de sécurité dans les environnements conteneurisés et open source orchestrés par Kubernetes. Les erreurs de configuration successives « peuvent entraîner une dérive de configuration et, au bout du compte, ralentir les systèmes, exposer l’entreprise à des problèmes de sécurité et de conformité, voire provoquer des pannes », selon Red Hat.
Les outils de gestion des configurations établissent non seulement une configuration de référence sécurisée, mais aussi une approche cohérente de la documentation, de la gestion des changements et de la maintenance.
Les autres avantages des outils de gestion des configurations comprennent :
- Regroupement des systèmes pour leur gestion.
- Centralisation de la gestion et de la mise à jour des configurations de base, des paramètres système et des correctifs.
- Centralisation et automatisation de la gestion des performances et de la conformité des systèmes.
- Hiérarchisation des actions à mener et des mesures correctives à l’échelle du système.
Types d’outils de gestion des configurations logicielles
Une plateforme de gestion des configurations est la somme de nombreux composants. En général, les outils qui la composent appartiennent à l’une de ces cinq catégories.
Logiciels de contrôle des versions : Les systèmes VCS suivent et enregistrent les modifications apportées au code source et au code applicatif. Ils peuvent faciliter la création de branches et la fusion du code, résoudre les conflits et prendre en charge le travail collaboratif. Ils garantissent que l’équipe DevOps utilise bien la même version et permettent de se référer à des instantanés en cas de défaillance du système.
Dépôts d’artefacts : Ils servent d’armoires de rangement pour les autres outils de travail. Le code compilé, les bibliothèques, les dépendances et la documentation y sont stockés dans un dossier facilement accessible. Dans une architecture distribuée, par opposition à une architecture client-serveur, ce dépôt peut être stocké sur chaque machine afin d’accélérer la maintenance et les mises à jour.
À propos de Git
Git, système de contrôle des versions distribué et open source créé par Linus Torvalds, le célèbre créateur de Linux, est le logiciel de contrôle des versions et le dépôt d’artefacts de facto du développement logiciel distribué. Selon une enquête menée par Stack Overflow en 2022, Git était le système de contrôle des versions choisi par 94 % des développeurs interrogés.
Git stocke un dépôt complet — code source, code compilé, historique des versions et documentation — dans un répertoire sur chaque machine partageant la même configuration, avec une « version unique de référence » centralisée et distribuée à chaque dépôt. Cela accélère les mises à jour, l’application des correctifs et les autres tâches de maintenance de la configuration, puisque les autres outils de configuration y sont stockés.
« Git est un outil fondamental de la gestion des configurations de haut niveau », selon Atlassian, l’éditeur du logiciel de gestion de projets Jira.
Système de gestion des configurations : Comme son nom l’indique, ce logiciel gère la configuration des systèmes. Il sert à créer des modèles de configuration réutilisables, à automatiser les déploiements, à orchestrer l’infrastructure et à garantir la cohérence de la configuration sur différentes plateformes.
Outils d’automatisation des compilations : Ces outils compilent, testent et déploient les logiciels distribués. Leur intégration au dépôt accélère considérablement le déploiement.
Logiciels de gestion des tickets : Les problèmes, les bogues et les demandes de fonctionnalités y sont signalés et suivis. Ces outils peuvent attribuer les tâches de développement afin de s’assurer qu’elles sont prises en compte et ne se chevauchent pas, hiérarchiser le travail, suivre l’avancement et faciliter la collaboration.
Outils de gestion des configurations dédiés à la sécurité
Dans un environnement DevSecOps, une autre boîte à outils veille à ce que le développement soit non seulement rapide et continu, mais aussi à ce que la sécurité soit intégrée au produit tout au long du processus de développement.
Tests statiques de sécurité des applications (SAST) : Ces outils examinent le code source à la recherche de vulnérabilités, de problèmes de conformité aux politiques et de risques. Les outils SAST automatisent l’analyse du code pour détecter les vulnérabilités dès leur apparition, imposer des pratiques de codage sécurisé et intégrer la sécurité dès le début du processus de développement.
Tests dynamiques de sécurité des applications (DAST) : Mis en œuvre plus tard dans le processus de développement, les outils DAST effectuent leurs analyses en temps réel, selon une approche en « boîte noire ». Les outils de test interactif de sécurité des applications (IAST) combinent les fonctionnalités de SAST et de DAST pour accélérer les retours et la correction du code.
Protection automatique des applications à l’exécution (RAST) : Les outils RAST fonctionnent dans l’environnement d’exécution, surveillant en continu les comportements nuisibles du code et empêchant leur exécution. Ils fondent leur analyse sur l’architecture de l’application et le flux de données.
Analyse de la composition logicielle (SCA) : La SCA génère une nomenclature des composants logiciels au cours du développement et vérifie ces éléments dans une base de données, en signalant les vulnérabilités connues et les problèmes de conformité du code en cours de développement.
Tests automatisés : Ces outils automatisent et coordonnent les contrôles de sécurité tout au long du cycle de vie du développement, détectant les vulnérabilités et le code défectueux afin d’accélérer la reprise après incident et de réduire les coûts.
À lire : les 15 meilleurs outils DevSecOps pour une sécurité fluide en 2024
7 fonctionnalités et fonctions clés des outils de gestion des configurations
Configuration automatisée
L’automatisation de la configuration des actifs informatiques est la raison d’être de la gestion des configurations. Elle permet aux développeurs de créer une infrastructure de plateforme cohérente à partir de modèles, d’établir un contrôle des versions, de déployer des logiciels, de maintenir la cohérence et de conserver une trace à des fins d’audit et de conformité.
Application des politiques
L’automatisation de l’application des politiques informatiques et des politiques internes de l’entreprise libère non seulement les ressources consacrées à leur contrôle, mais protège aussi de manière proactive l’entreprise contre une exposition juridique involontaire ou délibérée. Le cabinet spécialisé en droit informatique Michalsons répertorie les éléments de politique suivants, susceptibles de protéger votre entreprise et qui devraient, lorsque cela est possible, être intégrés à votre solution de gestion des configurations.
- Politique de sécurité de l’information
- Politique de gestion de l’information
- Politique de gouvernance des données
- Politique d’utilisation acceptable (notamment concernant l’utilisation de la messagerie électronique, d’Internet et des réseaux sociaux)
- Politique relative à la liberté d’information
- Politique de gouvernance, de gestion des risques et de conformité informatiques
- Politique de gestion des contrats
- Politique de gestion des projets et des changements
- Politique d’acquisition des biens et services informatiques
- Politique de gestion de la disponibilité (par exemple, reprise après sinistre et continuité d’activité)
En savoir plus sur eSecurity Planet
Surveillance, rapports et analyses en continu
Une plateforme de gestion des configurations doit surveiller en continu les performances et les vulnérabilités d’un projet, pendant le développement — afin d’éviter la mise en production d’un code défectueux dont la correction coûterait davantage — comme lors de l’exécution, afin de détecter l’exposition à des menaces évolutives, internes ou externes. La génération automatisée de rapports pour les systèmes de gestion des tickets accélère la résolution des problèmes de sécurité et de performance.
Pistes d’audit
Les logiciels de surveillance et d’analyse doivent générer des pistes d’audit indiquant à quelle étape du développement une imperfection est apparue et sous la responsabilité de quel service. Cela peut révéler des vulnérabilités communes à plusieurs projets qui étaient auparavant passées inaperçues.
Détection des vulnérabilités
Un élément clé, tant pour le développement que pour l’exploitation, d’une plateforme de gestion des configurations est sa capacité à détecter de manière proactive les vulnérabilités dans les logiciels en cours de développement, en temps réel et lors de l’exécution. Ces tâches relèvent principalement des outils mentionnés plus haut (SAST, DAST, SCA, etc.). Ceux-ci s’appuient sur des bibliothèques continuellement mises à jour de vulnérabilités connues et de pratiques de codage non sécurisées.
Gestion des correctifs
Les logiciels destinés aux utilisateurs finaux et développés en interne nécessitent l’application de correctifs à chaque mise à jour ou mise à niveau ; certains progiciels commerciaux et systèmes d’exploitation doivent être corrigés presque en continu, car leurs vastes surfaces d’exposition sont constamment attaquées ou nécessitent des corrections fonctionnelles et des mises à niveau progressives. Centraliser et automatiser ces tâches permet d’économiser énormément de ressources.
À lire : la gestion automatisée des correctifs, définition, outils et fonctionnement
Fonctionnalités d’intégration
Ne négligez pas les fonctionnalités d’intégration des outils de gestion des configurations, qu’il s’agisse du langage de programmation ou de leur compatibilité avec d’autres outils de gestion. Certaines solutions peuvent couvrir tous les aspects de la gestion des configurations, mais vous préférerez peut-être adopter une approche combinant les meilleurs outils pour certains éléments.
Gestion des configurations de sécurité dans le cloud
La gestion des configurations est essentielle dans un environnement de cloud computing. Le cloud computing est plus dynamique en matière d’allocation des ressources. Il est aussi plus complexe, car l’infrastructure peut être répartie entre plusieurs serveurs, voire entre plusieurs fournisseurs. L’application des politiques, l’exposition aux vulnérabilités et d’autres enjeux de configuration peuvent différer selon les environnements cloud privés, publics ou hybrides. Pour de nombreuses entreprises, toutefois, les avantages d’un modèle d’infrastructure en tant que service sont trop intéressants pour être ignorés.
Une gestion adéquate des configurations cloud offre plusieurs avantages.
- Contrôles de sécurité automatisés
- Application de la politique de chiffrement
- Détection rapide des vulnérabilités
- Correction accélérée des problèmes de sécurité
- Piste d’audit permettant d’attribuer la responsabilité des problèmes de sécurité
À lire : qu’est-ce que la gestion des configurations cloud ? Guide complet
Foire aux questions
Quels sont quelques exemples d’outils de gestion des configurations ?
Un grand nombre d’outils de gestion des configurations sont disponibles. Cette liste présente certains des plus courants que vous pourriez rencontrer.
- Git : Décrit plus haut comme un « outil fondamental » de la gestion des configurations de haut niveau, Git est un gestionnaire de contrôle des versions et un outil de dépôt open source conçu pour le développement distribué du système d’exploitation Linux. Il constitue le standard de facto des projets de développement DevOps.
- Ansible : Autre produit open source, Ansible est l’un des principaux outils d’automatisation de la configuration, de l’approvisionnement, du déploiement et de l’orchestration des projets de développement. Il sert également à automatiser les politiques et la conformité. La communauté Ansible entretient un centre de ressources pour les développeurs.
- Puppet : Souvent comparé à Ansible, Puppet est un autre outil d’automatisation qui met l’accent sur la sécurité et l’évolutivité.
- Jira : Orienté vers les environnements de développement Agile, Jira est reconnu pour sa souplesse collaborative ainsi que pour la qualité et la réactivité de ses fonctionnalités de journalisation, de suivi et de résolution des problèmes et des défauts du code.
- Kubernetes : Également connu sous le nom de K8, Kubernetes est une solution gratuite et open source destinée aux applications conteneurisées, fondée sur la technologie de production de Google.
- Progress Chef : Chef rédige les politiques de configuration à l’aide d’un langage spécifique au domaine (basé sur Ruby). Il est disponible en versions open source et entreprise, ainsi que selon un modèle de logiciel en tant que service (SaaS).
- BitBucket : Cet outil d’Atlassian exploite les fonctionnalités de contrôle des versions de Git avec des outils dotés d’intelligence artificielle (IA) pour générer des demandes d’extraction, résumer les commentaires et suggérer du code à partir du dépôt BitBucket — ou effectuer une première passe de revue du code.
- SaltStack: Largement reconnu pour sa rapidité, Salt est un autre projet open source. Le logiciel repose sur une conception multithread qui prend en charge des centaines de tâches simultanées et utilise un système de messagerie découplé (ZeroMQ), qui ne nécessite pas de connexion persistante.
- SolarWinds: Cette solution de gestion vise à offrir une visibilité sur les environnements cloud, qu’ils soient hybrides full-stack ou multicloud. Comme BitBucket, SolarWinds exploite l’IA pour automatiser les tâches répétitives et chronophages.
- CF Engine: CF signifie « continuous feedback », un partenaire de l’intégration continue et du déploiement continu (CI/CD). Les ports d’écoute offrent une visibilité en temps réel sur les performances et la conformité grâce à des tableaux de bord configurables et des alertes personnalisées.
- Terraform: Terraform fournit une infrastructure en tant que code (IaC) pour les déploiements cloud. Il permet de provisionner et de gérer l’infrastructure sur plusieurs clouds, hybrides ou non, notamment Microsoft Azure, AWS et Google Cloud.
La liste n’est pas exhaustive et n’implique aucune recommandation ni évaluation ; plusieurs articles du site eSecurity Planet présentent des produits individuels. En savoir plus ici.
Combien coûtent les outils de gestion des configurations ?
Les outils de gestion des configurations peuvent ne rien coûter : les solutions open source peuvent être gratuites, une option qui mérite d’être envisagée si votre équipe de développement peut travailler avec un réseau d’assistance informel. Les solutions commerciales peuvent être facturées de diverses manières. Ansible, par exemple, est facturé à un tarif forfaitaire annuel. Certaines solutions, comme Puppet et Chef, sont facturées chaque année par nœud, pour un montant compris entre environ 75 et 135 dollars US par nœud. D’autres, comme Terraform, sont facturées par utilisateur et par mois, entre 10 et 60 dollars US — ces tarifs sont généralement facturés annuellement.
Qu’est-ce qu’une configuration de référence ?
Une configuration de référence est un ensemble défini de spécifications pour un élément d’un système d’information. Elle définit les exigences matérielles et logicielles d’un système, comme les systèmes d’exploitation, le versionnage des progiciels, la topologie réseau, etc. Elle sert de base aux futures versions et de référence pour comparer les composants afin de détecter toute dérive de configuration et les éventuelles vulnérabilités.
En résumé : des corrections et modifications de configuration mieux définies
Les outils de gestion des configurations sont indispensables à tout projet de développement logiciel d’envergure. Ils peuvent guider les développeurs, fluidifier le processus de développement collaboratif et — associés à une approche axée sur la sécurité dès le début du processus — garantir un déploiement sécurisé, surveillé en permanence pour détecter les vulnérabilités et suivre les performances du système.
Dans l’univers TechAdvice, nous avons davantage de ressources pour vous accompagner dans votre parcours de gestion des configurations.

