From Fedora Project Wiki

Old page
This page has been marked as "old", and likely contains content that is irrelevant or incorrect. If you can, please update this page. This page will be deleted if action is not taken.

= Mises à Jour Automatiques =

Vous devez décider si vous utiliserez les mises à jour yum automatiques sur chacune de vos machines. Il existe un certain nombre d'arguments à la fois pour et contre les mises à jour automatiques à considérer. Néanmoins, il n'existe pas de réponse simple à cette question : il est du ressort de l'administrateur ou du propriétaire de la machine de décider si les mises à jour automatiques sont souhaitables pour cette machine. L'une des choses qui font un bon administrateur système est l'habilité à évaluer les faits et les suggestions des autres personnes, pour enfin décider quoi faire.

Une règle générale qui s'applique à la plupart des cas est la suivante :

Si la machine est un serveur crucial, pour lequel une période d'arrêt non planifiée d'un service ne peut être tolérée, alors vous ne devriez pas utiliser les mises à jour automatiques. Autrement, vous pouvez choisir de les utiliser.

Même la règle générale ci-dessus possède des exceptions, ou peut être contournée. Certains problèmes peuvent être résolus via une configuration particulière de votre part. Par exemple, vous pouvez créer votre propre dépôt yum sur un serveur local, et y placer uniquement les mises à jour testées ou de confiance pour ensuite utiliser les mises à jour automatiques seulement depuis votre propre dépôt. Une telle configuration, bien que probablement plus difficile à mettre en oeuvre et à maintenir, peut supprimer une grosse quantité de risques autrement inhérents aux mises à jour automatiques.

Comment fonctionnent les mises à jour automatiques ?

Vous pouvez utiliser le service du gestionnaire de paquetages yum pour automatiquement télécharger et installer toutes les nouvelles mises à jour (par exemple les mises à jour de sécurité). Le paquet RPM yum inclut un service nommé "yum" qu'il est possible d'activer en tant qu'utilisateur root. Lancez la commande suivante pour activer le service :


service yum start

Les mises à jour des paquetages logiciels sont loguées dans /var/log/yum.log pour être vérifiées par l'utilisateur.

Si vous ne souhaitez pas que les mises à jour automatiques soient activées à chaque fois que l'ordinateur est démarré, la commande suivante exécutée en tant qu'utilisateur root activera le service pour démarrer automatiquement au démarrage du système pour le niveau d'exécution courant :


chkconfig yum on

Peut-on faire confiance aux mises à jour de yum ?

La vérification de clé GPG est activée par défaut pour yum dans Fedora. En supposant que vous avez importé les clés GPG correctes, et avez toujours gpgcheck=1 dans votre /etc/yum.conf, alors on peut au moins assurer que les mises à jour installées automatiquement n'ont pas été corrompues ou modifiées depuis leur état original. En utilisant la vérification de clés GPG, il n'existe aucun moyen pour un attaquant de générer des paquets que votre système considérera valides (tant qu'il ne possèdent pas de copie de la clé *privée* qui correspond à celle que vous avez installée) et toute corruption de données pendant le téléchargement sera détectée.

Par contre, la question peut aussi s'appliquer à la qualité des mises à jour. Est-ce que l'installation du paquetage causera des problèmes sur votre système ? Nous ne pouvons répondre à cela. Chaque paquet passe à travers un processus de qualité assurance, et est supposé exempt de tout problème. Mais, les problèmes surviennent, et l'assurance qualité ne peut tester tout les cas de figure possibles. Il est toujours possible que n'importe quelle mise à jour puisse causer des problèmes pendant ou après l'installation.

Pourquoi utiliser les mises à jour automatiques ?

Le principal avantage d'automatiser les mises à jour est que les machines seront probablement mises à jour plus rapidement, plus souvent, et plus uniformément que si les mises à jour sont faites manuellement. On peut voir beaucoup trop de machines compromises sur internet qui auraient pu être sûres si les dernières mises à jour avaient été installées en temps et en heure.

Donc, alors que vous devriez rester précautionneux avec n'importe quelle solution de mise à jour automatique, en particulier sur des systèmes en production, il est définitivement utile s'y songer, au moins dans certaines situations particulières.

Raisons POUR utiliser les mises à jour automatiques

Bien que personne ne puisse déterminer pour vous si votre machine est un bon candidat pour les mises à jour automatiques, il existe certaines choses qui font de certaines machines de meilleurs candidats pour les mises à jour automatiques.

Quelques unes des considérations qui font d'une machine un bon candidat pour les mises à jour automatiques sont les suivantes :

  • Vous êtes défavorable aux mises à jour manuelles pour quelque(s) raison(s) que ce soit.
  • La machine n'est pas cruciale et des coupures occasionnelles non planifiées sont acceptables.
  • Vous pouvez vivre sans accès à distance à la machine tant que vous pouvez vous rendre à son emplacement physique pour résoudre les problèmes.
  • Vous ne possédez aucune donnée irremplaçable dans cette machine, ou possédez des sauvegardes correctes de ces données.

Si tous les points ci dessus s'appliquent à votre machine, alors les mises à jour automatiques peuvent être votre meilleure option pour la sécuriser. Si tous les point ne s'y appliquent pas, vous devrez alors peser le pour et le contre et décider vous même si les mises à jour automatiques sont le meilleur moyen de procéder.

Raisons CONTRE l'utilisation des mises à jour automatiques

Bien que personnes ne puisse déterminer pour vous si votre machine est un mauvais candidat aux mises à jour automatiques, il existe certaines choses qui tendent à rendre une machine plus mauvaise candidate pour les mises à jour automatiques.

Quelques unes des considérations qui font d'une machine un mauvais candidat pour les mises à jour automatiques sont les suivantes :

  • Elle fournit un service crucial pour lequel vous ne voulez pas risquer de coupure non planifiée.
  • Vous avez installé des programmes personnalisés, compilés depuis les sources, ou utilisez des applications tierce partie qui requièrent des versions de paquetages strictes.
  • Vous avez installé un noyau personnalisé, des modules de noyau personnalisés, des modules de noyau tierce partie, ou possédez une application tierce partie qui dépend de la version du noyau (cela peut ne pas être un problème si vous excluez les mises à jour du noyau, ce qui est la configuration par défaut dans le fichier yum.conf de Fedora).
  • Votre environnement requiert des procédures de [change-control] méticuleuses.
  • Vous mettez à jour depuis des dépôts yum tierce partie en plus de ceux de Fedora (core, extras, legacy) qui peuvent entrer en conflit dans leur schéma de versions pour un même paquetage.

Il existe aussi quelques autres raison pour que l'installation des mises à jour automatiquement sans tester peut être une mauvaise idée. En voici quelques unes :

  • Le besoin de sauvegarder votre configuration avant une mise à jour. Même les meilleures spécifications de paquetages peuvent contenir des erreurs. Si vous avez modifié un fichier qui n'est pas marqué comme un fichier de configuration, il est alors possible que vous perdiez vos changements dans la configuration, ou une mise à jour peut dispenser un fichier de configuration d'un format différent, qui requiert une configuration manuelle à nouveau. Il est souvent préférable de sauvegarder vos fichiers de configuration avant d'appliquer des mises à jour sur des paquets cruciaux, tels que les serveurs mail, web ou de base de données.
  • Effets de bord non désirés. Certain paquetages peuvent créer d'ennuyeux effets de bord, particulièrement ceux qui ont des tâches cron. La mise à jour de paquets de base comme openssl, openldap, serveurs sql, etc... peut avoir des effets sur beaucoup d'autres paquets qui semblent n'avoir aucune relation.
  • Bogues. Beaucoup de paquetages contiennent des logiciels bogués ou des scripts d'installation. La mise à jour peut créer des problèmes pendant ou après l'installation. Même les bogues d'affichage comme ceux trouvés dans les précédentes mises à jour de Mozilla (qui causaient la suppression ou l'altération des icônes) peuvent être exaspérants ou problématiques.
  • Les mises à jour automatiques peuvent ne pas compléter le processus requis pour sécuriser le système. Par exemple, vous pouvez installer une mise à jour du noyau, mais tant que le système n'a pas été redémarré (ce que yum ne fait pas automatiquement) les nouveaux changements ne prendront pas effet. Le même cas peut s'appliquer au redémarrage des démons. Cela peut faire croire à l'utilisateur qu'il est en sécurité alors que ce n'est pas le cas.

Meilleures pratiques pour utiliser les mises à jour automatiques

Si vous décidez d'utiliser les mises à jour automatiques, vous devriez au moins accomplir quelques tâches pour vous assurer d'être réellement à jour.

Contrôlez les paquetages mis à jour automatiquement, et notez s'ils nécessitent une intervention (manuelle) supplémentaire. Vous pouvez surveiller ce que yum à mis à jour via son fichier de log (habituellement /var/log/yum.log). Vous pouvez contrôler cela automatiquement par email en modifiant la tâche cron pour vous envoyer la dernière partie de ce fichier de log. Par exemple, éditez /etc/cron.daily/yum.cron afin qu'il ressemble à ce qui suit :

#!/bin/sh

if [ -f /var/lock/subsys/yum ] ; then
/usr/bin/yum -R 10 -e 0 -d 0 -y update yum
/usr/bin/yum -R 120 -e 0 -d 0 -y update
/usr/bin/tail /var/log/yum.log | /bin/mail -s yum-report youremail@yourdmain
fi

Vous devez remplacer youremail@yourdomain par l'adresse sur laquelle vous souhaitez envoyer le rapport. Ce changement signifie qu'après chaque lancement de yum la nuit, la fin de la queue du log vous sera envoyée par email vous montrant ce qui s'est passé. (Notez que cela implique que vous ayez une installation email fonctionnelle sur votre machine.)

Alternatives aux mises à jour automatiques

Notifications

Au lieu des mises à jour automatiques, yum peut vous avertir via email des mises à jour disponibles que vous pourrez installer manuellement. Vous pourrez accomplir une telle tâche avec une tâche cron comme listée ci-dessous. Placez simplement ces commandes dans /etc/cron.daily dans un fichier au nom approprié (comme yum-check-updates.cron).

#!/bin/sh

/usr/bin/yum check-update 2>&1 | /bin/mail -s "yum check-update output" root

Vous pouvez bien entendu modifier l'adresse email à laquelle le message est envoyé, etc... pour correspondre à vos besoins.

Planifier des mises à jour

Un autre problème commun est l'activation des mises à jour automatiques lorsque ce n'est pas désiré (vacances, weekends, etc...). En ce qui concerne les périodes où personne n'est présent pour fixer les problèmes qui surviennent des mises à jour, il peut être préférable d'éviter d'en faire. L'une des méthodes consiste à utiliser une entrée du crontab au lieu du /etc/cron.daily/yum.conf fourni par défaut. Par exemple, pour lancer les mises à jour le matin du lundi au vendredi (en évitant les weekends), vous pouvez utiliser une entrée crontab similaire à ce qui suit :

0 7 * * 1-5   /usr/bin/yum -y update

Si vous avez besoin d'un contrôle plus fin des lancements, vous pouvez créer un fichier nommé, par exemple, /usr/local/etc/no-yum-update.conf, qui contient la liste des dates auxquelles les mises à jour ne doivent pas être lancées. Les dates à placer dans ce fichier sont laissées à votre discrétion (vacances, etc...). Les dates devraient être au format YYYY-MM-DD (ex. 2005-03-31). Créez ensuite un script /etc/cron.daily/yum-update.cron qui ressemble à ceci :

#!/bin/sh

today=$(date +%Y-%m-%d)

while read banned; do
[ "$today" == "$banned" ]  && exit 0
done < /usr/local/etc/no-yum-update.conf
yum -y update

Autres méthodes de protection

Une autre chose à considérer si vous n'utilisez pas les mises à jour automatiques est de fournir à votre machine d'autres formes de protection pour aider à la défense contre les attaques qui peuvent survenir tant que les mises à jour ne sont pas effectuées. Cela peut inclure un firewall externe, un firewall sur l'hôte (comme iptables, ipchains, et/ou tcpwrappers), ne pas exécuter de tâches dangereuses (comme surfer sur le web, lire des emails, etc...), et surveiller le système pour les intrusions (avec des vérificateurs de fichiers log, des systèmes IDS, la surveillance de l'authentification, etc...)