---
categories: ['OpenBSD','Système','Base']
date: 2018-10-11T18:43:18+01:00
description: "Comment durcir sa machine sous OpenBSD"
draft: false
lastmod: 2020-05-21T15:00:40+02:00
tags: ['OpenBSD','Durcissement']
title: "OpenBSD : durcir le système de fichier"
translationKey: 'openbsd-harden'
---
## Securelevel
Par défaut, actuellement le niveau de sécurité par défaut d'OpenBSD
semble être déjà un acquis.
Le manpage **securelevel** nous restitue une information pertinente. Il est possible d'augmenter ce
niveau en utilisant la commande `sysctl`, telle que :
`# sysctl -w kern.securelevel=2`
Mais soyez conscient des difficultés créées :
* Impossible de modifier l'horloge système - *(pensez à la synchronisation NTP, par
exemple…)* -,
* ou vos règles PF si jamais vous les avez configurées,
* etc…
## Système de fichiers en lecture seule
{{% note warning %}}
**ATTENTION** : Avec OpenBSD 6.4, il semble que cela pose plus
d'un soucis. Les sockets qui ne peuvent être copiées ; les
services qui ne peuvent être démarrés, voire redémarrés ; la
régénération du kernel qui ne se fait pas ; les logs PF non
consultables, etc…
et unveil(2) qui logiquement se plaint !
`(…) unveil: Read-only file system`
{{% /note %}}
Un autre moyen est de rester en `securelevel` par défaut à `1`, mais
d'utiliser les options de montage, tel que `ro` principalement, mais
aussi `nodev,noexec,nosuid` sur les différentes partitions du système de
fichier ffs.
Pour cela, il faut d'abord modifier le fichier `/etc/fstab`, de manière
à ce que soit créé au démarrage un système de fichier `mfs` *(swap)*
pour monter les périphériques `/dev` dedans
{{< color red >}}Ne pas oublier cette écriture, sinon, vous aurez quelques difficultés pour "monter"
dynamiquement certains périphériques spéciaux{{< /color >}}, parfois nécessaires, pour certains services, tel SSH !
Copiez votre fichier `/etc/fstab` de manière à en faire une sauvegarde - cela pourrait être utile plus tard !
`# cp /etc/fstab /root/fstab.origin ; chmod 0400 /root/fstab.origin`
#### Modification du fichier `/etc/fstab`
{{< file "sys-openbsd-harden-fstab" cfg "/etc/fstab" >}}
{{% note warning %}}
**ATTENTION** à ces deux points essentiels :
* la partition `/tmp`, et `/var` ont besoin de rester en écriture ; néanmoins, il n'est pas nécessaire d'avoir des droits en exécution, suid, ni d'écriture de périphériques spéciaux.
* la partition `/home` peut être en lecture seule ; néanmoins, soyez conscient que cela vous compliquera la tâche pour ajouter/créer/détruire tout fichier dans votre répertoire personnel, surtout dans le contexte d'une machine.
De même si vous souhaitez tester du code *(python, shell, …)* après avoir cloné des dépôts git, compiler des binaires pour les tester…
dans ce cas-là, c'est l'option `noexec` qui vous empêchera une telle activité, somme toute légitime. À vous de voir…
{{% /note %}}
#### Création du fichier `sysmount`
Le script [`sysmount`](https://framagit.org/hucste/omv-it/blob/master/Administration/sysmount)
nous facilitera la vie, pour autoriser l'écriture et verrouiller des différentes partitions le nécessitant :
{{< file "sys-openbsd-harden-sysmount-script" sh "sysmount" >}}
L'usage en est très simple : avant l'installation d'un binaire, ou la
modification d'un fichier de configuration, un coup de :
* `./sysmount rw` pour autoriser l'écriture sur le système de fichier,
* puis ensuite de `./sysmount ro` pour l'empêcher à nouveau`
et, voilà !
{{% note warning %}}
**Soyez attentif** au fait que ce script ne gère QUE les droits
d'écriture sur la racine ainsi que les partitions `/usr/`
principales…
Il vous faudra le modifier en conséquence pour gérer soit d'autres
partitions, soit d'autres options !
{{% /note %}}
------------------------------------------------------------------------
Lorsqu'il faudra mettre à niveau le système d'exploitation, veuillez
lire cet autre article : **{{< inside "sys:openbsd:upgrade-hardened-openbsd" >}}**
------------------------------------------------------------------------
## Documentations
### Manpages
* {{< man securelevel >}}, {{< man unveil 2 >}}
## Remerciements
Un petit "gros" merci
@[Vincent](http://www.vincentdelft.be/) pour ces tutoriels
sur le durcissement du système de fichier OpenBSD :
[ici](http://www.vincentdelft.be/post/post_20160712) ou
[là](http://www.vincentdelft.be/post/post_20180713).
------------------------------------------------------------------------