virli/tutorial/3/project.md
2017-09-22 10:27:49 +02:00

2.4 KiB

\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 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

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