web-dev-qa-db-fra.com

À quelle fréquence dois-je mettre à jour votre serveur Linux?

Je suis responsable de la gestion de notre serveur de production (Mail, Web, Base de données Toutes sur un serveur) et notre serveur de test. Les deux sont construits sur Debian. Cependant, comme je suis très nouveau à l'administration du système, je n'ai installé que des mises à jour que je rencontre des choses qui doivent être mises à jour afin que je puisse avoir des fonctionnalités plus récentes et obtenir des corrections de bugs. C'est un joli processus ad hoc en ce moment, et j'aimerais en faire moins.

Alors je me demande comment les gens qui savent ce qu'ils font gérer cela? À quelle fréquence effectuez-vous des mises à niveau sur vos serveurs? Le processus de mise à niveau est-il différent entre test et production? Mettez-vous toujours à jour toujours des serveurs de test en premier? Et faites-vous une mise à jour complète de tous les logiciels ou installez-vous simplement des mises à jour sélectionnées?

56
Noah Goodrich

Je cours apt-get Update -qq; apt-get mise à niveau -Duyq quotidiennement. Cela vérifiera les mises à jour, mais ne les faites pas automatiquement.

Ensuite, je peux exécuter les mises à niveau manuellement pendant que je regarde et je peux corriger tout ce qui pourrait aller mal.

Outre les préoccupations de sécurité du maintien d'un système corrigé, je trouve que si je le laissais trop longtemps entre les patchs, je me retrouve avec un tas de paquets entiers qui veulent être mis à niveau, et cela me fait peur beaucoup plus que de simplement mettre à niveau une ou deux chaque semaine. Par conséquent, j'ai tendance à courir mes mises à niveau chaque semaine ou si elles sont hautement prioritaires, quotidiennement. Cela a l'avantage supplémentaire de savoir quel paquet a cassé votre système (c.-à-d. Si vous n'obtenez que la mise à niveau d'un couple à la fois)

Je mettant toujours à jour les systèmes moins critiques d'abord. J'ai aussi un "plan de rollback" en place au cas où je ne pourrais pas résoudre le système. (Étant donné que la plupart de nos serveurs sont virtuels, ce plan de rollback consiste généralement à prendre un instantané avant la mise à niveau que je peux revenir au si nécessaire)

Cela étant dit, je pense qu'une mise à niveau n'a cassé qu'une seule ou deux fois au cours des 4 dernières années, et c'était sur un système hautement personnalisé - de sorte que vous n'avez pas à être trop paranoïaque :)

34
Brent

Au-dessus de réponses précédentes - un couple plus spécifiquement des choses debian: vous devez vous abonner à Debian-Security-Announce et Debian-annoncer et/ou consulter le Page de sécurité Debian .

12
x3ja

En supposant que vous exécutez la libération stable de Debian, la plupart des correctifs seront liés à la sécurité ou à un bogue, ce qui signifie qu'il n'y aura pas trop de changements majeurs entre les versions d'un package donné. Selon les correctifs de stratégie de correctifs de Debian, il convient également de tester un certain temps avant d'être déplacé vers la branche stable par le responsable. Évidemment, cela n'arrêtera pas les cases lors de la corruption mais devrait les empêcher dans la plupart des cas.

Il serait prudent de veiller à ce que votre test de test soit maintenue à la date et aux packages qui ont des bogues qui vous affectent et que vos serveurs doivent être tenus à jour. Tous les forfaits qui ont des avis de sécurité contre eux doivent être mis à jour dès que vous savez que le patch est stable.

Debian est généralement un système d'exploitation très stable et non un seul que vous devriez être trop préoccupé par la rupture de lecture toujours à lire ce qui va être mis à jour avant de se mettre à jour et de garder un œil sur tout ce qui semble étrange. J'utilise des VCS sur mon/etc/dir ainsi pour vous assurer que toute modification de fichier de configuration peut être vue avec une commande 'git diff'.

6
PixelSmack

Je fais une course sèche (d'abord) pour voir ce qui va être mis à jour. Parfois, les bibliothèques (permettent de l'appeler libfoo pour cet exemple) modifier leur API, qui brise des programmes que nous avons écrites/installés nous-mêmes. Si une bibliothèque critique est mise à jour, je saisie la source et j'essaie de reconstruire nos affaires avant de mettre à jour.

Je vérifie également que nous ne sautons pas à une version intermédiaire de certains services publics, c'est-à-dire Apache, etc. Je préfère rester une année de retard et ne pas rencontrer une casse aléatoire, à moins que la mise à jour ne soit critique.

Si vous êtes un administrateur système, vous devez tirer des flux RSS à partir de sites tels que - Secunia , qui devrait vous laisser savoir devant le temps si votre distribution va pousser des patchs.

N'ayez jamais, jamais juste à jour aveuglément/mise à jour. Malheureusement, la tâche de savoir ce qui est cassé chute sur vous, pas votre gestionnaire de paquets de distribution, surtout si vos systèmes soutiennent les programmeurs.

3
Tim Post

Les mises à jour manuelles sont les meilleures comme mentionnées ici dans le sens où vous pouvez voir ce qui se passe. Cependant, pour un très grand nombre de serveurs qui pourraient devenir peu pratiques. La course à sec est une pratique standard, en fait, la plupart des gestionnaires de paquets vous demanderont avant de continuer.

La mise à jour régulièrement a tendance à être mieux si elle peut être un peu d'équilibre. Les mises à jour fréquentes signifie moins en une aller et moins pour se tromper immédiatement. Si les choses se passent mal, il y a moins de candidats à inspecter. Les colis sont également légèrement meilleurs pour la mise à jour en petites étapes, comme en règle générale lorsque le programmeur se met à jour, ils cherchent à partir de la dernière version à la prochaine version, qu'ils accordent toute attention au-delà de la dernière version peut varier, bien que cela a tendance à mettre en place principalement pour les logiciels qui évoluent rapidement.

Toutes les mises à jour ne sont pas perturbatrices. Vous voudrez regarder pour cela. Certains redémarreront des services menant au temps.

Dans une configuration idéale, vous pourriez avoir ce qui suit:

  • Un moyen de changer de serveur de commutation (A/B ou Tick Tock). Cela signifie que vous mettez à jour un moment où il se trouve sur le banc, puis échangez simplement le trafic de l'actuel à la nouvelle. Cela peut être plus compliqué pour des services tels que des bases de données.
  • La possibilité de tester des mises à jour. Vous devriez avoir des serveurs de test qui sont pratiquement des clones de production (mais sans se connecter à aucun service de production). Ceux-ci vous permettraient d'abord de tester les mises à jour.
  • Une bonne stratégie de sauvegarde, incrémentielle est idéale. On ne sait jamais. Il est toujours préférable d'être sûr que désolé.
  • Soyez conscient de quels fois avoir le plus d'activité et quel niveau de temps d'arrêt est tolérable.
  • Savoir comment annuler une mise à jour ou un package spécifique.
  • Demandez à vos propres miroirs de package afin que les mises à jour soient cohérentes et prévisibles dans tous les serveurs. C'est la première étape vers un système sans surveillance décent que vous pouvez faire confiance. Cela signifie que vous pouvez mettre à jour le miroir, exécuter la mise à jour sur une ou plusieurs machines de test, puis si c'est bon, laissez-la automatiquement. J'ai eu un excellent moment avec une gestion compétente d'environ 800 machines Epos.
  • Un bon niveau de cohérence afin que vous puissiez savoir que si quelque chose fonctionnera ici, cela fonctionnera là-bas.

Certaines d'entre elles peuvent être surchargées à des degrés divers pour les petites configurations, mais doivent être gardées à l'esprit.

De manière générale, les mises à jour sont généralement relativement indolores pour les distributions de serveur. C'est parce qu'ils ne sont presque toujours toujours que des corrections de bugs et des mises à jour de sécurité. Vous pouvez toutefois avoir des problèmes si les personnes ont fait des choses impaires au système ou que vous ajoutez des sources de paquet supplémentaires.

Bien que ce soit modérément rare, ils font parfois des erreurs et rompent la compatibilité entre les versions de forfait mineures.

2
jgmjgm

Là où je travaille, nous avons un processus assez étendu qui implique d'utiliser des logiciels appelés PatchLink pour notifier aux mises à jour les plus importantes liées à la sécurité, et nous les appliquons après les tests, sur un package par package. Nous avons des milliers de serveurs cependant.

Si vous n'avez que deux serveurs, le processus devrait être beaucoup plus simple. Bien que je ne pense pas à faire une "mise à jour/mise à niveau/mise à niveau" d'APT-GET "est votre meilleur choix.

Je voudrais surveiller des correctifs pour le logiciel que vous exécutez et effectueriez des décisions sur la base des correctifs de ces versions à la mise à niveau.

Depuis que vous avez un serveur de test, évidemment, testez toujours la mise à jour avant de les appliquer.

2
WerkkreW

Sur les mêmes lignes que CRON-APT, vous devriez jeter un coup d'œil sur le mises à niveau sans surveillance Package http://packages.debian.org/lenny/unattensed-upgrades .

C'est très facile à configurer et vous permettra d'avoir des mises à jour de sécurité téléchargées et appliquées automatiquement, mais laissez d'autres mises à jour pour la mise à niveau manuelle (ou à votre discrétion à modernisation de tout!).

Le Guide de serveur Ubuntu officiel a une section raisonnablement détaillée couvrant l'utilisation du package de mises à niveau sans surveillance https://help.ubuntu.com/9.04/serverguide/c/automatic-updates.html

Remarque: En fonction de votre niveau de prudence/paranoïa, vous pouvez d'abord effectuer une mise à niveau du rouleau sur un groupe de serveurs de test, alors s'il n'y a pas de problèmes, permettez à vos boîtes de production de mettre à jour, bien que je n'ai personnellement pas rencontré aucun problème avec des mises à jour de sécurité. Démarrage de ravages jusqu'à présent (frapper sur bois) ...

Il existe également une option de configuration pour vous envoyer des résultats de chaque mise à jour de sécurité, une fois que son application est appliquée. En outre, s'il y avait une boîte de dialogue ou des invites interactives présentées lors de la mise à jour, celles qui nécessiteront une modification manuelle par une sysadmin, elle les mentionnera également.

1
faultyserver

J'aime Cron-apt pour automatiser ce processus, mais comme @Dinomite a souligné sur une autre question concernant les mises à jour Configuration spécifique pour automatiser les mises à jour relatives à la sécurité est une idée très intelligente - vous pouvez ensuite mettre à jour manuellement De quoi as-tu besoin. J'utilisais Cron-apt pour toutes les mises à jour, mais j'avais modifié en réalité cela en fonction de sa réponse. Si vous l'aimez, vous devriez probablement voter sa réponse plutôt que celui-ci.

1
nedm

Sur Debian I Installer Cron-APT et éditez son fichier de configuration pour me mailer s'il y a des modifications. De cette façon, je suis notifié s'il y a des mises à jour pour mes systèmes et effectuez les mises à jour à la main

1
lepole

Outre les trucs mentionnés, vous devez utiliser une sorte d'outil de surveillance (Nagios ou tout ce qui flotte à votre bateau) pour vous alerter des mises à jour.

En ce qui concerne la fréquence: dès qu'il y a une mise à jour disponible!

0
serverhorror