FreeBSD, une v�ritable alternative

ArticleCategory:

System Administration

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in en Georges Tarbouriech  

en to fr Georges Tarbouriech  

AboutTheAuthor

Georges est un vieil utilisateur d'Unix. Il aime beaucoup les versions libres de ce syst�me extraordinaire.

Abstract:

Oui, vous lisez bien LinuxFocus ! Toutefois, il existe d'autres Unixes libres dignes d'int�r�t et pleins de caract�ristiques marquantes. Cet article est un tour d'horizon d'un autre Unix libre : FreeBSD.

ArticleIllustration:

freebsd

ArticleBody:[The article body]

Pourquoi FreeBSD ?

Lorsqu'on parle d'Unixes libres, tout le monde comprend "Linux". Certes, Linux est tr�s r�pandu et chacun (ou presque) en a entendu parler. Le nombre de nouveaux utilisateurs va croissant et les m�dias ("sp�cialis�s" ou non) font beaucoup de "bruit" autour de ce syst�me. Une des raisons principales de ce succ�s vient de ce que Linux fonctionne surtout sur des machines Intel, autrement dit, les plus r�pandues. Bien s�r, il peut fonctionner avec beaucoup d'autres processeurs, puisque l'une des id�es derri�re la conception d'Unix �tait "nous nous moquons du processeur". Pourtant Linux n'aurait sans doute pas eu autant de succ�s s'il avait �t� d�velopp� pour un processeur plus "confidentiel", ou tout au moins, �a aurait pris plus longtemps.
Mais l'Unix libre ne se limite pas � Linux : la "famille" BSD est l� aussi. Il en existe trois "saveurs" principales : FreeBSD, NetBSD et OpenBSD. BSD signifie Berkeley Software Distribution. Si vous voulez plus ample information sur l'histoire d'Unix, vous pouvez jeter un coup d'oeil ici
(Sachez que cet article ne parle pas des diff�rences entre BSD et System V : un livre y suffirait � peine.)
Chaque "saveur" a quelque chose de particulier :
- NetBSD fonctionne sur toutes les plates-formes au monde (ou presque), y compris sur de tr�s vieilles machines : disons entre 30 et 40. NetBSD apporte la preuve de ce qui a �t� dit plus haut : Unix se moque des processeurs. C'est donc le bon choix si vous poss�dez un sympathique "rossignol" chez vous ou au travail (mais pas seulement, bien s�r !). Personnellement je l'ai utilis� pendant quelques ann�es sur Amiga et sur machines Intel avec beaucoup de satisfaction.
- OpenBSD est connu pour �tre l'un des Unix les plus s�curis�s. Il est id�al pour des serveurs et, bien �videmment, fonctionne avec diff�rents processeurs. Il est certainement le syst�me le plus utilis� pour les serveurs sur Internet. L'utiliser chez soi est plut�t d�conseill�, mais chacun fait ce qui lui pla�t...
- FreeBSD est un amalgame des deux pr�c�dents. Il est particuli�rement d�di� aux processeurs Intel et Alpha et "h�rite" d'une partie de la philosophie d'OpenBSD pour ce qui concerne la s�curit�. Comme pour Linux, le fait qu'il fonctionne avec des processeurs Intel en fait un des BSD parmi les plus r�pandus. Pour un ordinateur personnel, c'est un tr�s bon choix. Ce qui ne veut pas dire qu'il ne doit pas �tre utilis� au travail !
Il y a autre chose concernant FreeBSD : ces gens-l� "partagent" leur travail avec Apple, pour la partie logiciel libre de Mac OS X. Et comme j'aime beaucoup OS X... Au fait, pour �viter toute confusion : m�me si OS X est bas� sur BSD, son noyau n'a rien � voir avec celui de FreeBSD. Il s'agit d'un noyau Mach, d�j� utilis� avec NeXTstep, "p�re" d'OS X : �videmment, NeXTstep �tant n� � la fin des ann�es 80, ce noyau a un peu �volu�.
Maintenant que nous avons fait connaissance... allons un peu plus loin.

Obtenir et installer FreeBSD

Comme la plupart du logiciel libre, FreeBSD peut �tre t�l�charg� sur le site maison. De toute �vidence, cela r�clame une connexion rapide. Rassurez-vous : il est facile de trouver des CD partout dans le monde.
Le syst�me actuel (au moment d'�crire ces lignes) est le 4.6. Cet article traite de la version i386.
Installer FreeBSD � partir d'un CD-ROM (ou autre) est simple... m�me s'il n'y a pas d'interface graphique pour ce faire ! A la place, vous utiliserez ncurses. Suivez les instructions et FreeBSD se retrouve sur votre disque dur. Comme d'habitude, vous devrez partitionner votre disque, configurer quelques "bricoles" telles que le r�seau ou le noyau (optionnel). Ensuite vous rencontrerez sysinstall, un tr�s bon outil, qui comme son nom l'indique, fait la plus grande partie du travail d'installation. Que vous installiez ou non la totalit� des paquetages d�pend de vous. Vous pouvez les ajouter n'importe quand, de toute mani�re.
La gestion de ces paquetages est elle aussi �vidente. Vous pouvez vous servir des commandes pkg, comme sous Solaris, par exemple, ou vous pouvez pr�f�rer les ports. En r�sum�, les commandes pkg ressemblent aux rpm ou aux deb de Linux, alors que les ports sont des archives compil�es avec make et make install. En d'autres termes, rien de complexe ou de difficile.
Puisque nous comparons � Linux, ajoutons qu'il existe un paquetage de compatibilit� qu'il est recommand� d'installer : il vous permettra de compiler et d'ex�cuter des applications Linux.
Encore une fois, tout est �vident, et au cas o�, un tr�s bon manuel est fourni qui explique les diff�rentes �tapes. De plus, ce dernier existe en plusieurs langues.
En cons�quence, il n'est pas n�cessaire de s'attarder d'avantage sur le sujet.

Configurer FreeBSD

Encore une fois, nous ne pourrons pas tout dire. Le plus important est de savoir o� se trouvent les fichiers essentiels. Comme d'habitude, vous les trouverez dans le r�pertoire /etc. Ils se nomment rc.quelquechose et peuvent g�rer diff�rentes parties : configuration g�n�rale, r�seau, sysctl, etc.
Le fichier rc.conf est important, puisque, comme le nom l'indique, il est con�u pour personnaliser la configuration. Dans ce fichier, vous pouvez dire au syst�me de d�marrer ou non certains d�mons (sshd, sendmail, etc), le type de pare-feu utilis�, d'activer ou non le niveau de s�curit� du noyau, d'activer ou non IPv6, etc. Il existe des tas d'options qui sont visibles dans le fichier par d�faut, �tonnamment nomm� /etc/defaults/rc.conf. Ne vous trompez pas : ce fichier contient les param�tres par d�faut, pas des exemples. C'est-�-dire, le fichier /etc/rc.conf remplace les param�tres par d�faut. En d'autres termes, ne copiez pas le fichier /etc/defaults/rc.conf vers /etc/rc.conf ou n'essayez pas de le modifier. Les changements doivent �tre r�alis�s dans /etc/rc.conf.
Pour information, les choix effectu�s � partir de sysinstall sont automatiquement inclus dans /etc/rc.conf (configuration de carte r�seau, nom d'h�te, niveau de s�curit�, etc).
Remarque importante : FreeBSD n'a aucun service actif par d�faut dans /etc/inetd.conf. Cela signifie, qu'au d�marrage, les d�mons g�r�s par inetd sont inactifs. A mon humble avis, ce devrait �tre obligatoire sur tous les Unixes. En tout cas, c'est tr�s bien !
Les autres fichiers rc permettent de configurer le pare-feu, sysctl et beaucoup d'autres choses. Ceci nous am�ne, bien s�r, � la personnalisation de FreeBSD.

Personnaliser FreeBSD

L'un des meilleurs outils de personnalisation se nomme sysctl (sous Linux aussi !). Vous pouvez l'utiliser � partir de la ligne de commande pour d�finir une valeur sp�cifique ou vous pouvez cr�er un fichier sysctl.conf (recommand� � moins que vous n'utilisiez la ligne de commande pour tester).
Par exemple, si votre machine sert de passerelle, sysctl peut autoriser l'ip forwarding par la commande sysctl -w net.inet.ip.forwarding=1. Pour une meilleure s�curit� vous pouvez v�rifier que les paquets arrivant sur une interface poss�dent bien l'adresse IP correspondant � cette interface gr�ce � la commande sysctl -w net.inet.ip.check_interface=1. Vous pouvez contr�ler une grande partie du comportement de votre syst�me avec sysctl : voir la page de manuel. Evidemment, si vous voulez �crire ceci dans un fichier sysctl.conf, la commande sysctl doit �tre supprim�e. Le fichier utilise le format variable = valeur. Les exemples ci-dessus deviennent alors :
net.inet.ip.forwarding=1
net.inet.ip.check_interface=1
Certes, votre propre fichier sysctl.conf devrait contenir plus de deux lignes puisqu'il peut tout contr�ler, enfin, presque !
Au d�but de cet article, nous avons parl� des niveaux de s�curit�. Il en existe 4 diff�rents de -13. -1 repr�sente le niveau sans s�curit� et 3 repr�sente le plus haut niveau de s�curit�. Il est conseill� de bien comprendre ce que g�n�re chaque niveau avant d'en choisir un. Utiliser des niveaux autres que -1 ou 0, peut amener votre syst�me � ne plus fonctionner comme pr�vu. Le premier inconv�nient appara�t au niveau 1 puisqu'il peut emp�cher d'utiliser correctement le serveur X. De m�me, vous ne pourrez plus, par exemple, charger ou d�charger des modules du noyau. Vous voici pr�venus !
Toutefois, ces niveaux �lev�s peuvent �tre utiles pour un serveur sp�cifique r�clamant une forte protection. En tant qu'utilisateur particulier, le niveau 0 est id�al, mais �a vous regarde...
La commande chflags est en relation avec les niveaux de s�curit�. Pour en savoir plus, lisez la page de manuel : c'est une commande tr�s puissante.
Continuer l�-dessus ferait un article "comment s�curiser FreeBSD", par cons�quent, passons au chapitre suivant.

Am�liorer FreeBSD

Supposons que vous veniez d'acheter un coffret de CD de FreeBSD 4.5. Quelques jours plus tard arrive la version 4.6. Pas de chance !
Ne vous inqui�tez pas : FreeBSD propose CVS pour am�liorer le syst�me. Vous avez le choix entre CVS et CVSup. Le premier est plus facile � utiliser alors que le second est plus efficace. Avec ces outils, le "jeu" consiste � r�cup�rer le nouvel arbre source et � synchroniser le tout.
Ensuite, vous devrez compiler l'ensemble avec make buildworld. Comment le faire est parfaitement expliqu� dans le manuel. Le point important, c'est que �a vous permet d'avoir un syst�me tout neuf et � jour.
Toutefois, �a ne s'arr�te pas l�. Comme toujours avec le logiciel libre, des vuln�rabilit�s sont trouv�es et tr�s rapidement corrig�es. A la diff�rence de certains syst�mes propri�taires dans lesquels une vuln�rabilit� peut rester sans solution pour l'�ternit� (et un jour), les personnes investies dans le logiciel libre r�agissent � la vitesse de la lumi�re et fournissent des correctifs. Bien s�r, c'est votre r�le de suivre ce qui se passe. Le site de FreeBSD a une section s�curit� contenant les alertes par version. Vous pouvez y t�l�charger des fichiers .asc (fichiers texte) vous disant ce que vous devez savoir : une description du probl�me et sa solution. D'autres sites proposent ce type d'information. Mentionnons par exemple, linuxsecurity, CERT, etc.
Ceci implique �videmment que votre syst�me doit �tre mis � jour.

Mettre � jour FreeBSD

Vous ne souhaitez pas conserver des failles connues dans votre syst�me, n'est-ce-pas ? FreeBSD, comme les autres Unixes libres founit des correctifs. R�cup�rez ces correctifs et appliquez-les. Pour les utilisateurs de Linux, la diff�rence principale vient du fait que vous n'obtenez pas un paquetage corrig� mais un correctif du code source. Cela signifie que vous devrez recompiler le noyau apr�s avoir appliqu� le correctif � votre code source, et bien s�r, ceci implique que le code source est pr�sent sur votre machine. C'est vrai aussi pour Linux, sinon que les utilisateurs se contentent souvent de t�l�charger la rpm (par exemple) modifi�e, au moins pour ce qui concerne les applications, mais aussi dans le cas des corrections de noyau.
L'une des diff�rences les plus importantes entre Linux et FreeBSD vient du noyau. FreeBSD est bas� sur BSD 4.4 et n'a pas plusieurs versions de noyau comme c'est le cas dans le monde Linux. Cela signifie que c'est un noyau stable mais qui grossit avec le temps, �tant plut�t monolithique m�me s'il peut b�n�ficier de modules. L'inconv�nient, c'est que vous devrez recompiler le noyau plus souvent que sous Linux si vous voulez conserver un syst�me aussi s�curis� que possible.
Je pr�f�re de loin cette philosophie que celle de Linux, mais ce n'est que mon opinion. Je ne pense pas que d'avoir, disons, 3 diff�rents noyaux "en cours" puisse amener � la stabilit�. Ne parlons pas des applications devant �tre "port�es" d'une version � l'autre, particuli�rement celles consacr�es � la s�curit�. Un autre exemple pourrait �tre les syst�mes de filtrage de paquets : 3 versions du noyau, 3 syst�mes de filtrage de paquets diff�rents ! Et ainsi de suite.
J'ai vraiment beaucoup de respect pour les gens qui accomplissent cet excellent travail, mais est-ce vraiment la marche � suivre ? N'en parlons plus !
Bien s�r, vous pouvez aussi compiler un nouveau noyau pour le faire correspondre � vos besoins... et cette fois, c'est bien comme sous Linux. La fa�on de le faire est tr�s bien expliqu�e dans le manuel, passons donc � autre chose.

Applications

Comme d�j� mentionn�, une grande majorit� d'applications libres (sinon toutes) fonctionne sous FreeBSD. Vous n'avez pas forc�ment besoin des ports ou des paquetages cit�s plus haut. Vous pouvez compiler la plupart des archives disponibles, quel que soit le type de logiciel.
Pour les "accros" d'environnements de bureau, Gnome et KDE sont disponibles... et sont inclus dans la distribution. M�me chose pour les gestionnaires de fen�tres. Le g�nial environnement de d�veloppement, GNUstep, fonctionne aussi tr�s bien sous FreeBSD. Pour le compiler, il vous faut un gcc plus r�cent que celui de la distribution : pas de probl�me ! R�cup�rez l'archive correspondante et compilez le nouveau compilateur. Bien �videmment les applications GNUstep telles que GNUMail.app, Gorm.app ou ProjectBuider.app fonctionnent aussi parfaitement.
Vraiment, tous les logiciels que vous utilisez sous Linux sont disponibles pour FreeBSD... et il y en a beaucoup d'autres !
Par exemple, FreeBSD dispose d'un paquet d'outils concernant la s�curit�. Des outils de surveillance, de gestion, etc, font partie de la distribution.
Pare-feu, proxies, scanners, IDS, etc, sont �galement disponibles. Par exemple, vous avez le choix entre IPsec ou ipfw. Vous pouvez utiliser nessus, nmap, portsentry, etc. Encore une fois, la plupart font partie de la distribution mais rien ne vous emp�che de r�cup�rer et de compiler les derni�res versions.
Nous avons d�j� abord� les environnements de bureau ou les gestionnaires de fen�tres mais nous n'avons pas dit un mot de ce qui leur est n�cessaire pour fonctionner : le X Window System. XFree 4.* est maintenant le syst�me par d�faut. Pour information, jusqu'� FreeBSD 4.5, XFree 3.* �tait celui par d�faut. Vous aviez bien XFree 4.* dans la distribution mais le processus d'installation choisissait d'installer XFree 3.*. Maintenant, XFree 4.* est install� par d�faut, mais vous pouvez toujours utiliser la version 3.* si vous pr�f�rez.

Mat�riel

Puisque nous parlons de la version i386, disons que la plupart du mat�riel disponible fonctionne sous FreeBSD, y compris, s'il date un peu. Par exemple, une vieille carte r�seau combo de 3Com donnera les r�sultats esp�r�s si vous pr�cisez le type de media dans la commande ifconfig. Si vous utilisez une connexion BNC (coaxial), il suffit d'ajouter media 10base2/BNC � la fin de la ligne ifconfig dans /etc/rc.conf
M�me chose pour quelques cartes graphiques un peu anciennes : XFree 4.* r�soudra la plupart des probl�mes. C'est particuli�rement vrai pour les cartes ATI plut�t ag�es.
Pour confirmation, n'h�sitez pas � consulter les notes sur le mat�riel sur le site de FreeBSD.

S�curit�

Nous avons d�j� mentionn� quelques outils tels que pare-feu, scanners, etc. FreeBSD propose bien d'autres outils de s�curit�. OpenSSH, OpenSSL, Kerberos, MD5, etc, sont �galement inclus dans la distribution. Comme d'habitude, vous ne pouvez pas vivre sans ces outils, mais bien s�r, c'est � vous de surveiller la d�couverte d'�ventuelles failles.
Un exemple r�cent montre l'importance de la prudence. Imaginons que vous veniez d'�tre inform� d'une faille d�couverte dans OpenSSH, par exemple. Le comportement adapt� consiste � aller sur le site maison et � t�l�charger la version corrig�e.
Vrai, mais pas suffisant ! Contr�lez le checksum du paquetage.
L'exemple d'OpenSSH n'a pas �t� pris par hasard : quelques semaines plus t�t, quelqu'un a remplac� l'archive originale par une archive corrompue. Comme d'habitude, les gens d'OpenSSH ont r�agi tr�s vite. Toutefois, les utilisateurs qui ont t�l�charg� le paquetage dans ce bref laps de temps sans v�rifier le checksum ont install� une version "v�rol�e". D'o� la n�cessit� d'utiliser des checksums... et de les v�rifier.
M�me si �a n'entre pas dans le cadre de cet article, insistons sur le fait que la s�curit� est avant tout un comportement.

Communications

Le r�seau sous FreeBSD est tr�s �volu�. La gestion d'IPv6, par exemple, est tr�s bonne. Les moyens de communication actuels ne sont pas non plus oubli�s. Si vous utilisez des modems ADSL ou c�ble, leur configuration est tr�s facile.
De nombreux FAI utilisent PPPoE aujourd'hui. FreeBSD g�re cela de mani�re simple : quelques lignes dans le fichier ppp.conf suffiront. Pour ce qui concerne PPPoA (ATM), pour l'instant, seul le modem Alcatel est support�. Ceci devrait changer tr�s rapidement (il existe peut-�tre d�j� un support pour d'autres modems).

Documentation

Le manuel fourni n'est pas la seule documentation disponible. Vous disposez aussi d'une FAQ, d'un guide d'installation, etc, accessibles sur le site de FreeBSD. Une autre source d'information importante se trouve sur http://www.freebsd-howto.com.

Et apr�s ?

C'est un tr�s bref tour d'horizon. Ce syst�me, comme les autres Unixes libres est tr�s int�ressant. Il poss�de des caract�ristiques marquantes et m�rite vraiment un essai. Malheureusement, cet article ne peut pas �tre une v�ritable visite guid�e et des tas de particularit�s d'importance n'ont m�me pas �t� abord�es.
FreeBSD demandera un peu plus de connaissance d'Unix que certaines distributions Linux tr�s typ�es "Windos", mais il reste tr�s facile � utiliser.
Certes, quelqu'un n'ayant aucune connaissance d'Unix peut rencontrer des probl�mes puisqu'il devra souvent recompiler son syst�me apr�s mise � jour. Toutefois, c'est un excellent moyen d'apprendre, m�me si �a peut prendre un "certain" temps. On semble avoir oubli� aujourd'hui, qu'� l'origine, Unix a �t� con�u par des d�veloppeurs pour des d�veloppeurs, et non pas pour l'utilisateur normal ou le particulier.
C'est une chance pour ces derniers que les Unixes libres ou propri�taires aient transform� l'approche originale. Merci � tous les d�veloppeurs qui ont permis cela. Dans les ann�es 80, la plupart des utilisateurs de Linux d'aujourd'hui, seraient partis en courant loin d'Unix, rien qu'� cause du processus d'installation. Les distributions �taient fournies sur bandes magn�tiques et la phase d'installation pouvait repr�senter une journ�e de travail, le processus de configuration r�clamant au moins une journ�e suppl�mentaire. Ne parlons pas de la configuration des applications ! Et aujourd'hui, vous pouvez utiliser Unix sans m�me le savoir, avec des syst�mes comme Mac OS X. C'�tait d�j� vrai au d�but des ann�es 90 gr�ce au "p�re" d'OS X, NeXTstep.
Cela peut sembler hors-sujet, pourtant NeXTstep a ouvert la voie aux Unixes libres et propri�taires... et � quelques autres ! Amener Unix chez le particulier �tait un v�ritable d�fi, et enfin, c'est arriv�. F�licitations � tous ceux qui se sont investis dans ce d�fi, que ce soit moyennant finances ou gratuitement. Ceux travaillant gratuitement m�ritent une mention sp�ciale et encore plus de "merci ;-)
Le fait que FreeBSD "partage" avec Apple me semble une excellente chose. Chacun profite de l'autre dans le bon sens du terme. Les syst�mes propri�taires ont toujours utilis� le logiciel libre... sans le "crier" trop fort. Apple et SGI n'h�sitent pourtant pas � le dire. D'autres semblent faire de m�me... mais avec une arri�re-pens�e. Malgr� tout, je continue � penser qu'il y a de la place pour tout le monde... enfin, sauf pour un qui prend d�j� toute la place, et l�, �a n'a plus rien � voir avec Unix !
Le "bruit" fait autour de Linux maintient les autres Unixes libres dans l'ombre : jusque l�, �a va. Il peut y avoir un c�t� positif... et c'est la raison principale pour laquelle j'utilise FreeBSD. Bien s�r, je continue � utiliser Linux (et beaucoup d'autres) : j'adore la diversit� !
Si cet article vous donne envie de tester FreeBSD, il n'aura pas �t� inutile. Essayez-le pour d�couvrir tout ce qui n'a pas �t� abord� ici.
Quand je vous dis qu'on vit une �poque formidable !