Un guide sur la dérive de configuration et comment la prévenir

La dérive de configuration est une préoccupation importante pour tous les développeurs IAAC. Cet article en apprendra davantage sur la gestion de la dérive de configuration, son importance, ses causes et ses solutions potentielles.

Qu’est-ce que la dérive de configuration ?

Les propriétaires d’applications doivent modifier leurs applications et leur infrastructure sous-jacente au fil du temps pour améliorer en permanence l’expérience client. Ces clients peuvent être internes ou externes à l’entreprise.

La configuration des applications et de l’infrastructure change à la suite de ces mises à jour et modifications. Ces modifications pourraient être bénéfiques ou dégrader l’état durci des systèmes. La dérive de configuration est le terme utilisé pour cela.

Fonctionnement de la dérive de configuration

Le potentiel de dérive de configuration augmente avec la complexité des systèmes de production et de livraison de logiciels. Le code est généralement transféré du poste de travail d’un développeur vers un environnement de développement partagé, vers des environnements de test et d’assurance qualité, et éventuellement vers des environnements de préproduction et de production.

L’impact potentiel augmente avec la distance le long du pipeline où la dérive se produit. Même des variations mineures entre une version de package installée sur l’ordinateur portable d’un développeur et la version installée sur un serveur de test peuvent retarder le débogage des problèmes. En règle générale, seules la mise en scène et la production sont censées être des répliques l’une de l’autre. La pression est intense car de nombreuses entreprises déploient un nouveau code plusieurs fois par jour.

Causes courantes de dérive de configuration

Manque de communication

Parfois, les équipes en amont ne parviennent pas à communiquer avec les partenaires en aval sur les modifications apportées par eux, ce qui, par conséquent, décompose l’ensemble du système en aval.

Correctifs

Les correctifs sont des modifications apportées au code pour résoudre un problème critique qui ne peut pas attendre la prochaine mise à jour planifiée de l’application. Parfois, les ingénieurs travaillant à la résolution du problème ne parviennent pas à apporter des modifications ou à documenter le même correctif dans d’autres environnements du pipeline, ce qui entraîne une dérive. Souvent, la réintroduction du problème initial résoudra cette dérive.

Mises à jour critiques des packages

Les mises à jour de packages critiques sont quelque peu similaires aux correctifs. Les deux sont exécutés à un rythme rapide. La principale différence est que les mises à jour critiques des packages sont appliquées dans l’espoir d’éviter de futurs incidents. Ainsi, ces mises à jour peuvent entraîner une dérive de la même manière que les correctifs.

Manque d’automatisation

L’automatisation n’éliminera pas complètement les risques de dérive de configuration. Cela ne fera que réduire ses chances.

Changements de commodité

Parfois, les modifications apportées par les développeurs sont temporaires. Par exemple, une dérive se produit si un développeur installe un nouveau package sur un serveur de test pour tester certaines fonctionnalités et oublie de le rétablir dans son état d’origine.

Pourquoi la gestion de la configuration est-elle importante ?

L’une des raisons pour lesquelles la dérive de configuration peut être si dommageable est que si personne ne la recherche en permanence, la dérive peut passer inaperçue car elle mine progressivement la base de votre infrastructure, un peu comme une petite fuite dans une maison derrière un mur.

Lorsque la dérive de configuration est découverte, trouver la raison sous-jacente de la dérive de configuration qui a provoqué tout cela prend du temps, ce qui est une ressource précieuse en cas d’urgence.

Dans le développement de logiciels, la dérive est une cause importante de cycles de publication lents. Cela peut entraîner un travail inutile et entraver la productivité des développeurs.

Réduction des coûts

Vous pouvez réduire le montant global nécessaire en identifiant les doublons ou le surprovisionnement lorsque vous disposez d’une image détaillée de votre infrastructure informatique.

Une plus grande productivité

Les clusters avec des configurations stables et bien connues permettent la gestion par lots et la construction d’infrastructures. De plus, la nécessité de gérer manuellement les paramètres individuels est réduite en limitant les serveurs uniques (ou en flocons de neige).

Débogage plus rapide

Des configurations cohérentes permettent aux équipes de débogage d’exclure les erreurs de configuration. Les équipes peuvent se concentrer sur d’autres causes potentielles, en résolvant les tickets plus rapidement car elles n’auront pas à rechercher les écarts de configuration entre les serveurs, les clusters de serveurs ou les environnements.

Problèmes causés par la dérive de la configuration

Les problèmes de sécurité

Les configurations non sécurisées sont l’une des causes les plus fréquentes de failles de sécurité. La dérive de configuration peut rendre d’autres attaques et violations de réseau plus probables, même si vous commencez avec une configuration protégée.

Temps d’arrêt

Un temps d’arrêt important peut résulter d’une erreur de configuration qui permet à un attaquant d’utiliser une faille DoS ou de compromettre un serveur crucial. Ce n’est pas tout, cependant. Supposons que vous modifiiez la configuration d’un périphérique réseau, affectant les performances. Vous pouvez toujours revenir à votre « configuration dorée », n’est-ce pas ? Il faudra beaucoup plus de temps pour restaurer le service si cette configuration est défectueuse.

Non-conformité

Des contrôles de sécurité stricts sont nécessaires pour se conformer aux réglementations telles que ISO 27001, PCI-DSS et HIPAA. La dérive de la configuration peut vous amener à rompre la conformité si elle n’est pas arrêtée.

Performances dégradées

Une configuration est généralement dans son état le plus optimal lorsqu’elle est dans son état prévu. Les modifications ad hoc peuvent entraver les tentatives d’optimisation du réseau en provoquant des goulots d’étranglement et des conflits.

Temps perdu

Le dépannage d’un réseau que vous ne comprenez pas bien ou qui ne correspond pas à la documentation de votre réseau peut prendre beaucoup de temps. Cela signifie que la dérive de la configuration peut entraîner des problèmes de dépannage informatique qui n’auraient peut-être pas existé ou auraient été plus faciles à résoudre si le réseau avait été dans l’état prévu, en plus de générer des temps d’arrêt pour les utilisateurs.

Erreurs courantes à surveiller lors de la surveillance de la dérive de la configuration

Dans un monde parfait, tous les serveurs d’environnement pour les développeurs (Dev/QA/Staging/Prod) auraient les mêmes configurations. Malheureusement, ce n’est pas ainsi que les choses fonctionnent dans le monde « réel ». Dans les environnements commerciaux, les propriétaires d’applications modifient fréquemment l’infrastructure lorsque de nouvelles fonctionnalités sont introduites dans le logiciel.

La surveillance de la dérive de configuration est cruciale pour s’assurer que les environnements logiciels sont aussi homogènes que possible. La configuration de la gestion réduit les dépenses, augmente la productivité et le temps de débogage, et améliore l’expérience utilisateur.

Pour réussir le mieux possible la surveillance, les organisations doivent éviter les erreurs même lorsqu’elles utilisent la gestion de la configuration et surveiller leur dérive de configuration.

Les erreurs courantes sont énumérées ci-dessous :

Ne pas maintenir une CMDB

La mise à jour d’une base de données de gestion de la configuration (CMDB) est un élément important de la gestion de la configuration. Les informations sur les installations matérielles et logicielles d’un réseau peuvent être examinées en un seul endroit, fournies par une base de données de gestion de configuration. Les données sont collectées pour chaque actif ou élément de configuration, offrant visibilité et transparence sur le lieu de travail.

Le fait de ne pas maintenir une CMDB expose les entreprises au danger de ne pas comprendre pleinement comment la configuration d’un élément affecte un autre élément. Les organisations risquent d’endommager leur infrastructure et leur sécurité sans en comprendre les conséquences.

Les CMDB peuvent être difficiles à administrer, en particulier lorsque le nombre d’actifs augmente, mais une organisation et une gestion efficaces de la base de données sont essentielles pour suivre avec succès la dérive de la configuration et comprendre l’infrastructure.

Ne pas avoir de plan sur la façon de surveiller la dérive de la configuration

Les organisations ont souvent des infrastructures massives et complexes qui doivent être surveillées. Il est crucial de déterminer quels composants doivent être surveillés le plus. Sinon, la gestion de la configuration peut rapidement devenir ingérable et chaotique.

Les organisations doivent spécifier quels actifs sont essentiels pour la surveillance de l’entreprise et des unités commerciales spécifiques. Les systèmes les plus cruciaux seront surveillés, qui différeront d’une unité à l’autre et d’une industrie à l’autre.

Ne surveille pas automatiquement

Les organisations peuvent surveiller la dérive de configuration de plusieurs manières. Cependant, certaines approches sont plus raffinées et efficaces que d’autres.

La surveillance manuelle de la dérive de configuration est coûteuse et prend du temps. La surveillance manuelle expose également la possibilité d’une erreur humaine. Ce n’est pas la meilleure technique pour surveiller la dérive de la configuration, sauf si votre entreprise a une très petite empreinte d’infrastructure.

La surveillance automatique est le moyen le plus développé et le plus efficace pour maintenir les configurations dans l’état souhaité. Des systèmes de surveillance de configuration dédiés peuvent détecter la dérive instantanément et proposent fréquemment des solutions, y compris une correction rapide. Cela garantit que l’infrastructure de l’entreprise est remise dans l’état souhaité aussi rapidement que possible et avec un minimum d’effets.

Comment surveiller la dérive de configuration :

Il devient évident que la détection de la dérive de configuration devrait être une préoccupation majeure une fois que vous réalisez les dommages qu’elle peut causer. Savoir ce qu’il faut préserver et pourquoi cela a été présenté comme un changement qui a créé une dérive est la première étape de ce processus.

Tu sais ce que tu cherches

Vous pouvez trier votre organisation en identifiant les composants cruciaux pour l’organisation dans son ensemble et ceux cruciaux pour chaque unité commerciale.

Cela varie selon l’unité et peut être coûteux dans les secteurs hautement réglementés ou se concentrer uniquement sur des fichiers/applications critiques pour le système plus restreints. L’importance du système déterminera la fréquence et le sérieux des systèmes de surveillance.

Définir une ligne de base

Il y aura toujours des écarts entre un environnement de production et les étapes de test en raison des différents paramètres. La ligne de base pour vérifier la dérive est créée en définissant ce que devrait être chaque étape et les types d’écarts autorisés.

Les premières étapes de test peuvent être plus appropriées pour une tolérance de dérive plus élevée qu’un paramètre de test d’acceptation par l’utilisateur ou une étape de fabrication à dérive nulle.

Surveillez votre système

Le niveau de surveillance requis variera en fonction de la maturité de l’organisation, de ses systèmes actuels, de son outillage, du nombre total de configurations à vérifier et du niveau d’examen requis. Selon les exigences et la conformité, la surveillance peut différer pour chaque unité au sein d’une organisation.

Comment empêcher la dérive de la configuration

La surveillance doit garantir que l’infrastructure est maintenue dans la configuration appropriée après la définition d’une base de configurations et d’écarts autorisés. Sans stratégie de surveillance, la construction de plans de configuration et de documentation fait perdre du temps.

Diverses approches peuvent être utilisées pour surveiller la dérive de configuration, et de nombreuses entreprises combinent des méthodologies et des outils en fonction de leur maturité et de leurs exigences de conformité.

Surveillance manuelle constante

Les configurations de machines individuelles peuvent être examinées manuellement et comparées à un fichier de configuration connu. En raison de l’aspect humain, ce processus est toujours source d’erreurs et coûteux en termes d’heures de travail. Je ne devrais être utilisé qu’à petite échelle pour quelques clusters de serveurs particuliers ou une entreprise avec une empreinte d’infrastructure modeste.

Audits

Une équipe examine manuellement les configurations de serveur dans le cadre d’audits de configuration, en les comparant à un modèle spécifié. Ces audits peuvent être coûteux car ils nécessitent des connaissances spécialisées pour déterminer comment un système doit être construit, puis une enquête approfondie sur toute chance non documentée de décider si oui ou non il doit être préservé.

L’équipe d’audit apporte également les ajustements nécessaires aux documents de configuration qui seront appliqués lors du prochain audit. Les audits sont généralement retenus pour les clusters de grande valeur ou à forte conformité et exécutés régulièrement, généralement plusieurs fois par an, en raison de considérations de temps et de coût.

L’audit garantit une configuration de serveur cohérente et reproductible selon un calendrier prédéterminé.

Cependant, jusqu’au prochain audit, les paramètres vont dériver et rester de plus en plus.

Surveillance automatisée en temps réel

La surveillance automatisée en temps réel est le moyen le plus sophistiqué de maintenir les configurations dans l’état souhaité. Pour ce faire, des serveurs ou des groupes de serveurs doivent être créés avec une description de la manière dont ils doivent être configurés à l’aide d’outils de configuration de serveur dédiés.

Ces programmes utiliseront un agent léger pour surveiller la configuration d’un serveur au sein de ce groupe et la comparer à sa définition.

Ce processus automatisé avertit instantanément de la dérive et propose généralement plusieurs choix pour corriger la dérive du serveur.

Derniers mots :

Les éléments de configuration (CI) incohérents entre les ordinateurs ou les appareils sont à l’origine de la dérive de la configuration. La dérive de configuration se produit naturellement dans les environnements de centre de données lorsque des modifications logicielles et matérielles sont effectuées à la volée sans être soigneusement documentées ou suivies.

De nombreuses défaillances du système de haute disponibilité et de reprise après sinistre sont attribuées à la dérive de la configuration. Les administrateurs doivent conserver des enregistrements méticuleux sur les adresses réseau des périphériques matériels, ainsi que sur les versions logicielles installées sur ceux-ci et les mises à niveau qui ont été effectuées, afin de minimiser la dérive de configuration.