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 :

Plusieurs méthodes sont possibles avec leurs 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.

Annonce de solene

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 port "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) :

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.

Ê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.

Page errata

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.7 à la 6.8.

https://www.openbsd.org/faq/upgrade68.html

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

Nettoyer après plusieurs mises à jour

Si votre installation date un peu, vous pouvez vérifier quels fichiers vous avez peut-être oublié de supprimer avec l'aide du port "sysclean" (commande du même nom).

Seront alors listés les fichiers qui ne sont pas censés être présents par rapport à un système de base. Lisez attentivement la sortie, car il y a fort à parier que la plupart sont des fichiers de configuration créés par vos soins ;).