La machine d'attaque 2 est munie d'un système FreeBSD5.2.1-RELEASE-p4. L'installation s'est tout d'abord faite
depuis un CD d'installation contenant la version 5.2.1-RELEASE, puis une mise à jour a été effectuée.
Installation de base
L'installation d'un système FreeBSD ne présente pas
de problèmes majeurs, et il n'y a pas de phase de sélection de packages car un
système FreeBSD, contrairement à un système Linux, possède un certain nombre de logiciels installés
de base (OpenSSH, outils de diagnostic
réseau). L'ensemble de ces outils représente le base system.
Note: le base system est synchronisé avec les derniers patches de
sécurité, ainsi les sources fraichement téléchargées ne contiennent pas de
failles connues.
Les particularités de l'installation sont donc:
Configuration réseau:
Adresse IP: 192.168.30.4
Default Gateway: 192.168.30.254
DNS: 192.168.20.2
Partitions: l'allocation par défaut des partitions sur l'installeur
FreeBSD nous convient.
L'installeur de FreeBSD (sysinstall) est très bien fait et
l'installation est intuitive.
Une fois cette installation effectuée, lancer le script install.sh
présent dans le répertoire rush sur le CDROM.
Les sections suivantes décrivent la procédure qui a été utilisée pour créer ce
CDROM d'installation.
Mise à jour du système
La mise à jour du système est un peu particulière sous FreeBSD, mais assez
agréable à utiliser. Il s'agit de mettre à jour le base system ainsi que
le kernel.
Mise à jour des sources par CVS
La première étape coniste à récupérer les dernières sources, qui vont
s'installer dans /usr/src. On configure pour cela l'utilitaire
tsocks, qui est nécessaire pour toutes communications réseau désirant
passer outre le serveur socks de l'EPITA.
La méthode de choix pour effectuer la mise à jour est en principe l'utilitaire
CVSup, qui est un CVS modifié (plus efficace). Ce
protocole ne fonctionne par derrière un serveur SOCKS, nous avons donc du
utiliser CVS qui est plus lent mais qui marchait.
Note: l'état de fonctionnement du serveur SOCKS à l'école est assez
alétoire, tout comme l'était le fonctionnement du réseau pendant ces 4 jours !
La commande suivante permet de mettre à jour les sources du système:
attacker2 /usr/src# make buildworld
attacker2 /usr/src# make buildkernel
attacker2 /usr/src# make installkernel
La première ligne lance la compilation du userland. La seconde compile un kernel par défaut. La
troisième installe ce dernier kernel. Il convient ensuite de rebooter.
mergemaster est un utilitaire qui permet de vérifier la compatibité des
fichiers de configuration avec le nouveau système qui vient d'être installé. Le
cas échéant, l'utilisateur pourra tenter de réparer les fichiers de
configuration.
Une fois ceci fait on peut installer le userland (make installworld).
Pour obtenir plus d'information sur la procédure, veuillez vous référer au
[freebsd.org] FreeBSD Handbook
Les ports
Les ports de FreeBSD sont stockés dans une
arborescence (dans /usr/ports), contenant un ensemble de Makefiles
permettant d'installer un logiciel avec ses dépendances à moindre cout.
Mise à jour des ports
Les ports se mettent à jour de la même façon que les sources du système, donc en
utilisant CVS à EPITA.
FreeBSD possède un mécanisme de construction du
base system, nommé make release, sur lequel nous nous sommes
appuyés pour créer un CD d'installation.
La procédure exacte est documentée dans la page de manuel
release(7).
En utilisant cette procédure, nous obtenons localement une arborescence
similaire à celle présente sur le CD d'installation, mais avec un userland et un
kernel mis à jour.
Nous copions ensuite les packages dont nous avons besoin dans le répertoire
/rush de cette arborescence.
Puis nous utilisons mkisofs en utilisant comme secteur bootable les
images boot floppy de la release. L'image ISO est ensuite prête à être
gravée sur un CD.
A la fin de l'installation standard, l'utilisateur doit lancer notre script
d'installation dans /rush/install.sh.