virli/tutorial/3/project.md

90 lines
2.4 KiB
Markdown
Raw Normal View History

2016-10-03 10:27:18 +00:00
\newpage
Projet et rendu
===============
## Sujet
Vous allez commencer aujourd'hui un projet qui s'étendra au prochain TP et qui
consistera à réaliser la partie d'isolation de la moulinette des ACUs !
Cette semaine, il faudra faire en sorte de restreindre un groupe de processus
2016-10-05 09:13:56 +00:00
pour qu'il ne puisse pas faire de déni de service sur notre machine.
Il n'y a pas de restriction sur le langage utilisé, vous pouvez tout aussi bien
utiliser du C, du C++, du Python, etc.
L'usage de bibliothèques **non relatives** au projet est autorisé : le but de
ce sujet est d'évaluer votre compréhension et votre utilisation de la
tuyauterie bas-niveau du noyau liée à la virtualisation légère, à partir du
moment où vous n'utilisez pas une bibliothèque qui abstrait complètement cette
plomberie, n'hésitez pas à l'utiliser !
Gardez en tête que ce projet sera à continuer au prochain TP, où il sera
principalement question de faire des appels système.
### Stage 1 : Restreindre l'environnement
Après avoir mis en place les bases de votre programme,
### Stage 2 : Réduire les capabilities
### Stage 3 : Script d'initialisation
### Stage 4 : Utilisable par un utilisateur
Une autre solution
### Stage 5 : Création de l'environnement d'exécution
Plutôt que d'utiliser votre système hôte complet, il faudrait utiliser un
système contenant le struct minimum.
### Stage 6 : Isolation du pauvre
Nous n'avons pas encore vu de meilleure méthode pour mieux isoler
l'environnement que de faire un `chroot`, ajouter à votre programme cette
isolation rudimentaire.
### Stage 7 (bonus) : automatisation de l'environnement
LVM
2016-10-03 10:27:18 +00:00
## Modalité de rendu
Un service automatique s'occupe de réceptionner vos rendus, de faire les
vérifications nécessaires et de vous envoyer un accusé de réception (ou de
rejet).
Ce service écoute sur l'adresse <virli@nemunai.re>, c'est donc à cette adresse
et exclusivement à celle-ci que vous devez envoyer vos rendus. Tout rendu
envoyé à une autre adresse et/ou non signé et/ou reçu après la correction ne
sera pas pris en compte.
## Tarball
Tous les fichiers identifiés comme étant à rendre pour ce TP sont à
placer dans une tarball (pas d'archive ZIP, RAR, ...).
Les réponses aux questions sont à regrouper dans un fichier `questions.txt` à
placer à la racine de votre rendu.
Voici une arborescence type:
```
login_x-TP3/questions.txt
login_x-TP3/
```
## Astuces