Mise à jour du système

La mise-à-jour du système d’exploitation est, me semble-t-il, une des précautions essentielles à prendre sur toute machine connectée à internet, qu’il s’agisse d’un serveur web ou d’un PC.

Il existe plusieurs écoles sur le sujet. Certains recommandent de mettre-à-jour son système automatiquement (dès la parution des correctifs), d’autres préfèrent choisir manuellement les correctifs à installer. Alors que choisir ?

Quelle stratégie adopter ?

Choisir ses mises-à-jour ?

Cela semble la meilleure solution : le webmaster sélectionne les mises-à-jour pour n’appliquer que celles qui sont indispensables et qui répondent à un problème de sécurité.

Avantages

  • Ben on est sûr de ce que l’on fait : on n’introduit pas de mise-à-jour comportant une faille connue ;
  • On ne surcharge pas le système : les mises-à-jour sont réduites, et le système est stable car évoluant peu (juste le nécessaire)

Inconvénients

  • Le webmaster doit être hyper-vigilant : il doit effectuer une vérification très régulière (quotidienne). Cela prend donc énormément de temps et d’énergie ;
  • Il faut connaître ses packages sur le bout des doigts et opérer une veille très active sur les correctifs. Or un système Linux comporte habituellement des centaines de packages qu’il est impossible de maîtriser pour une seule personne.

Installer automatiquement ses mises-à-jour ?

Option inverse : déléguer la mise-à-jour au système en lui demandant périodiquement de se mettre à jour automatiquement (quand c’est possible). A noter que certains packages demandent une validation (pour se conformer aux licences d’utilisation), ceux-ci peuvent ne pas être chargés. Il convient donc malgré tout d’opérer une mise à niveau manuelle régulièrement.

Avantages

  • Aucune perte de temps et moins de travail pour l’administrateur ;

Inconvénients

  • On ne maîtrise plus rien : on fait confiance aux distributions et à la gestion des packages. On peut donc se retrouver avec des fonctionnalités non souhaitées, des packages inutiles ou moins performants.

Course poursuite

Bien que la mise à niveau manuelle semble plus précise et plus pertinente, il faut garder à l’esprit qu’aujourd’hui la sécurité est avant tout une course poursuite :

  • Les pirates cherchent par eux-même des failles, mais leur démarche est également souvent inverse : ils se basent sur les failles connues et publiées pour les utiliser et les exploiter tant qu’elles n’ont pas été corrigées. Or quand elles sont publiques (connues), c’est bien souvent lors de la mise en ligne d’un correctif. Les pirates escomptent donc que les systèmes ne seront pas mis-à-jour immédiatement pour exploiter le plus longtemps possible une faille connue.
  • Or peu de pirates ont le temps, les compétences et les moyens de traquer méthodiquement et de découvrir des failles dans les différents logicels et autres packages Linux.

La bonne approche est donc le plus souvent de maintenir son système à jour dès que possible pour l’exposer le moins longtemps aux failles connues. On sait maintenant que ce sont dans les vieux pots qu’on fait les meilleurs confitures, et que les failles même anciennes sont toujours testées et utilisées par les attaquants.

Bien sûr, ce conseil vaut dans le cadre d’une utilisation personnelle, comme mentionné : c’est le meilleur compromis entre la charge qu’on peut accorder à cette tâche et la qualité de protection attendue, pour un usage non-critique.

Fedora, CentOS, Red Hat-like

Avec ces distributions Linux, le plus simple est de passer par le gestionnaire de paquet yum, qui est installé par défaut sur toutes les distributions récentes.

Pour automatiser, rien de plus simple :

chkconfig yum on

En version longue, pour les utilisateur de sudo :

su -c '/sbin/chkconfig --level 345 yum on; /sbin/service yum start'

Ubuntu, Debian-like

Il existe un package gérant tout cela : unattended-upgrades. Il suffit de l’installer et de le configurer.

$ sudo apt install unattended-upgrades
$ sudo dpkg-reconfigure --priority=low unattended-upgrades

D’autres informations utiles sont ici :

  • https://guide.ubuntu-fr.org/server/automatic-updates.html
  • https://wiki.debian.org/UnattendedUpgrades

Il convient également de vérifier les deux fichiers de configuration suivants :

/etc/apt/apt.conf.d/50unattended-upgrades
/etc/apt/apt.conf.d/20auto-upgrades

Mise-à-jour du noyau sans reboot

Des solutions (hélas payantes) existent : http://www.ksplice.com/uptrack/install#. Toutefois, Ubuntu semble s’y mettre, mais je ne sais pas encore si cela est réservé aux utilisateurs ayant souscrit une formule de support ou pas.