Première exploration d'OpenBSD

Publié le 01/05/2020 et écrit par Vincent Finance, dans la catégorie : #openbsd

Au cours du mois de novembre, j'ai eu envie de redécouvrir des systèmes d'exploitation alternatifs à Windows et j'ai choisi d'explorer l'univers UNIX à travers un système faisant partie d'une des branches de cet univers : OpenBSD.
Étant donné que nous sommes sur un système de niche, dans le sens où il est moins connu que les distributions GNU/Linux, j'avais envie de vous le présenter de manière concise et de vous résumer mon exploration à travers un petit article qui rassemble toutes sortes d'informations qui pourront vous être utiles.

Présentation rapide du système et du projet

OpenBSD est un projet créé en 1994 par Theo de Raadt, à la suite d'un conflit entre ce développeur et l'équipe de développement de NetBSD, un autre système d'exploitation de la branche des BSD (acronyme pour Berkeley Software Distribution ou Collection de Logiciels de l'université de Berkeley). Jugeant que le développement de NetBSD souffrait de plusieurs problèmes au niveau de la sécurité et de la fiabilité du code, Theo décida de lancer un projet où la sécurité aurait un point d'honneur, tout en offrant un environnement modulaire et adaptable sur de nombreuses plateformes.
Au bout de plusieurs années, les efforts de Theo et de son équipe ont donné naissance à un système d'exploitation qui est considéré comme l'un des systèmes les plus sécurisés en mode installation par défaut et qui a grandement contribué au monde du Libre. Ainsi, son équipe a notamment développé OpenSSH, un programme permettant de se connecter sur un ordinateur à distance à l'instar de Telnet, tout en chiffrant les communications entre le client et le serveur. Ce programme est désormais connu de tous les sysadmins et a été importé dans presque tous les systèmes de type UNIX aujourd'hui, à tel point que c'est devenu un incontournable.

Principaux atouts d'OpenBSD

Principaux défauts d'OpenBSD

Comment se fait une installation d'OpenBSD ?

Globalement, OpenBSD peut être installé à l'aide d'une clé USB bootable ou bien un CD/DVD si vous préférez cette technologie. Pour cela, il suffit d'aller sur le site officiel et de cliquer sur la section Downloads. Une fois sur cette page, plusieurs fichiers sont proposés par le site. Les fichiers nommés install contiennent tous les fichiers nécessaires pour installer une OpenBSD complète sans accès Internet, ce qui est pratique pour installer le système sur de nombreux PCs. Les fichiers cd et miniroot, quant à eux, ne font que lancer l'installateur et doivent récupérer les fichiers ailleurs (sur le réseau par exemple). Si on parle des extensions, les .iso correspondent à des images pour CD/DVD et les .fs à des images pour clés USB (sauf floppy.fs qui sert à faire des disquettes de démarrage).
La documentation étant bien faite ici, je vous laisse la lire tranquillement pour créer votre média d'installation (choisissez amd64 si votre PC est en 64 bits (PCs récents) ou i386 si votre PC est plus ancien).

Ensuite, il suffit de lancer la clé et de se laisser guider par l'installateur. Vous noterez alors qu'il ne parle qu'en anglais, mais les étapes se suivent de manière logique et je vais vous les résumer dans cet article.
En premier, il commence par vous demander quel clavier utiliser (tapez fr), puis le nom du PC sur le réseau (mettez le nom qui vous plaît). L'étape suivante touche la carte réseau. Si elle est supportée par OpenBSD (en gros, si vous voyez un autre nom devant vlan0, ce dernier étant une carte virtuelle), il suffit alors d'appuyer sur Entrée à chaque étape et le système associera automatiquement une adresse pour se connecter.
On vous demande ensuite un mot de passe pour le compte root (c'est-à-dire le compte qui possède tous les droits sur le PC), si vous souhaitez activer SSH pour vous connecter à distance, si vous souhaitez lancer un serveur graphique pour afficher des fenêtres, si vous souhaitez activer le mode graphique au démarrage, si vous souhaiter créer un compte normal et dans quelle région vous vous trouvez pour configurer l'heure.

Une fois tout ça renseigné, l'installateur va aborder la phase difficile, celle du partitionnement du disque dur. Deux cas de figure se proposent à vous : vous installer OpenBSD tout seul ou bien vous souhaitez faire autre chose (l'installer à côté d'un autre système d'exploitation, l'installer sur un disque chiffré, etc). Dans le deuxième cas, une section dédiée au partitionnement est disponible sur le site officiel en anglais pour vous aider, histoire de vous donner les bonnes choses à faire. Ici, on se trouve dans le premier cas (on ne veut qu'OpenBSD sur notre machine), donc on peut se permettre de tout laisser en automatique et d'appuyer simplement sur Entrée pour valider. Il va alors tout formater et créer des partitions dédiées, des slices, pour isoler les différents composants du système.

Pour terminer, l'installateur va récupérer les fichiers à copier pour installer votre instance OpenBSD. Si vous avez choisi l'image complète, il suffit d'appuyer sur Entrée à chaque fois et répondre Yes pour continuer l'installation sans vérification SHA256 (les images du site officiel sont sûres, donc pas de risque). Si vous avez choisi une image légère, vous devez alors indiquer l'emplacement des fichiers à copier, soit via un CD ou bien par le biais d'un dépôt en ligne, et ensuite valider par Entrée. Cette opération sera la plus longue de l'installation, en fonction des performances de votre disque dur.
L'installation se termine alors par une invite de commandes où il suffit de taper Reboot pour redémarrer votre PC sur votre nouveau système. Et voilà, votre OpenBSD est prête à répondre et à être utilisée !

Mes expériences actuelles

Test sur un PC portable de 2010

Quitte à redécouvrir le monde d'OpenBSD, autant utiliser un ordinateur spécialement dédié pour les tests !
L'idée m'est donc venue d’utiliser un ancien PC portable pour l'installer. Pour ceux qui sont un peu curieux, il s'agit ni plus, ni moins que de mon premier PC portable, celui que j'ai acheté en 2010 lorsqu'Internet est venu à la maison. Malgré son âge, il fonctionne plutôt bien et il est encore capable de fournir de bons et loyaux services pour quelques années. Son état d'origine a été conservé, à l'exception de son disque dur qui a été remplacé pendant un temps par un SSD pour finir aujourd'hui avec un disque dur extrait d'une PlayStation 4 (je l'avais changé pour avoir 2 To de stockage sur ma console).
Ici, j'avais envie de le recycler avec un système plus léger, vu qu'il a un peu de mal à faire tourner Fedora GNU/Linux et son bureau GNOME de manière fluide. Du coup, il tourne maintenant sous OpenBSD de manière fluide et stable !

Une fois le pilote Radeon téléchargé et installé et quelques optimisations configurées, il tourne comme un charme et fait ce qu'on lui demande. L'ensemble de son matériel est supporté par le système, ce qui est assez incroyable pour ce type de matériel (surtout au niveau du Wifi qui est parfois la bête noire d'OpenBSD).
Le seul point négatif ? Il n'arrive pas à lire les vidéos de manière fluide. Si je décide de regarder une vidéo en HD, l'image saccade et le son est complètement décalé avec l'image. Du coup, impossible d'utiliser Youtube convenablement. Pour l'instant, je ne pense pas que ce PC soit aussi optimal pour utiliser ce système d'exploitation, donc je préfère ne pas poursuivre l'expérience plus loin avec lui.

Test sur un Mac Mini de dernière génération (2019)

Si utiliser du matériel ancien peut être parfois une chose compliquée, utiliser du matériel récent peut se révéler être quelque chose de pire !
Alors que je voulais essayer de bricoler sur mon Mac Mini pour voir si GNU/Linux démarrait, j'ai eu une idée absolument dingue vis-à-vis de cet environnement : tester le démarrage d'OpenBSD. Pour l'anecdote, j'avais essayé de l'installer sur un PC portable récent via un disque dur externe, mais j'ai abandonné ce projet par manque de temps. Ainsi, j'avais donc un HDD sous OpenBSD parfaitement fonctionnel et qui n'attendait qu'une seule chose : un ordinateur pour le lancer.

Après avoir réussi à désactiver la protection de la puce T2 (qui permet de bloquer le démarrage sur des clés USB externes) et brancher le tout, j'ai essayé de démarrer le disque dur juste pour voir le résultat. Le résultat m'a littéralement choqué : non seulement, le système a démarré en toute transparence (alors qu'installé pour un PC portable sous Intel), mais en plus, tout semble fonctionner de manière fluide et stable ! Les 6 cœurs du processeur, la RAM et la carte réseau en câble fonctionne sans aucun souci.
Bien évidemment, le Bluetooth et le Wi-Fi ne fonctionnent pas, mais cela me semble normal, vu que c'est l'un des points noirs d'OpenBSD (sans compter que le support du Bluetooth a été retiré depuis quelques versions à cause d'instabilités). Concernant le SSD d'Apple, OpenBSD n'arrive pas à l'initialiser et il n'apparaît dans aucun programme. Ce comportement, aussi visible sur GNU/Linux, est le résultat de la politique de fermeture d'Apple pour empêcher d'utiliser autre chose que MacOS sur son matériel. Bien évidemment, cela n'empêche aucunement d'utiliser un autre système et cela évite aussi de devoir effacer son SSD en cas de problème (avantage selon moi quand on veut faire des tests).

Personnellement, face à ce constat, je n'ai eu qu'une seule envie : continuer à utiliser OpenBSD sur mon Mac Mini tout en ayant le reste de mon système à côté. De quoi laisser de belles perspectives pour la suite de mes essais et bricolages sur ce type d'environnement.

Capture d'écran de mon bureau sous OpenBSD sur mon Mac Mini

Quelques dotfiles

Pour conclure cet article sur OpenBSD, j'avais envie de partager quelques fichiers de personnalisation si jamais vous avez vous aussi l'envie de vous mettre à tester ce système (ou bien simplement reproduire ma configuration). Pour ceux qui ne sont pas initiés avec cette notion, ce type de fichiers est appelé dotfile, parce qu'il commence par un point devant et qu'il est par définition caché au premier abord.

Dans l'ordre, vous pourrez donc trouver :

Pour précision, je me suis basé en partie sur la configuration de prx et de Roman Zolotarev pour personnaliser mon environnement, vu qu'ils ont à cœur de rendre OpenBSD plus accessible aux utilisateurs débutants.

Sur ce dernier point, je vous invite chaudement à essayer OpenBSD, ne serait-ce que dans une machine virtuelle, pour découvrir un peu le monde des BSD et leur philosophie radicalement différente, tant au niveau des contributions qu'au niveau du fonctionnement. Pour ceux qui sont intéressés par l'aventure, n'hésitez pas à faire un tour sur le forum francophone d'OpenBSD pour tous où nous serons ravis de vous accueillir et de vous aider en cas de besoin !

À la prochaine !


Crédits photographiques


Commentaire(s) publié(s)


Un commentaire à ajouter ?

Pour ajouter votre commentaire, envoyez directement un mail ici