---
categories: ['OpenBSD','Système','Base']
date: 2018-10-19T01:17:25+01:00
description: "Comment mettre à jour une machine durcie sous OpenBSD"
draft: false
lastmod: 2020-05-21T15:05:40+02:00
tags: ['OpenBSD','Durcissement','mini-tuto']
title: "[Mini-Tuto] Upgrade Hardened OpenBSD"
translationKey: 'openbsd-harden-upgrade'
---
## Securelevel
Officiellement, il faut éditer le fichier `/etc/rc.securelevel` et lui
écrire : `sysctl -w kern.securelevel=1` puis redémarrer la machine !
## Système de fichiers en lecture seule
Si vous avez eu la bonne idée de durcir votre FS par l'usage - **principalement** -
de l'option de montage `ro` sur les principales
partitions de votre système, il va falloir user de l'astuce suivante :
* Si vous avez une copie de votre fichier `/etc/fstab`, telle que montrée
dans mon article **{{< inside "sys:openbsd:harden-openbsd" >}}**, alors
faites tout simplement en premier :
`# mv /etc/fstab /root/fstab ; mv /root/fstab.origin /etc/fstab ; chmod 0644 /etc/fstab`
* Sinon, si vous n'avez pas fait de copie, ce n'est pas bien grave, éditez
votre fichier `/etc/fstab` pour transformer toutes les écritures de
l'option `ro` en `rw` et mettre en commentaire la ligne déclarant le fichier
de swap mfs pour `/dev`. Soit vous le faites à la main, soit vous utilisez ce one-liner :
`# sed -i -e 's/ro/rw/g;s/swap \/dev mfs \(.*\)/#swap \/dev mfs \1/g' /etc/fstab`
Ceci étant fait, vérifiez l'écriture de votre système de fichier dans
le fichier `/etc/fstab`, afin d'être bien sûr de l'écriture de
celui-ci !
---
Pensez à mettre de côté les scripts `/etc/rc.local`, `/etc/rc.shutdown`,
voire `/etc/daily.local`, - **si vous en avez créez** - afin d'être
tranquille lors de la mise à niveau !
Puis faites votre procédure de mise à niveau selon le Guide de Migration
fourni par l'équipe OpenBSD - **par exemple, celui de la
[6.4][1] et sa [traduction (in)officielle en Français][2]**…
#### Pourquoi remettre le système de fichier en écriture ?
En fait, l'installateur d'OpenBSD passe en `rw` lors de la mise à
niveau ; le problème se pose après le redémarrage du système mise à
niveau. En effet, logiquement le système va faire exécuter ses routines
liées au script `/etc/sysmerge` et `/etc/rc.firsttime` qu'il renomme
pour l'occasion en `*.run` respectivement - ce qui a normalement pour
propos d'exécuter les utilitaires `sysmerge`, `fw_update`
principalement…
Si le système est initialement en mode lecture seule avant la mise à
niveau, lesdits processus échoueront et vous avertiront par des messages
d'erreurs vous informant que le système ne peut pas renommer les deux
scripts en `*.run`, ni exécuter de fait leur contenu, et donc ne peut
finaliser correctement la mise à niveau !
----
Il ne vous restera plus qu'à appeler vous-même l'exécution des
binaires `sysmerge`, `fw_updates` en espérant que tout se passe
correctement… :(
Puis vous pourrez terminer le processus de migration en mettant à jour
les packages ; ceci une fois fait, il ne vous restera plus qu'à faire
une analyse de l'ensemble du système grâce aux deux outils, l'un natif
`pkg_check`, l'autre à installer `sysclean`.
**OU**, alors, à relancer à nouveau la mise à niveau de votre
système, en appelant le binaire `bsd.rd` au redémarrage de la
machine, **SEULEMENT** après avoir pris les précautions
nécessaires pour remettre le système de fichiers en écriture
avant le redémarrage !
----
* Remettez en place vos fichiers `/etc/rc.local`, `/etc/rc.shutdown`,
voire `/etc/daily.local`, en veillant à ce que les droits utilisateurs
soient bien liés à `root:wheel` et en `0644`.
* Remettez votre {{< inside2 t="système de fichier en lecture seule" l="sys:openbsd:harden-openbsd" a="système-de-fichiers-en-lecture-seule" >}} !
* Et, redémarrez votre machine, puis profitez de l'utilisation pendant
environ 6 mois, sans avoir à redémarrer ! :p
---
[1]: https://www.openbsd.org/faq/upgrade64.html
[2]: https://wiki.openbsd.fr.eu.org/doku.php/openbsd.org/faq/upgrade64