52 votes

Comment enregistrer les modifications apportées au serveur ?

Nous avons probablement tous connu cette situation : vous déboguez un problème et vous vous rendez compte qu'il a été causé par un changement de configuration que vous avez fait il y a six mois, et vous ne pouvez pas vous rappeler pourquoi vous l'avez fait. Alors vous l'annulez et corrigez le problème, et voilà qu'un autre problème réapparaît. Ah oui, MAINTENANT je me souviens ! Alors vous le corrigez correctement.

C'est parce que tu n'as pas pris de notes, imbécile ! Mais quelle est la meilleure façon de procéder ?

Dans le domaine de l'ingénierie, nous disposons de nombreux logiciels destinés à nous aider à détecter et à suivre les changements. Contrôle du code source, examen du code, etc. Chaque modification fait l'objet d'un suivi et d'un commentaire. Les services d'ingénierie exigent généralement de bons commentaires afin que, dans six mois, lorsque vous chercherez à comprendre pourquoi vous l'avez cassé de cette façon, vous puissiez utiliser une fonction historique de " blâme " ou de recherche binaire pour localiser le problème. Ces outils sont des outils de communication et des archives très efficaces.

Mais au pays des serveurs, nous avons 500 services différents, tous avec des façons différentes de les configurer. Et ils n'ont pas toujours un format texte (pensez à définir les permissions sur un dossier ou à modifier l'emplacement du fichier de pages) bien qu'ils puissent avoir une représentation textuelle.

Dans notre environnement, nous vérifions les fichiers de configuration que nous pouvons dans Perforce, mais il y en a très peu. Il n'est pas possible de vérifier la base de données Active Directory... mais peut-être un dump qui pourrait être différencié...

Par le passé, j'ai essayé de tenir un journal manuel des modifications dans notre wiki, mais il est très difficile de maintenir la discipline pour le faire (je sais, ce n'est pas une bonne excuse, mais c'est vraiment difficile).

MA QUESTION : Quels sont les stratégies et les outils que vous utilisez pour faire face à ce problème de suivi des changements de configuration de vos serveurs ?

-- Mise à jour --

Remarque : je ne cherche pas d'outils de prise de notes partagée (je connais bien OneNote, etc.), mais plutôt des outils automatisés destinés à faciliter le suivi des modifications apportées au serveur. Il n'existe pas d'outil complet pour suivre les changements de configuration du serveur, mais il en existe peut-être pour des applications spécifiques comme les GPO.

Je suis également très intéressé par stratégies spécifiques que vous avez trouvés utiles. "Nous partageons des notes dans Sharepoint" est assez vague. Comment maintenez-vous la discipline ? Quel format utilisez-vous pour suivre vos modifications ? Comment organisez-vous les données relatives aux modifications ? J'aimerais vraiment avoir des exemples et des idées.

20voto

ChrisR Points 303

Au pays de Linux, les gens poursuivent plusieurs stratégies différentes :

  • Systèmes de contraintes de configuration comme cfengine ou Marionnette ou chef . Elles sont similaires aux GPO de Windows. L'intérêt est que toute la configuration du serveur est intentionnellement documentée en un seul endroit et que vous savez à quelle granularité (salle des serveurs, groupe, serveur spécifique) la politique est mise en œuvre. Cela ne vous évitera pas de vous demander ce qui a bien pu changer il y a six mois, mais cela vous permettra de supprimer la configuration d'un serveur et de la reconstruire à partir de zéro. Vous pourriez mettre les politiques cfengine et Puppet sous contrôle de révision pour répondre à la question.
  • Contrôle de la révision de /etc . En général, les programmes Linux stockent leur configuration à un seul endroit, /etc. Les plus audacieux commencent à écrire des scripts pour mettre /etc sous contrôle de révision. L'un de ces programmes que je connais est etckeeper :

    Description: store /etc in git, mercurial, bzr or darcs The etckeeper program is a tool to let /etc be stored in a git, mercurial, bzr or darcs repository. It hooks into APT to automatically commit changes made to /etc during package upgrades. It tracks file metadata that version control systems do not normally support, but that is important for /etc, such as the permissions of /etc/shadow. It's quite modular and configurable, while also being simple to use if you understand the basics of working with version control.

10voto

Hurda Points 614

L'un des problèmes dans cette situation est qu'il s'agit en fait d'un problème mixte de processus commercial et de technologie. Et le problème est bien plus important que le simple suivi des modifications apportées par un administrateur. Il faut également être attentif aux changements inattendus et assurer une bonne coordination entre les administrateurs ou les unités afin qu'une modification apportée à un contrôleur AD n'affecte pas les autorisations d'une base de données sur un serveur départemental. En d'autres termes, votre question est une gigantesque boîte de Pandore :)

Dans mon organisation, cela fait environ un an que nous avons commencé à mettre en place des processus et des systèmes pour résoudre ce problème. En ce qui concerne les processus d'entreprise, nous avons formé une équipe de gestion du changement. Selon les procédures normalisées, tous les changements apportés aux environnements de production sont coordonnés par l'intermédiaire de cette équipe. Ils compilent tous les changements, avec leur portée, les systèmes concernés, les services affectés, etc. Elle veille à ce que les changements soient bien documentés et à ce qu'il y ait des plans de déploiement et de retour en arrière. Ils organisent des réunions hebdomadaires (ouvertes) pour examiner les changements à venir dans l'environnement, puis envoient des courriers électroniques détaillant tous ces changements. L'objectif final de ce processus est de faire en sorte que tous les informaticiens soient au courant de tout ce qui se passe. Cela permet d'éviter, par exemple, qu'un administrateur système installe un correctif du noyau et redémarre un système, ce qui aurait pour effet de mettre hors service la base de données de l'horloge.

Pour ce qui est de l'aspect technologique, je ne peux parler que des gars d'Unix/Linux puisque je n'ai pas affaire à Windows. Ils ont mis en place Puppet, de Reductive Labs, pour la gestion de la configuration de tous ces systèmes. Il s'agit simplement d'un système client/serveur dans lequel on définit une configuration de machine sur le serveur, et le client tire ces chances de temps en temps (30 minutes par défaut). En outre, si des modifications sont apportées aux fichiers gérés localement, elles sont également annulées à ce moment-là. Nous l'utilisons pour gérer les services en cours d'exécution, les configurations de pare-feu, l'autorisation des utilisateurs, etc.

Je vous recommande également de vous intéresser à un organisme comme TippingPoint. Il s'agit d'un service client qui surveille la configuration du système et envoie des alertes en cas de changement. C'est ce qui nous rend le plus heureux, nous les spécialistes de la sécurité. Il est largement utilisé pour suivre les modifications malveillantes ou non publiées.

4voto

baldy Points 2922

J'ai travaillé dans 4 ou 5 entreprises, je ne me souviens plus très bien.

Nous avons tous eu ce problème. Aucun d'entre nous ne l'a résolu à 100 %, mais dans l'entreprise où je travaille actuellement, nous avons ce que je pense être la meilleure stratégie à ce jour.

Sharepoint/Wiki/Evernote/PINs

  • Sharepoint
    • Vous pouvez vous plaindre autant que vous voulez... il a des caractéristiques de liste très intéressantes.
    • Listes d'adresses IP
    • inventaire
    • comptes de service et utilisation
    • journaux de notification des modifications
  • Wiki
    • Comment faire
    • listes de tâches à long terme
  • Evernote
    • mon partenaire et moi l'utilisons pour mettre tout ce que nous ne voulons pas dans Wiki
    • plus de conseils pratiques de nature technique
    • des notes à gratter que nous devons tous les deux voir
    • comptabilité des tâches pour la semaine
    • listes de tâches des entrepreneurs
    • Le clipper d'evernote facilite la capture d'écran des paramètres AD/droits
    • disponible partout
  • NIP
    • Répertoire des mots de passe

2voto

Kristof Provost Points 12359

Il existe probablement de meilleurs outils pour certaines de ces tâches, mais c'est ce que nous utilisons :

  • Suivre les changements de configuration et les mises à niveau/rattrapages pour chaque serveur dans une base de données. wiki privé
  • Conservez également les modes d'emploi et un registre des problèmes et des solutions dans le wiki.
  • Utilisation Sharepoint ou Google Docs pour conserver des copies autorisées d'éléments tels que les listes d'adresses IP statiques
  • utiliser Subversion pour suivre les modifications apportées aux fichiers de configuration

2voto

Guy Points 16718

Pour Windows, consultez la série System Center de Microsoft ou tout autre concurrent dans le domaine de la gestion de la configuration et des services pour cette plate-forme.

Les changements doivent être acheminés par une routine de gestion des changements décente qui les approuve et les enregistre avant qu'ils ne soient réellement effectués. Pour commencer, cette procédure peut être entièrement manuelle. Avec certains des outils les mieux intégrés, vous pouvez demander à l'outil d'effectuer les changements réels et d'obtenir une journalisation "automatique" vers une base de données de configuration centrale - plutôt que d'aller à mains nues dans la console d'un serveur individuel, en fouillant dans les paramètres à la main pour essayer de résoudre un problème à la manière d'un cow-boy.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X