Lors de la mise à jour de paquets et notamment de bibliothèques, tous les démons qui utilisent les paquets mis à jour ne sont pas forcément redémarrés. Prenons un exemple. Le paquet libkrb5-3 fait l'objet d'une mise à jour de sécurité. De nombreux paquets dépendent de cette bibliothèque (comme apache2, ssh pour avoir la liste : aptitude search ~i~D~n^libkrb5-3$
.
Il faut donc s'assurer que tous les logiciels qui fonctionnent sur la machine, surtout les démons, utilisent bien la nouvelle version de la bibliothèque. Pour cela, il faudra redémarrer les logiciels qui l'utilise. Sans se redémarrage, un logiciel qui a chargé en mémoire l'ancienne version va continuer à l'utiliser et sera donc impacté par la faille de sécurité.
Debian fournir la commande checkrestart
dont le rôle est :
check which processes need to be restarted after an upgrade.
Après une mise à jour de libkrb5-3
, la commande peut retourner quelque chose comme :
sudo checkrestart Found 22 processes using old versions of upgraded files (5 distinct programs) (5 distinct packages) Of these, 3 seem to contain init scripts which can be used to restart them: The following packages seem to have init scripts that could be used to restart them: openssh-server: 15614 /usr/sbin/sshd dovecot-common: 26931 /usr/lib/dovecot/dovecot-auth 15444 /usr/lib/dovecot/dovecot-auth apache2.2-bin: 27742 /usr/lib/apache2/mpm-prefork/apache2 28633 /usr/lib/apache2/mpm-prefork/apache2 1413 /usr/lib/apache2/mpm-prefork/apache2 925 /usr/lib/apache2/mpm-prefork/apache2 32170 /usr/lib/apache2/mpm-prefork/apache2 These are the init scripts: /etc/init.d/ssh restart /etc/init.d/dovecot restart /etc/init.d/apache2 restart
Les 3 dernières lignes correspondent aux scripts à exécuter pour relancer les démons. Il est possible que checkrestart
ne soit pas capable de trouver le script de lancement, notamment les démons utilisant un langage interprété (mailman
, jail2ban
ou prosody
par exemple).
checkrestart
est disponible dans le paquet debian debian-goodies qui porte bien son nom .
Il est probablement possible d'exécuter checkrestart
automatiquement après chaque apt-get upgrade
. To be continued…
— Le 05/01/2012 – Sylvain Collilieux – Ce texte est sous licence Creative Commons Attribution