De Debian à OpenBSD : Le guide

Sommaire :

 

Mon récent passage de l’univers de Tux (après une dizaine d’années de bons et loyaux services) à celui de Beastie s’est fait assez rapidement et un peu par hasard. Tout est parti d’un simple test de FreeBSD 11.0 pour arriver finalement à remplacer Debian Testing par OpenBSD 6.0.

Outre le fait que tout le monde au pays du manchot soit passé à Systemd « parce-que les autres l’ont fait » et passe plus de temps à réciter du Nietzsche qu’à parler informatique, cette transition s’est surtout faite parce-qu’avec les OS *BSD, tout est clair, organisé, les fichiers de conf sont facilement modifiables (C’est à dire sans passer par un script magique), avec une préférence pour OpenBSD qui se focalise sur la sécurité, la qualité du code et intègre par défaut la cryptographie.

Histoire rapide des BSD

Avant d’installer tout ça, un peu de bla bla. Je ne vais pas écrire ici un pavé pour répéter ce qu’on peut trouver facilement sur Wikipedia, mais pour résumer en quelques mots, la Berkeley Software Distribution (BSD) est née à l’université de Californie qui se trouve, comme son nom l’indique, à Berkeley. BSD n’est à l’époque qu’un ensemble de logiciels UNIX, mais a évolué au fil des années comme un système d’exploitation complet jusqu’aux versions 4.x qui ont servi de base entres autres à NeXTSTEP (OS conçu par l’équipe de Steve Jobs chez NeXT après s’être fait évincer d’Apple et dont s’est servi à Tim Berners Lee pour créer le premier site web). Ces OS comportant du code propriétaire, le projet open-source 386BSD est né, ce qui a ensuite servi de base pour FreeBSD et NetBSD. Quelques années plus tard, après quelques désaccords au sein de l’équipe de NetBSD, Theo de Raadt, un de ses fondateurs, quitte le navire pour fonder OpenBSD. Mais peu après sa création, alors que ses programmeurs développaient un outil d’audit de sécurité appelé Ballista, quelqu’un a tenté d’en exploiter des failles. Cet évènement a propulsé OpenBSD vers une obsession pour la sécurité qui est devenue aujourd’hui sa marque de fabrique.

 

Les licences GPL et BSD

Une des principales différences entre le monde Linuxien et celui des *BSD se trouve dans les licences. Globalement, la licence GPL de Richard-Le-Rouge utilisée par le projet GNU (et donc par GNU/Linux) nous dit en gros « Vous avez le droit de modifier et de redistribuer le programme à volonté à condition que vous utilisiez la même licence, que vous partagiez le code source dans son intégralité et que vous en citiez les auteurs ». La licence BSD dit « Faites ce que vous voulez. Enjoy ! ».

Si le point de vue de la GPL que j’ai longtemps défendue se comprend très facilement, je pars aujourd’hui du principe qu’on ne pourra jamais empêcher une entreprise de faire du reverse engineering avec un soft dont il suffit de refactorer le code source. Mais c’est de bonne guerre, même si c’est plus rare on leur pique des trucs aussi, faut pas l’oublier. De fait, accuser la licence BSD de permettre à des sociétés d’utiliser du code libre pour un faire un produit plus ou moins propriétaire n’est qu’une fausse perception d’un problème inévitable. Mais ceci n’engage que moi…

 

Particularités des *BSD

Sous FreeBSD, il existe un système de jails, qu’on pourrait considérer comme étant un chroot amélioré. Le système de fichier ZFS aussi est appréciable et permet d’avoir recourt aux snapshots (Un instantané) lors d’une mise à jour pour pouvoir faire un rollback (Un retour en arrière) si quelque chose échoue.

Sous OpenBSD, la sécurité est poussée au plus haut niveau et la cryptographie fait partie intégrante du système. Quand les dev pensent qu’un soft est « boiteux » ou présente des failles de sécurité, ils codent leurs propres alternatives (Comme httpd qui remplace Apache par exemple ou doas qui remplace sudo). Leurs programmes-maison peuvent parfois être utilisés dans d’autres OS (Comme pf) ou même devenir un standard (Comme OpenSSH).

D’une manière générale, le système de ports est quelque chose de typique avec les OS *BSD et permet de compiler n’importe quel programme afin de l’adapter à ses besoins. Mais ce procédé étant long, il est possible si vous n’en trouvez pas l’utilité d’installer des versions pré-compilées  avec un pkg install ou un pkg_add comme on le ferait sur n’importe quelle distrib Linux avec un apt-get (ou dnf, ou autres) install.

Enfin, les documentations des *BSD sont particulièrement soignées et souvent considérées comme exceptionnelles:

Pour les 2 distrib, il existe une version de ces man pages au sein de l’OS (Que l’on peut afficher dans un terminal comme n’importe quelle distrib Linux),  mais il en existe aussi une version en ligne (FBSD et OBSD) qui permet de filtrer les résultats par architecture et par version.

Au final, nous obtenons des OS très addictifs, pour peu qu’on soit curieux et qu’on aime modifier manuellement des fichiers de conf, plutôt que de lancer un script qui va le faire à notre place.

 

Qui les utilise aujourd’hui ?

Parmi les sites les plus connus, on peut citer Yahoo! qui a démarré son activité en utilisant FreeBSD sur ses serveurs. Mais il ne reste aujourd’hui que quelques rescapés, la plupart ayant été remplacés par du Linux par économie d’énergie. Netflix l’utilise toujours aujourd’hui, ainsi que Sony qui l’a forké pour les PS3 et PS4. FreeBSD est aussi utilisé par Léo Laporte (Animateur TV américain sur Twit TV, une chaine High-Tech) qui a acheté le matos adéquat pour cet OS.

OpenBSD, de par sa nature évoquée plus haut, est souvent utilisé comme pare-feu comme le fait Adobe, ainsi que d’autres sociétés, universités et sites gouvernementaux (et plus rarement sur desktop comme XTime).

 

/edit du 15/02/2017: Précision envoyée par email par Solène Rapenne :

la société WhatsApp repose entièrement sur FreeBSD (couplé avec leurs applications écrites en Erlang en passant), et sont des donateurs réguliers chaque année à la fondation avec des gros
chèques. Je pense qu'il est important de le mentionner.

 

Installation des *BSD

Dans le monde des *BSD, le principe est simple : La documentation est très complète et centralisée en un point facilement accessible, on est donc sensé pouvoir se débrouiller seul même si c’est notre première expérience. Il faut juste prendre le temps de la lire attentivement. Vous pouvez éventuellement demander de l’aide sur les forums et mailing lists. En revanche, si vous installez OpenBSD qui a de loin la documentation la plus complète, il est fortement déconseillé d’envoyer un message sur une de leurs mailing listes pour dire « kikoo lé gen komen on fé pour instalé un program lol ». Dans le meilleur des cas vous serez ignoré, dans le pire des cas vous vous ferez envoyer chier attirerez les foudres d’une communauté pas très diplomate avec ceux qui ne prennent pas de temps de lire des faq ou des man pages (Et quand on voit le boulot qu’ils ont abattu pour réaliser la doc, ça se comprend). Par contre vous pouvez bien évidemment poser une question pour un problème bien spécifique ou anormal.

Mais ceci dit, vous avez peut-être envie de tester rapidement avant d’y investir plus de temps si le résultat vous satisfait (Il est fortement recommandé d’avoir déjà ouvert un terminal Linux ou autre UNIX-like et d’être relativement à l’aise avec des notions résaux de base de type DHCP, DNS, etc… Sinon le choc va être létal ).

Nous allons donc voir, en se basant du point de vue d’un Linuxien (Ce que je suis), comment installer rapidement un système simple, c’est à dire une base + serveur X + un DE + quelques logiciels. Le test le plus simple que vous puissiez faire (Mais sans moi, pas besoin), c’est avec True OS, qui n’est qu’un FreeBSD avec un DE pré-installé (Le « Ubuntu des BSD » en gros). Nous allons surtout voir comment installer FreeBSD et OpenBSD. Ensuite ce sera à vous de fouiller et de parcourir la doc respective de chaque OS.

 

Préparation de l’installation

Si vous êtes plus ou moins novice, il est vraiment recommandé de suivre toutes les étapes dans l’ordre : Préparation -> FreeBSD -> OpenBSD. Non seulement FreeBSD vous servira de base pour mieux comprendre OpenBSD (Qui est un peu plus difficile à prendre en main), mais de plus ça m’évitera de répéter 2 fois la même chose pour expliquer les étapes similaires ou comparer celles qui sont différentes. Maintenant à vous de voir.

Il faudra tout d’abord télécharger l’OS que vous voulez installer selon votre architecture et votre localisation:

True OS : https://www.trueos.org/downloads/
FreeBSD : https://www.freebsd.org/where.html
OpenBSD : https://www.openbsd.org/ftp.html

ATENTION : Si vous préférez installer par clé bootable plutôt que par CD/DVD il ne faut pas prendre les .iso. Pour TrueOS il faut prendre une des versions USB.img, pour FreeBSD c’est memstick.img, et pour OpenBSD celles qui se terminent par .fs

Créer sa clé bootable sous Linux / macOS :

sudo dd if=~/Downloads/nomDuFichier.img(ou.fs) of=/dev/nomDeLaCléUSB bs=4M
(Je pars du principe que le fichier .img (ou.fs) est dans le dossier Downloads. Adaptez si vous l’avez déplacé ailleurs).

ASTUCE : Pour repérer le nom de votre clé USB, tapez dans le terminal un « lsblk »  pour les Linuxiens ou un « diskutil list » pour les MacUsers.

Créer sa clé bootable sous Windows :

Probablement avec un clickosaure de type Unetbootin et un peu de perlimpinpin.

 

Installation de True OS

Suivant -> Suivant -> Suivant -> Terminer -> Redémarrer

 

Installation de FreeBSD partie 1: Installation de la base)

another_freebsd_wallpaper_by_complexity1

 

On y va ! Tapez sur Entrée pour booter sur le multi-utilisateur

virtualbox_freebsd_06_12_2016_16_14_13

 

Choisissez Install

virtualbox_freebsd_06_12_2016_16_15_01

 

Si vous n’êtes pas sur QWERTY choisissez votre type de clavier, sinon tapez juste Entrée

virtualbox_freebsd_06_12_2016_16_15_45

 

Entrez le nom que vous voulez donner à votre machine

virtualbox_freebsd_06_12_2016_16_16_28

 

J’ajoute toujours la doc et src, mais vous n’êtes pas obligé

virtualbox_freebsd_06_12_2016_16_17_09

 

Choisissez le système de fichiers ZFS. Lors d’une mise à jour, un snapshot sera créé et vous permettra de faire un rollback en cas de problème

virtualbox_freebsd_06_12_2016_16_17_48

 

Si c’est un simple test dans Virtualbox ou VMware, vous pouvez laisser « Encrypt Disks? » sur « NO ». Par contre si vous l’installez sur une machine physique sélectionnez le à l’aide des flèches et tapez sur Entrée pour qu’il passe sur « YES ». Ensuite, « BIOS + UEFI » pour « Partition Scheme », et ajustez le Swap qui doit être équivalente à votre RAM. Comme j’ai mis 4Go de RAM sur Virtualbox je mets donc 4G de Swap.

virtualbox_freebsd_06_12_2016_16_19_10

IMPORTANT (…ou pas): Une légende ancienne venant de la forêt des « barbus-à-clavier » dit qu’il ne faut pas mettre de swap sur un SSD, ça l’use plus vite parce-que beaucoup d’écriture, etc… Certains disent « oui », d’autres « non », et d’autres « Oui mais c’est tellement minime qu’on s’en fout ». Il y a plusieurs écoles, choisissez par vous-même. Je n’influence personne, en cas de doute Google est votre ami.

 

Ici, on ne va traiter que le cas du Stripe. Le RAID permet d’utiliser plusieurs disques simultanément surtout pour améliorer les performances (Et accessoirement pour récupérer des données si un des disques claque, selon le type de RAID utilisé, mais ce n’est pas son but premier). Mais si vous utilisiez déjà ce procédé, vous ne seriez probablement pas en train de lire un tuto. Donc on zappe le RAID et on prend Stripe

virtualbox_freebsd_06_12_2016_16_19_41

 

Sélectionnez le disque sur lequel vous voulez installer FreeBSD. Ici le choix est vite fait

virtualbox_freebsd_06_12_2016_16_20_12

 

YES pour effacer le disque

virtualbox_freebsd_06_12_2016_16_20_24

 

Si tout se passe bien, le tout va s’installer

virtualbox_freebsd_06_12_2016_16_20_54

 

Maintenant, tapez et confirmez le mot de passe root (administrateur)

virtualbox_freebsd_06_12_2016_16_22_13

 

Choisissez l’interface de connexion internet (câble ou wifi). Le choix ici aussi est vite fait

virtualbox_freebsd_06_12_2016_16_22_28

 

YES pour configurer ipv4 (Adresse de type 11.22.33.44)

virtualbox_freebsd_06_12_2016_16_22_43

 

Oui pour que le routeur (ou la box) attribue automatiquement une adresse IP

virtualbox_freebsd_06_12_2016_16_22_58

 

Perso je mets non pour ipv6 (Adresse de type 2211:aa5:abcd:ff00::2aa). Vous pouvez mettre YES si vous le désirez

virtualbox_freebsd_06_12_2016_16_23_20

 

Les DNS sont sensés être configurés automatiquement. Choisissez juste OK si c’est le cas, sinon vous pouvez entrer les mêmes qu’ici (Les DNS de Google) ou en entrer d’autres si vous pensez que « chez Google c’est rien que des gros vilains »

virtualbox_freebsd_06_12_2016_16_23_29

 

Choisissez votre continent…

virtualbox_freebsd_06_12_2016_16_23_53

 

…et votre paysvirtualbox_freebsd_06_12_2016_16_24_13

 

Vérifiez et réglez si besoin votre fuseau horaire. Ici c’est bon pour moi

virtualbox_freebsd_06_12_2016_16_24_26

 

Pareil pour la date

virtualbox_freebsd_06_12_2016_16_27_49

 

Pareil pour l’heure

virtualbox_freebsd_06_12_2016_16_32_06

 

J’ajoute moused qui servira quand nous aurons installé xorg, ntpd pour l’heure et powerd pour la fréquence dynamique du processeur

virtualbox_freebsd_06_12_2016_16_37_05

 

Par sécurité je cache les processus aux autres groupes et utilisateurs et je nettoie le dossier /tmp au démarrage de la machine. Ajustez ici comme vous le sentez, ce sont juste des améliorations, rien de dramatique

virtualbox_freebsd_06_12_2016_16_37_31

 

Oui pour ajouter un utilisateur (Comme sous Linux, il faut éviter d’utiliser directement root même si c’est plus pratique)

virtualbox_freebsd_06_12_2016_16_38_12

 

Choisissez lui un nom. Très important : Ajoutez le au groupe wheel (Pour qu’il puisse avoir les même droits que root en cas de besoin). Ensuite laissez vous guider jusqu’au mot de passe

virtualbox_freebsd_06_12_2016_16_52_55

 

Vous pouvez ou non ajouter un autre utilisateur. Si oui recommencez les étapes précédentes, sinon on continue

virtualbox_freebsd_06_12_2016_16_53_51

 

On sort

virtualbox_freebsd_06_12_2016_16_54_01

 

Non, on ne veut pas ouvrir de shell

virtualbox_freebsd_06_12_2016_16_54_15

 

On redémarre

virtualbox_freebsd_06_12_2016_16_54_37

 

Voilà voilà. Après avoir redémarré et avoir tapé le login de votre utilisateur et le mot de passe, tapez « su » pour avoir les droits administrateurs et le mot de passe administrateur.

 

Installation de FreeBSD partie 2: L’environnement graphique)

Maintenant, tapez portsnap fetch extract pour récupérer l’arbre des ports (Ce qui permet de compiler vos programmes à partir des sources. Même si ce n’est qu’un simple test et qu’on ne s’en servira pas ici, c’est la base et la particularité des systèmes BSD, donc c’est bien de voir à quoi ça ressemble. Puis vous pourrez tester par la suite).

virtualbox_freebsd-clone_06_12_2016_16_57_22

 

Patientez le temps qu’il décompresse tout ça

virtualbox_freebsd-clone_06_12_2016_16_59_45

 

Ensuite pour simplifier les choses, tapez directement pkg update. Il va vous dire que pkg (Ce qui permet d’installer les versions pré-compilées des packages comme sous Linux) n’est pas installé et vous propose de le faire

virtualbox_freebsd-clone_06_12_2016_17_03_12

 

Maintenant qu’on a tout ce qu’il faut pour monter notre DE, on va installer vim (Sauf si vous préférez nano qui est déjà installé), xorg (le serveur graphique), slim (un login manager), et xfce (Que vous pourrez remplacer par autre chose une fois que vous aurez compris le fonctionnement avec celui-ci, le principe sera le même. Personnellement sous *BSD j’utilise i3, mais ce sera le sujet d’un autre article)

virtualbox_freebsd-clone2_06_12_2016_17_15_42

 

« Y » pour confirmer

virtualbox_freebsd-clone2_06_12_2016_17_15_54

 

Quand c’est fait, on va éditer le fichier rc.conf (En théorie on est sensé créer un rc.conf.local pour ajouter nos modif et surcharger le rc.conf, mais en fait personne ne le fait. Nous verrons plus tard qu’OpenBSD est plus intransigeant sur ce point)

virtualbox_freebsd-clone2_06_12_2016_17_25_51

 

Et nous ajoutons les 3 lignes du bas. Pour résumer, on active dbus et hald qui permettent de prendre en compte les clavier/souris, et on active slim (le login manager) pour qu’il se lance au démarrage

virtualbox_freebsd-clone2_06_12_2016_17_27_15

 

Pour simplifier les choses, on repasse sur notre utilisateur en tapant exit, on vérifie avec pwd qu’on est bien dans le dossier utilisateur, et on créé un fichier .xinitrc qu’on édite de suite (et qui aura donc directement les droits utilisateur et non administrateur, d’où l’intérêt de taper « exit »)

virtualbox_freebsd-clone2_06_12_2016_17_28_04

 

On y ajoute cette ligne pour que XFCE se lance après qu’on se soit logué sur Slim

virtualbox_freebsd-clone2_06_12_2016_17_29_45

REMARQUE: Si vous avez installé autre chose que XFCE, pour trouver trouver le nom du script correspondant en tapant  ls /usr/local/bin | grep -i nomDuDE (mate ou kde ou lxde, ou gnome, ou autres...). Vous devriez y trouver votre bonheur (Généralement quelque chose qui contient « start » ou « session ». D’ailleurs on aurait aussi pu mettre « startxfce4 » à la place de « xfce4-session »)

Maintenant on peut redémarrer. Pour ça, on repasse en root avec « su » et ensuite « reboot »

virtualbox_freebsd-clone2_06_12_2016_17_30_16

 

Voilà donc notre login manager. Connectez-vous

virtualbox_freebsd-clone2_06_12_2016_17_31_15

 

Et nous voilà maintenant sur XFCE

virtualbox_freebsd-clone2_06_12_2016_17_32_08

 

Vous avez maintenant de quoi vous amuser quelques temps. Commencez par installer quelques softs (Un pkg install firefox gimp thunderbird par exemple auquel vous pouvez ajouter git filezilla geany leafpad si vous codez, ou même nmap sqlmap wireshark aircrack-ng metasploit pour faire des « tests réseaux » (lol). Vous pouvez rechercher des packages avec « pkg search motClé » et aussi ajouter à la fin du fichier /etc/rc.conf la ligne linux_enable="YES" pour la compatibilité avec les binaires Linux). Explorez, fouillez, testez (Encore plus si vous l’avez installé en VM : clonez et testez à volonté) et surtout référez vous aux man pages et au manuel (La version française n’est pas toujours à jour, comme pour les jails par exemple. Référez-vous plutôt à la version anglaise si vous pouvez). Au final ça fait beaucoup de petites étapes, mais rien de très compliqué en  fait. On a juste installé une base, récupéré ce qu’il faut pour installer des programmes et installé un DE.

J’avais déjà testé des versions précédentes de FreeBSD, mais jamais sur mon Thinkpad. Quand je l’ai installé dessus, l’autonomie de la batterie était réduite environ de moitié (Entre 3 et 4h d’autonomie au lieu des 7h habituelles, sans parler du CPU qui descendait rarement en-dessous des 100°C). Après avoir passé plusieurs jours à essayer de paramétrer tout ça, sans plus de succès, je suis tombé par hasard sur une discussion sur Reddit où plusieurs personnes vantaient les bienfaits d’OpenBSD sur laptop. Bah… j’ai testé du coup !

 

 

 

Installation d’OpenBSD partie 1: Chiffrement du disque)

f6pcwa

 

Maintenant qu’on a vu les grandes lignes d’un OS *BSD relativement simple, passons aux choses sérieuses. Quelques petites choses seront plus faciles sur certains points (Comme installer xorg automatiquement pendant l’installation) mais la plupart seront à faire à la main, comme le chiffrement du disque qu’on va faire dès maintenant (Surtout pour ceux qui font une installation physique. Pas forcément utile pour un test en VM, sauf si vous voulez voir comment on fait). Les commandes que nous utiliserons ne seront pas toujours les commandes standards des systèmes UNIX-like mais spécifiques aux *BSD et/ou OpenBSD.

REMARQUE: Pour ceux qui font juste un test et ne veulent pas chiffrer, vous pouvez passer directement à la section suivante.

Avant de lancer l’installation proprement dite, nous allons lancer un shell en tapant « s »

 

Il faut maintenant identifier le disque que nous allons chiffrer grâce à sysctl. Il sera nommé soit en wdX dans le cas d’un disque de type SATA, soit en sdX pour les types clé USB et autres supports externes. Ici, c’est probablement le wd0 qui nous intéresse

 

Pour en être sûr on vérifie avec disklabel. J’ai bien créé un disque virtuel de 16G (taille indiquée en bas) sur Virtualbox, c’est donc le bon

 

Nous allons écrire des données aléatoires sur ce disque afin que si une personne accède à notre machine, elle ne puisse pas connaitre l’espace disque utilisé

 

Le durée va dépendre de la taille de votre disque et de la puissance de votre machine. Ici, pour une VM de 16Go avec 4Go de RAM, ça a mis environ 10mn comme vous pouvez le voir ci-dessous

 

Maintenant, on va initialiser le disque…

 

…et créer une partition softraid avec disklabel et bioctl(« a a » = ajouter une partition nommée a, * = all, w = write, q = quit)

IMPORTANT : Souvenez-vous bien du nom du volume nommé à la fin (Ici c’est sd0), nous allons en avoir besoin pour la commande suivante et pendant l’installation

 

On s’assure que /dev/sd0 soit bien pris en compte

 

Enfin,  si vous êtes sur un disque physique, il est fortement recommandé de faire un zeroing de notre volume (Qui au-dessus s’appelait sd0, adaptez selon ce que vous aurez eu à l’étape précédente). Si vous êtes sur une VM ou un disque neuf, vous pouvez passer cette étape

NOTE: rsd0c = r pour « raw » + volume sd0 + partition c

On redémarre la machine (ou la VM)

 

Installation d’OpenBSD partie 2: Installation de la base)

On sélectionne « i »

 

On choisit son clavier. Comme pour FreeBSD je suis sur QWERTY donc je laisse par défaut. Adaptez en cas de besoin

 

On choisit un nom pour sa machine

 

On choisit son interface de connection (Sur OpenBSD les interfaces sont nommées en fonction du type de carte. Ne vous attendez pas à trouver des eth0 ou wlan0, c’est normal). Ici je laisse em0

 

Je laisse DHCP…

 

Vous devriez obtenir quelque chose de similaire

 

Toujours pas d’ipv6

 

Je laisse les DNS Google (« Boouuh ! Au bûcher ! Traitre ! Etc… etc… »)

 

Ici c’est simple mais délicat. Je laisse le ssh activé.  Par sécurité, vous pouvez le retirer si vous n’êtes pas sûr de pouvoir le sécuriser correctement par la suite ou si vous n’en avez tout simplement pas besoin

 

Choisissez et confirmez votre mot de passe admin

 

Créez un utilisateur pour les mêmes raisons que celles évoquées pour FreeBSD et laissez vous guider

 

Ici je laisse « no » et refuse que root puisse se connecter en ssh. En cas de compromission du système ça limite les dégats

 

timezone ok

 

ATTENTION ! Pour ceux qui ont fait la partie 1 et qui ont chiffré leur disque, c’est ici que vous devez entrer le nom du volume chiffré. Dans mon cas c’était sd0 (Si vous n’êtes pas sûr, le « ? » est votre ami)

 

Je laisse « disque entier »

 

Je laisse « auto layout »

ATTENTION: Pour le swap, même réflexion que pour FreeBSD, à vous de voir. Si vous choisissez de ne pas en mettre (de swap), éditez le layout

 

Nous avons terminé avec l’initialisation des disques, done !

 

Ensuite, on vous demande sur quel mirroir vous connecter. Si vous voulez changer, la liste est ici: https://www.openbsd.org/ftp.html

 

Pour activer ou retirer un pattern, tapez son nom, ensuite poursuivez

 

Voilà, la base est installé. On vous dit que vous avez des mails que vous pourrez lire au premier démarage. On regardera tout à l’heure

 

On redémarre

 

 

Installation d’OpenBSD partie 3: Post-installation)

 

Ceux qui ont chiffré le disque vont d’abord voir cette page avant de se connecter sur le compte utilisateur. Entrez la passphrase pour déchiffrer votre disque

 

login / mot de passe et on valide

 

Alors, pour lire les mails dont on nous parlait tout à l’heure, il suffit de taper tout simplement la commande « mail ». Sélectionnez le numéro de celui que vous voulez lire. Tapez « q » pour ressortir

 

Les plus perspicaces auront remarqué qu’il y a une étape intermédiaire entre l’installation de la base et de l’environnement de bureau par rapport à FreeBSD. Ici il va falloir récupérer l’arbre des ports manuellement, vérifier la signature (OpenBSD = sécurité, gardez toujours ça en tête), splitter le système d’installation pour ne pas que la partition /usr se remplisse rapidement (Ce qui sera le cas après quelques installation de packages), etc… donc autant vous dire qu’il va falloir patienter un peu avant de cliquer sur des icones. Tout d’abord on se connecte en root, on va dans le dossier /tmp et on récupère les ports

 

STOP ! Une parenthèse s’impose pour ceux qui ne connaissent pas la commande uname si vous voulez comprendre la suite. Sinon vous allez trouver les URL ridiculement complexes. La commande uname permet d’afficher des infos sur l’OS, comme son noyau, sa version etc… Si on tape uname -a on affiche la totale, si on tape uname -r on a juste le numéro de release (version).

La version actuelle étant la 6.0, la fin de l’URL ci-dessous …OpenBSD/$(uname -r)/ports.tar.gz sera interprêté en …OpenBSD/6.0/ports.tar.gz. Vous pouvez mettre directement le numéro de version si vous préférez, peu importe. C’est juste que les URL ci-dessous seront réutilisables pour les versions futures d’OpenBSD

Je disais donc on se connecte en root, on va dans le dossier /tmp et on récupère les ports

 

On le laisse télécharger (sifflote)

 

On récupère la signature

 

On la vérifie

 

Si tout est OK vous avez ceci

 

Maintenant on va sur /usr et on extrait les ports

 

L’étape suivante est importante (Mais pas obligatoire. Encore une fois, vous faites comme vous voulez). Si vous ne la faites pas, votre partition /usr sera remplie en moins de deux (Sauf si vous avez repartitionné à la main pendant l’installation et que vous avez augmenté sa taille). On commence par créer un fichier mk.conf dans /etc

 

On y ajoute ceci

 

On enregistre, on quitte vi et on a terminé cette partie…

Pour résumer, avec la manip qu’on vient de faire, vous consulterez les ports disponibles dans /usr/ports (On verra tout à l’heure comment faire) mais ils seront installé dans votre partition /home

 

 

Installation d’OpenBSD partie 4: l’environnement de bureau)

 

Nous pouvons maintenant installer un environnement de bureau (X est déjà installé, souvenez vous). On installe Slim et XFCE

IMPORTANT: J’ai évoqué pendant l’installation de FreeBSD ce qu’on était sensé faire (Créer un rc.conf.local) et ce qu’on fait réellement (On fourre tout dans rc.conf). Sur OpenBSD, si vous faites par exemple un cat /etc/rc.conf on vous dit bien haut et fort de ne pas modifier ce fichier et de créer un rc.conf.local qui le surchargera (C’est la première fois que je me fait engueuler par un fichier). Il faudra souvent créer des fichiers avec l’extension .local pour surcharger les fichiers de conf d’origine (ou copier des fichiers-exemples dans votre ~/.config) et non écrire dedans directement (Le sens de la pédagogie et de la propreté sont ultra-développés chez OpenBSD, c’est ce que j’ai vraiment aimé chez eux).

 

/edit du 15/02/2017: Précision envoyée par email par Solène Rapenne :

depuis l'ajout de l'outil rcctl afin de
gérer les services, "la bonne pratique" n'est plus de modifier le
fichier /etc/rc.conf.local mais plutot utiliser la commande "rcctl
enable truc" ou "rcctl disable machin" qui va s'occuper d'activer le
service, que ce soit un httpd_flags="" ou un pkg_scripts="avahi" qui
était nécessaire. L'avantage est qu'il sait donc comment faire pour
activer le service. C'est d'ailleurs la méthode indiquée dans les
fichiers "pkg-readme" fournis avec les paquets lorsqu'il y a besoin
d'informations sur le déploiement, comme pour net/avahi par exemple :
http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/net/avahi/pkg/README-main?rev=1.10&content-type=text/x-cvsweb-markup

Note that you MUST have a system-wide D-BUS daemon running BEFORE
starting avahi, e.g.:
   rcctl enable messagebus avahi_daemon
   rcctl order messagebus avahi_daemon

 

Pour lancer Slim au démarrage, ça ne se fait pas dans le rc.conf comme sur FreeBSD mais dans rc. On commence par créer un rc.local

 

Et on y ajoute cette ligne

 

On enregistre et on ressort.

 

Ensuite, dans /etc on créé un rc.conf.local dans lequel on ajoute ces 2 lignes

 

Pour finir, il faut créer le .xinitrc (Pareil que pour FreeBSD, on quitte root pour le créer et on s’assure qu’on est bien dans le dossier utilisateur)

 

On y ajoute cette ligne, on enregistre et on quitte vi

 

 

On se remet en root et on reboot. On se connecte sur Slim et on peut admirer notre joli XFCE et cliquer partout

 

Donc ici, pareil que pour FreeBSD : pkg_add firefox gimp thunderbird vlc par exemple. Vous pouvez y ajouter leafpad intellij texmaker si vous codez ou aussi nmap sqlmap wireshark, etc… (Metasploit a été retiré pour des raisons de non-maintenance et de sécurité). Fouillez, explorez, testez, clonez vos VM, buvez du café, et recommencez. Bienvenue au pays des barbus !

ATTENTION: Grosse différence avec FreeBSD pour rechercher un programme: il faut d’abord se rendre dans /usr/src pour pouvoir faire une recherche. Ensuite tapez make search key=motClé

REMARQUE: sudo est remplacé par doas et apache par httpd (Pour des raisons de sécurité aussi)

IMPORTANT: Prenez le temps à l’occasion de vous familiariser avec pf, leur pare-feu

Ce qui m’a d’abord frappé en testant OpenBSD, c’est la gestion d’énergie qui est bien supérieure à FreeBSD, comme dit sur la discussion de Reddit que j’avais lue. J’ai même un peu plus que les 7h d’origine (Entre 7 et 8h en moyenne). Ensuite la finesse de l’affichage, qui a un petit quelque chose que je ne saurais expliquer. Peut-être un peu « propre » que ce qu’on voit habituellement. Enfin, comme évoqué plusieurs fois, la propreté de l’ensemble (syntaxe, arborescence, conf, etc…) qui est probablement due à leur obsession pour la sécurité (Ou peut-être est-ce la sécurité qui est due à leur obsession pour la propreté).

Principales commandes

Les commandes standards que vous trouviez sous Linux sont souvent les mêmes ici. Parfois vous vous ferez avoir par quelques détails (Par exemple, sous Linux chmod -R 755 /folder et chmod 755 /folder -R passent tous les 2. Sous *BSD uniquement le premier est valide)

 

Liens utiles

Pour aller plus loin, vous trouverez régulièrement des articles ici (Je pense que le prochain sera l’installation et la configuration rapide de i3). Vous pouvez aussi trouver de nombreuses info ici:

Blog de Xavier Cartron 

Chaîne Youtube de BSD Synergy

Chaine Youtube de BSDCan

Conférence de Michael Lucas (Auteur de Absolute OpenBSD – Unix for the Practical Paranoid 2e)

The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall

BSD Now

BSD Mag

 

On verra à l’avenir si OpenBSD me convient parfaitement (Ce qui à l’air d’être le cas) ou si je reprendrai Debian comme OS principal. C’est aussi un très bon OS, a aussi de nombreux avantages, le fonctionnement de sa communauté ainsi que sa philosophie sont assez similaires à OpenBSD (Mais pas avec les mêmes priorités). Qubes OS ne me laisse pas indifférent aussi depuis quelques mois. Faudra juste voir lequel est le plus adapté à mon utilisation.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *