Outils du site


Maintenir le système à jour

Pour conserver un système robuste et sécurisé, il est essentiel de le maintenir à jour. Afin d'appliquer les correctifs de sécurité, il faudra mettre à jour :

  • Le système de base
  • Les ports de programmes tiers éventuellement installés par vos soins si une version plus récente est disponible.

Plusieurs méthodes pour faire ça sont possibles avec ses avantages et inconvénients éventuels.

Pour les pressés ;) :

# syspatch
# pkg_add -u

Mettre les ports (paquets) à jour

Mettre les paquets à jour est l'histoire d'une seule commande :

# pkg_add -u

Oui, c'est tout. ^^ Merci à solene qui a rendu cela possible.

Puisque ce paragraphe est un peu court, j'en profite pour vous donner deux astuces :). Je vous conseille d'ajouter au fichier /etc/daily.local la commande

pkg_add -nu

De cette façon, dans le mail journalier envoyé par Charlie Root, vous verrez ce qu'il pourrait se passer si des paquets pouvant être mis à jours sont disponibles. En réalité, rien n'est fait, car si un programme mis à jour doit être redémarré, il risque de ne pas fonctionner le temps que vous le relanciez. Ainsi, vous êtes avertis d'éventuelles mises à jour à appliquer, et avec l'option -n, les paquets sont gardés dans le cache afin de gagner du temps sans risquer de mettre un service en panne s'il doit être redémarré suite à la mise à jour. Vous entrerez à la main pkg_add -u lorsque vous en aurez l'occasion.

Si vous souhaitez tout de même appliquer les mises à jour automatiquement, je vous conseille d'installer avant tout le paquet checkrestart qui vous indiquera si un service doit être relancé suite à la mise à jour. Cela donnera donc dans /etc/daily.local :

pkg_add -u
echo "Service à relancer avec rcctl restart:"
checkrestart

Il faudra tout de même recharger les services à la main avec rcctl.

Mettre le système à jour

Tout d'abord, un petit rappel : OpenBSD est disponible en 3 “saveurs” (flavour) :

  • release : il s'agit de la version publiée et que vous avez sans doute téléchargée pour installer OpenBSD.
  • stable : c'est la version release avec plusieurs correctifs de sécurité. C'est celle-ci que nous souhaiterons suivre.
  • current : c'est la prochaine mouture en préparation d'OpenBSD, dans le dépôt CVS (qui sert au développement du code source).

Il peut en effet arriver que des bugs soient découverts. À chaque fois, des correctifs sont rapidement proposés. Il est alors recommandé d'appliquer les patchs de sécurité.

Depuis la version 6.1, cette opération se réalise très simplement avec la commande suivante :

# syspatch

Les patchs binaires sont alors téléchargés et installés. Wouhou ! ^_^ Ça ressemblait à ça sous OpenBSD 6.1 :

Get/Verify syspatch61-002_vmmfpu.tgz 100% |*******************************|  9377 KB    00:49    
Installing patch 002_vmmfpu
Get/Verify syspatch61-003_libress... 100% |*******************************| 11391 KB    00:22    
Installing patch 003_libressl
...

Cet outil n'est disponible que pour les architectures i386, amd64, et plus récemment arm64. Vous souhaiterez peut-être utiliser l'ancienne méthode de récupération des sources et installation manuelle décrite succintement par la suite.

Mise à jour du système par compilation

On va expliquer ci-dessous comment mettre OpenBSD à jour en compilant les sources. Ce n'est pas très compliqué contrairement à ce que l'on peut penser et parfois nécessaire si vous ne pouvez pas utiliser les solutions proposées précédemment. Il faut se contenter de suivre les étapes unes par unes. En cas de doute, n'hésitez pas à consulter la FAQ dédiée.

Pour commencer, on récupère les sources “patchées” et corrigées :

# cd /usr
# cvs -z9 -qd anoncvs@anoncvs.fr.openbsd.org:/cvs get -rOPENBSD_6_6 -P src
# cvs -z9 -qd anoncvs@anoncvs.fr.openbsd.org:/cvs get -rOPENBSD_6_6 -P ports

:!: Remplacez 6_6 par le numéro de version de votre installation que vous retrouverez avec la commande uname -r

La première fois, c'est long. Pas d'inquiétudes donc, préparez un petit café pendant ce temps. ;) Si vous aviez déjà les sources, il suffit alors de lancer :

# cd /usr/src
# cvs -z9 -q up -rOPENBSD_6_6 -Pd
# cd /usr/ports
# cvs -z9 -q up -rOPENBSD_6_6 -Pd

Vous serez peut-être intéressés par les changements effectués dans les sources depuis la dernière fois. Cette commande permet de consulter ces modifications :

cvs log -rOPENBSD_6_6:

Ou alors, qui donne un résultat moins long :

cvs diff -u -rOPENBSD_6_6

Ensuite, les commandes suivantes permettront de compiler le noyau :

# cd /sys/arch/$(machine)/conf
# config GENERIC.MP
# cd /sys/arch/$(machine)/compile/GENERIC.MP
# make clean 
# make obj
# make config
# make
# make install

Si vous ne disposez pas d'un processeur multi-coeurs, vous remplacerez GENERIC.MP par GENERIC. Laissez GENERIC en cas de doute.

Vous voudrez peut-être prendre un autre café ou une soupe selon la puissance de votre machine.

Il faut maintenant redémarrer sur le nouveau noyau (commande reboot) avant de passer à la suite, où l'on met à jour les fichiers du système après un petit nettoyage.

# rm -rf /usr/obj/*
# cd /usr/src
# make obj 
# make build

Une fois que c'est terminé, mettez à jour les fichiers de configurations qui auraient pu changer et recréez les “devices” :

# sysmerge 
# cd /dev && ./MAKEDEV all

Voilà, rien de plus qu'une série de petites commandes. Mais je crois qu'on préfère tous syspatch ^^.

Être averti des mises à jour

Pour savoir si des mises à jour doivent être appliquées, vous pouvez consulter la page errata qui contient la liste des patchs de sécurité disponibles.

Vous pouvez aussi être averti par mail (et ça c'est top :)). Pour recevoir les messages importants de mises à jour disponibles sur le système, inscrivez-vous aux listes announce et security-announce. Pour ça, on envoie un premier mail à majordomo@OpenBSD.org contenant simplement :

subscribe announce

Puis envoyez un second message avec :

subscribe security-announce

Je vous conseille aussi de vous inscrire à la liste indiquant qu'il existe une nouvelle version des ports en vous inscrivant à la liste ports-security en envoyant toujours à la même adresse un message contenant :

subscribe ports-security

Changer de version

Lorsqu'une nouvelle version majeure d'OpenBSD est disponible, la procédure de mise à jour est toujours détaillée sur le site officiel. Vous pouvez par curiosité consulter les notes de version lors du passage de la 6.3 à la 6.4.

Depuis la version 6.5, il suffit d'une simple commande pour réaliser la mise à jour vers la dernière publication release ou vers -current :

# sysupgrade

8-)