FreeBSD : découverte & installation minimale

FreeBSD : découverte & installation minimale

6 août 2020 0 Par Mairien Anthony

Petit article traitant (enfin?) d’un BSD ! Explications de base de l’OS et installation pas à pas.

Je n’avais plus vraiment d’idée d’articles ces derniers temps, puis je suis tombé sur une dépêche de Linuxfr.org (re)présentant FreeBSD. Je me suis dis qu’à part pfSense, je n’ai jamais touché à un seul BSD… serait-ce l’occasion de m’y mettre enfin ? Selon Internet (qui a toujours raison au passage), c’est « plus propre, plus stable et plus sécurisé encore que Linux ! ».

D’accord, et bien pourquoi pas ! Alors d’entrée de jeu ce qui m’a frappé c’est la qualité de la documentation, notamment du « Handbook ». Bien que celui de Debian ou que la doc’ de chez Red Hat soient très correctes aussi.

Après une lecture semie-approfondie de la dite documentation, je vois deux trois bricoles qui me plaisent bien… la conf’ généralisée via le rc.conf, la notion de « flags », les options d’hardening dès l’installation, et autres joyeusetés !

Il ne m’en fallait donc pas plus pour me mettre à la rédaction d’un article traitant de ce qu’est FreeBSD et de son installation pas-à-pas.

Bien entendu c’est assez trivial, mais j’ai remarqué qu’il n’y avait pas énormément de tutos français sur *BSD en général, puis cela me permet de me remettre doucement à la rédaction tout en préparant le terrain pour d’autres articles qui suivront, car je pense faire joujou avec BSD pour un petit moment vu comme c’est parti à l’heure où je rédige actuellement ces lignes 😉

I) FreeBSD, OpenBSD, « BSD »… c’est quoi au juste ?

FreeBSD est donc un OS Unix basé sur la distribution « BSD-lite » venant tout droite de l’université de Berkeley (rien que ça). Qui dit Unix dit donc différent de GNU/Linux, avec comme points à noter :

  • La qualité du code (logiciels/OS) est réputée meilleure sous *BSD ;
  • Sécurité accrue comparé à GNU/Linux ;
  • Licence BSD plus permissive ;
  • Disponible sur une plétore d’architectures, plus que pour la plupart des distributions classiques de chez GNU/Linux ;

Pour ce qui est de la qualité du code, je tiens à le dire de suite, je n’en ai personnellement aucune idée… mais il semblerait que ce soit bien le cas, au vu des nombreux topics sur le net à ce sujet.

Pour la sécurité, on connaît tous (ou pas?) la fameuse distribution OpenBSD réputée pour sa sécuritée plus que poussée (<<Seulement deux vulnérabilités à distance dans l’installation par défaut, depuis diablement longtemps !>>), ou encore NetBSD qui permet d’être installée et utilisée sur une cinquantaine d’architectures différentes… voir l’anecdote du grille-pain ici.

Bref, pour les Sysadmins convaincus ou pour les barbus déjà initiés je ne vous apprends rien, mais pour les autres le principal à retenir est que
*BSD ≠ GNU/Linux, et que niveau stabilité/sécurité, on est « encore un cran au dessus » dirons-nous (car dans les faits bien souvent la faille de sécurité majeure se situe entre la chaise et le clavier, indépendamment de l’OS choisi).

II) D’accord, mais dans les faits, quels sont les grosses différences ?

Par exemple, chez FreeBSD (la distribution sur laquelle nous allons nous concentrer ici), pas de « bash » comme shell par défaut : l’utilisateur root aura tcsh qui est un shell basé sur le célèbre csh, et l’utilisateur lambda aura quant à lui sh, oui oui, le plus que classique « Bourne Shell »… dans les faits rien d’alarmant, surtout que l’utilisateur est libre de le changer, mais au tout début et si on ne le sait pas cela peut être un poil perturbant.

Ensuite, concernant le nom des interfaces réseau, à la place du traditionnel ethX de chez GNU/Linux, chez FreeBSD on utilise le nom du pilote suivi du nombre qui identifie le périphérique réseau, par exemple em0 pour une carte Intel E1000 (coucou pfSense !).

On peut ensuite noter le fait que comme pour Linux, BSD permet de compiler soit-même des logiciels depuis des sources données, ou bien d’installer des binaires à partir de dépôts. Pour faire simple, le gestionnaire de paquets de chez FreeBSD est pkg, et pour installer par exemple screenfetch il convient d’utiliser la commande pkg install screenfetch. Facile !

*Petite note, si en utilisant la commande pkg_add vous obtenez une erreur « command not found », faites simples un « pkg », et là FreeBSD vous proposera d’installer l’utilitaire, non présent si vous avez réalisé une install’ des plus minimales. Ensuite, réalisez un petit « pkg update » pour mettre à jour vos dépôts, et le tour est joué !

Bien entendu, il existe d’autres différences bien plus « profondes », mais étant donné que cet article est une simple mise en bouche, je ne vais pas aller trop loin dans les détails. Comme toujours, je vous recommande de vous rendre sur le site officiel de la distribution, qui a une documentation des plus complètes !

Le fameux « Handbook » : https://www.freebsd.org/doc/fr_FR.ISO8859-1/books/handbook/

Le « guide pour démarre rapidement depuis GNU/Linux » : https://www.freebsd.org/doc/fr/articles/linux-users/index.html

III) Installation de FreeBSD

Ici si vous avez déjà installé pfSense ou simplement survolé certains de mes articles qui en parlent, vous ne devriez pas être trop dépaysé par l’interface d’installation : on boot sur l’ISO, et c’est du presque suivant/suivant, comme souvent, je ne vais donc pas détailler l’entiéreté.

Au démarrage de l’ISO, on choisi bien entendu Install :

On renseigne le nom d’hôte de la machine, soit un hostname classique soit en FQDN :

On choisi certains composants supplémentaire à installer. Pour résumer, voici à quoi ils correspondent :

  • base-dbg : Outils de base, avec symboles de debug activés ;
  • kernel-dbg : Idem mais pour le kernel et ses modules ;
  • lib32-dbg : Bibliothèques pour applications 32 bits, ici aussi pour réaliser du debug ;
  • lib32 : Bibliothèques pour applications 32 bits ;
  • ports : Collection de scripts pour automatiser la compilation de logiciels tiers (voir plus haut ce qu’est un port) ;
  • src : Contient les sources du système ;
  • tests : Utilitaires de test de FreeBSD ;

Ensuite FreeBSD nous propose soit d’utiliser un partitionnement automatique via ZFS, soit via UFS. On peut aussi utiliser un shell ou bien le mode manual. Ici nous allons utiliser l’Auto UFS.

Ensuite, on séléctionne le schéma de partitions, comme d’habitude (MBR pour BIOS, GPT pour UEFI) :

Ensuite l’installation se lance tranquillement :

On choisi ensuite le mot de passe pour l’utilisateur root :

On choisi l’interface réseau à configurer :

Ici c’est du suivant/suivant bête et méchant (IPv4/IPv6 ? Statique/DHCP ? …) puis on renseigne le nom de domaine ainsi que les serveurs DNS :

Passons ensuite au réglage de la TimeZone et de l’heure :

Puis ensuite les services que nous aimerions démarrer au boot :

On arrive ensuite à un des points forts de BSD, c’est le système d’hardening proposé dès l’installation ! Concrètement, ce sont différentes options permettant d’améliorer la sécurité de votre OS, comme par exemple cacher les processus tournants dans des jails, cacher ceux d’autres utilisateurs… voyez par vous-même :

Selon certains, il est toujours préférable de « tout cocher dans la mesure du possible ».

Vient ensuite une des dernières étapes, qui est l’ajout d’utilisateurs. Ici nous nous contenterons d’un simple utilisateur classique, mais si vous souhaitez un utilisateur avec les droits d’administration, il convient de l’inclure dans le groupe « wheel » :

Une fois le tout validé, on obtient un dernier menu nous permettant encore de redéfinir quelques réglages précédent, ou bien de télécharger le manuel de FreeBSD (qui est une vraie perle au passage !) :

Ensuite on redémarre, et on arrive sur notre shell !

IV) Conclusion

Cet article aura été assez rapide, mais je reviens tout juste de vacances donc il faut un peu que je me retrousse les manches à nouveau et que je me ré-habitue à la rédaction d’articles… puis je préfèrais ne pas partir trop loin directement avec BSD, car je sais que même si pour les utilisateurs avancés ce genre d’UNIX est connu, il l’est bien moins pour le commun des mortels 😛

Sur ce, j’espère vous avoir fait (re)découvrir FreeBSD, et vous donne rendez-vous bientôt pour mettre un peu plus les mains dans le cambouis et voir réellement ce que cette OS a dans le ventre !

N'hésitez pas à soutenir le blog, chaque article demande un certain travail de recherche, rédaction ainsi que la réalisation de divers tests !