Introduction
Introduction Statistics Contact Development Disclaimer Help
Title: [FR] Pourquoi j'utilise OpenBSD
Author: Solène
Date: 04 January 2021
Tags: openbsd francais
Description:
Dans ce billet je vais vous livrer mon ressenti sur ce que j'aime dans
OpenBSD.
### Respect de la vie privée
Il n'y a aucune télémétrie dans OpenBSD, je n'ai pas à m'inquiéter
pour le respect de ma vie privée. Pour rappel, la télémétrie est un
mécanisme qui consiste à remonter des informations de l'utilisateur
afin d'analyser l'utilisation du produit.
De plus, le défaut du système a été de désactiver entièrement le
micro, à moins d'une intervention avec le compte root, le microphone
enregistre du silence (ce qui permet de ne pas le bloquer quant à des
droits d'utilisation). A venir dans 6.9, la caméra suit le même
chemin et sera désactivée par défaut. Il s'agit pour moi d'un signal
fort quant à la nécessité de protéger l'utilisateur.
### Navigateurs web sécurisés
Avec l'ajout des fonctionnalités de sécurité (pledge et surtout
unveil) dans les sources de Firefox et Chromium, je suis plus sereine
quant à leur utilisation au quotidien. À l'heure actuelle,
l'utilisation d'un navigateur web est quasiment incontournable, mais
ils sont à la fois devenus extrêmement complexes et mal maîtrisés.
L'exécution de code côté client via Javascript qui a de plus en plus
de possibilité, de performances et de nécessités, ajouter un peu de
sécurité dans l'équation était nécessaire. Bien que ces ajouts
soient parfois un peu dérangeants à l'utilisation, je suis vraiment
heureuse de pouvoir en bénéficier.
Avec ces sécurités ajoutés (par défaut), les navigateurs cités
précédemment ne peuvent pas parcourir les répertoires en dehors de
ce qui leur est nécessaire à leur bon fonctionnement plus les
dossiers ~/Téléchargements/ et /tmp/. Ainsi, des emplacements comme
~/Documents ou ~/.gnupg sont totalement inaccessibles ce qui limite
grandement les risques d'exfiltration de données par le navigateur.
On pourrait refaire grossièrement la même fonctionnalité sous Linux
en utilisant AppArmor mais l'intégration est extrêmement compliquée
(là où c'est par défaut sur OpenBSD) et un peu moins efficace, il
est plus facile d'agir au bon moment depuis le code plutôt qu'en
encapsulant le programme entier d'un groupe de règles.
### Pare-feu PF
Avec PF, il est très simple de vérifier le fichier de configuration
pour comprendre les règles en place sur le serveur ou un ordinateur de
bureau. La centralisation des règles dans un fichier et le système de
macros permet d'écrire des règles simples et lisibles.
J'utilise énormément la fonctionnalité de gestion de bande passante
pour limiter le débit de certaines applications qui n'offrent pas ce
réglage. C'est très important pour moi n'étant pas la seule
utilisatrice du réseau et ayant une connexion assez lente.
Sous Linux, il est possible d'utiliser les programmes trickle ou
wondershaper pour mettre en place des limitations de bande passante,
par contre, iptables est un cauchemar à utiliser en tant que firewall!
### C'est stable
A part à l'utilisation sur du matériel peu répandu, OpenBSD est
très stable et fiable. Je peux facilement atteindre deux semaines
d'uptime sur mon pc de bureau avec plusieurs mises en veille par jour.
Mes serveurs OpenBSD tournent 24/24 sans problème depuis des années.
Je dépasse rarement deux semaines puisque je dois mettre à jour le
système de temps en temps pour continuer les développements sur
OpenBSD :)
### Peu de maintenance
Garder à jour un système OpenBSD est très simple. Je lance les
commandes syspatch et pkg_add -u tous les jours pour garder mes
serveurs à jour. Une mise à jour tous les six mois est nécessaire
pour monter en version mais à part quelques instructions spécifiques
qui peuvent parfois arriver, une mise à jour ressemble à ça :
```liste de commandes shells qui commencent par un # pour préciser que l'utili…
# sysupgrade
[..attendre un peu..]
# pkg_add -u
# reboot
```
### Documentation de qualité
Installer OpenBSD avec un chiffrement complet du disque est très
facile (il faudra que j'écrive un billet sur l'importance de chiffrer
ses disques et téléphones).
La documentation officielle expliquant l'installation d'un routeur avec
NAT est parfaitement expliquée pas à pas, c'est une référence dès
qu'il s'agit d'installer un routeur.
Tous les binaires du système de base (ça ne compte pas les packages)
ont une documentation, ainsi que leurs fichiers de configuration.
Le site internet, la FAQ officielle et les pages de man sont les seules
ressources nécessaires pour s'en sortir. Elles représentent un gros
morceau, il n'est pas toujours facile de s'y retrouve mais tout y est.
Si je devais me débrouiller pendant un moment sans internet, je
préférerais largement être sur un système OpenBSD. La documentation
des pages de man suffit en général à s'en sortir.
Imaginez mettre en place un routeur qui fait du trafic shaping sous
OpenBSD ou Linux sans l'aide de documents extérieurs au système.
Personnellement je choisis OpenBSD à 100% pour ça :)
### Facilité de contribution
J'adore vraiment la façon dont OpenBSD gère les contributions. Je
récupère les sources sur mon système et je procède aux
modifications, je génère un fichier de diff (différence entre
avant/après) et je l'envoie sur la liste de diffusion. Tout ça peut
être fait en console avec des outils que je connais déjà (git/cvs)
et des emails.
Parfois, les nouveaux contributeurs peuvent penser que les personnes
qui répondent ne sont vraiment pas sympa. **Ce n'est pas vrai**. Si
vous envoyez un diff et que vous recevez une critique, cela signifie
déjà qu'on vous accorde du temps pour vous expliquer ce qui peut
être amélioré. Je peux comprendre que cela puisse paraître rude
pour certaines personnes, mais ce n'est pas ça du tout.
Cette année, j'ai fait quelques modestes contributions aux projets
OpenIndiana et NixOS, c'était l'occasion de découvrir comment ces
projets gèrent les contributions. Les deux utilisent github et la
manière de faire est très intéressante, mais la comprendre demande
beaucoup de travail car c'est relativement compliqué.
Site officiel d'OpenIndiana
Site officiel de NixOS
La méthode de contribution nécessite un compte sur Github, de faire
un fork du projet, cloner le fork en local, créer une branche, faire
les modifications en local, envoyer le fork sur son compte github et
utiliser l'interface web de github pour faire un "pull request". Ça
c'est la version courte. Sur NixOS, ma première tentative de faire un
pull request s'est terminée par une demande contenant six mois de
commits en plus de mon petit changement. Avec une bonne documentation
et de l'entrainement c'est tout à fait surmontable. Cette méthode de
travail présente certains avantages comme le suivi des contributeurs,
l'intégration continue ou la facilité de critique de code, mais c'est
rebutoire au possible pour les nouveaux.
### Packages top qualité
Mon opinion est sûrement biaisée ici (bien plus que pour les
éléments précédents) mais je pense sincèrement que les packages
d'OpenBSD sont de très bonne qualité. La plupart d'entre eux
fonctionnent "out of the box" avec des paramètres par défaut
corrects.
Les packages qui nécessitent des instructions particulières sont
fournis avec un fichier "readme" expliquant ce qui est nécessaire, par
exemple créer certains répertoires avec des droits particuliers ou
comment mettre à jour depuis une version précédente.
Même si par manque de contributeurs et de temps (en plus de certains
programmes utilisant beaucoup de linuxismes pour être faciles à
porter), la plupart des programmes libres majeurs sont disponibles et
fonctionnent très bien.
Je profite de l'occasion de ce billet pour critiquer une tendance au
sein du monde Open Source.
* les programmes distribués avec flatpak / docker / snap fonctionnent
très bien sur Linux mais sont hostiles envers les autres systèmes.
Ils utilisent souvent des fonctionnalités spécifiques à Linux et les
méthodes de compilation sont tournées vers Linux. Cela complique
grandement le portage de ces applications vers d'autres systèmes.
* les programmes avec nodeJS: ils nécessitent parfois des centaines
voir des milliers des libs et certaines sont mêmes un peu bancales.
C'est vraiment compliqué de faire fonctionner ces programmes sur
OpenBSD. Certaines libs vont même jusqu'à embarquer du code rust ou
à télécharger un binaire statique sur un serveur distant sans
solution de compilation si nécessaire ou sans regardant si ce binaire
est disponible dans $PATH. On y trouve des aberrations incroyables.
* les programmes nécessitant git pour compiler: le système de
compilation dans les ports d'OpenBSD fait de son mieux pour faire au
plus propre. L'utilisateur dédié à la création des packages n'a pas
du tout accès à internet (bloqué par le pare-feu avec une règle par
défaut) et ne pourra pas exécuter de commande git pour récupérer du
code. Il n'y a aucune raison pour que la compilation d'un programme
nécessite de télécharger du code au milieu de l'étape de
compilation!
Évidemment je comprends que ces trois points ci-dessus existent car
cela facilite la vie des développeurs, mais si vous écrivez un
programme et que vous le publiez, ce serait très sympa de penser aux
systèmes non-linux. N'hésite pas à demander sur les réseaux sociaux
si quelqu'un veut tester votre code sur un autre système que Linux. On
adore les développeurs "BSD friendly" qui acceptent nos patches pour
améliorer le support OpenBSD.
### Ce que j'aimerais voir évoluer
Il y a certaines choses où j'aimerais voir OpenBSD s'améliorer. Cette
liste est personnelle et reflète pas l'opinion des membres du projet
OpenBSD.
* Meilleur support ARM
* Débit du Wifi
* Meilleures performances (mais ça s'améliore un peu à chaque
version)
* Améliorations de FFS (lors de crashs j'ai parfois des fichiers dans
lost+found)
* Un pkg_add -u plus rapide
* Support du décodage vidéo matériel
* Meilleur support de FUSE avec une possibilité de monter des
systèmes CIFS/samba
* Plus de contributeurs
Je suis consciente de tout le travail nécessaire ici, et ce n'est
certainement pas moi qui vais y faire quelque chose. J'aimerais que
cela s'améliore sans toutefois me plaindre de la situation actuelle :)
Malheureusement, tout le monde sait qu'OpenBSD évolue par un travail
acharné et pas en envoyant une liste de souhaits aux développeurs :)
Quand on pense à ce qu'arrive à faire une petite équipe (environ 150
développeurs impliqués sur les dernières versions) en comparaison
d'autres systèmes majeurs, je pense qu'on est assez efficace!
You are viewing proxied material from dataswamp.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.