original in en Georges Tarbouriech
en to fr Georges Tarbouriech
Georges est un vieil utilisateur d'Unix. Il aime beaucoup les versions libres de ce syst�me extraordinaire.
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.
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.
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.
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.
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 -1 � 3. -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.
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.
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.
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.
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.
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.
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).
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.
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 !