Il arrive que des configurations dans les web.config(s) soient modifiées par l'équipe informatique sur des serveurs de production en direct. J'aimerais créer une piste d'audit, par exemple : "Le 11 octobre, la propriété "foo" du fichier "bar" a été remplacée par "banana".
Ma première idée était de créer un script PowerShell qui s'exécuterait toutes les heures, et si l'un des fichiers .config était modifié, le sauvegarderait dans un dossier horodaté. Ma deuxième pensée était que ce doit être un problème qui a déjà été résolu.
Idéalement, les modifications du fichier de configuration ne seraient pas autorisées et tout changement nécessiterait un nouveau déploiement, mais il est peu probable que je puisse faire passer cela.
Je dis "web.config" mais j'ai plusieurs fichiers de configuration xml différents : web.config, app.config, nant.configs.
J'ai besoin de savoir exactement ce qui, dans ces fichiers de configuration, a été modifié (approximativement) quand et (idéalement) par qui.
Existe-t-il un moyen standard ou un outil open source permettant d'enregistrer les modifications de fichiers ?
0 votes
Je ne réponds pas parce que je ne sais pas ce que l'équivalent Windows pourrait être, mais la
inotify
serait équivalent à ce que vous voudriez sous Linux. Tout ce que vous auriez à faire serait de brancherinotify
pour les événements de changement de fichiers au sein d'une hiérarchie de répertoires donnée, puis faire en sorte que les gestionnaires appliquent le contrôle de version à ces fichiers (par ex.git add <file>
,git commit -m <information>
,git push origin master
).0 votes
Je parie que vous pourriez également faire en sorte qu'un système de gestion de configuration (sans agent) comme Salt ou Puppet vous alerte sur le contenu inattendu des fichiers de configuration, bien que ce soit une chose légèrement différente. Salt serait probablement mieux adapté à ce que vous voulez, car il est plus extensible et serait mieux à même de gérer le contrôle de version des fichiers. Cependant, encore une fois, je n'ai pas essayé de le faire et je ne sais pas quels sont les problèmes inhérents.
0 votes
Question complémentaire, cependant... Est-ce que ça t'intéresserait que la chose utilise l'interrogation sur un intervalle, ou un modèle basé sur les interruptions ? Je suppose que si vous avez besoin d'interruptions, c'est une question plus spécifique.
0 votes
Il existe de nombreux outils d'audit de fichiers pour Windows. S'ils détectent un changement, vous pouvez leur demander d'exécuter un script, qui sauvegardera le fichier. Ainsi, à chaque modification, une sauvegarde est effectuée. Ces outils s'accrochent aux apis de notification d'événements de Windows et attendent un callback qui les déclenche.