Documentation technique groupe rush A

Documentation groupe rush A: Installation machine d'attaque 2

Description

La machine d'attaque 2 est munie d'un système FreeBSD 5.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:

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# tsocks cvs -z3
  -d :pserver:anoncvs@anoncvs.de.freebsd.org:/home/ncvs checkout -r
  RELENG_5_2 src

Compilation des sources

Les sources peuvent dès à présent être compilées:
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.
attacker2 /usr/src# mergemaster -p
attacker2 /usr/src# make installworld
attacker2 /usr/src# mergemaster
attacker2 /usr/src# reboot
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.
attacker2 /usr/src# tsocks cvs -z3
  -d :pserver:anoncvs@anoncvs.de.freebsd.org:/home/ncvs checkout ports

Installation depuis les ports

Pour installer Nessus, nous avons procédé de la façon suivante:
attacker2 /root# cd /usr/ports/security/nessus
attacker2 /usr/ports/security/nessus# make install
L'installation est automatique, le téléchargement des sources et la compilation se font tout seul.

Création d'un package

Une fois le port compilé, on peut créer un package (binaire et redistribuable) de la façon suivante:
attacker2 /usr/ports/security/nessus# make package
Pour obtenir plus d'information sur la procédure, veuillez vous référer au [freebsd.org] FreeBSD Handbook

Notre procédure d'installation

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.