Update subject 2 for 2020
This commit is contained in:
parent
e4f964f095
commit
50132f3a8f
@ -48,7 +48,7 @@ Aidez-vous du visualisateur de *capabilities* de la partie 4 du TP, pour voir
|
||||
si vous êtes sur la bonne voie.
|
||||
|
||||
|
||||
## Palier 3 : Utilisable par un utilisateur (1 point) {-}
|
||||
## Palier bonus : Utilisable par un utilisateur (2 points) {-}
|
||||
|
||||
Jouez avec les attributs étendus pour qu'un utilisateur non-privilégié puisse
|
||||
exécuter votre moulinette. Ajoutez la/les commande(s) à votre Makefile ou
|
||||
@ -66,7 +66,7 @@ dans la partie sur les `chroot`.
|
||||
sera seulement utile pour faire des tests.**
|
||||
|
||||
|
||||
## Palier 4 : Isolation du pauvre (1 point) {-}
|
||||
## Palier 3 : Isolation du pauvre (1 point) {-}
|
||||
|
||||
Nous n'avons pas encore vu de meilleure méthode pour mieux isoler
|
||||
l'environnement que de faire un `chroot`, ajoutez à votre programme cette
|
||||
@ -84,7 +84,7 @@ meilleure isolation !
|
||||
</div>
|
||||
|
||||
|
||||
## Palier 5 : seccomp (2 points) {-}
|
||||
## Palier 4 : seccomp (2 points) {-}
|
||||
|
||||
Filtrez les appels systèmes de telle sorte qu'aucun programme exécuté dans
|
||||
votre bac à sable ne puisse plus lancer les appels systèmes suivants :
|
||||
@ -99,19 +99,25 @@ N'hésitez pas à en utiliser d'autres pour vos tests ;)
|
||||
**Astuces\ :** `seccomp(2)`, `seccomp_init(3)`, `seccomp_load(3)`, ...
|
||||
|
||||
|
||||
## Palier bonus : Automatisation de la création de l'environnement (5 points) {-}
|
||||
## Palier 5 : Automatisation de la création de l'environnement (1 point) {-}
|
||||
|
||||
Pour *moulinéter* plusieurs étudiants en parallèle, vous allez avoir besoin de
|
||||
plusieurs environnements identiques. Plutôt que de recopier cet environnement,
|
||||
de le nettoyer, de le recréer, pour chaque étudiant, ajoutez à votre moulinette
|
||||
un support pour LVM : utilisez des *snapshots* pour figer votre environnement
|
||||
et le dupliquer facilement pour chaque étudiant.
|
||||
Intégrer le script `registry_play.sh`, réalisé au TP précédent, à votre
|
||||
programme afin de pouvoir créer un environnement neuf à chaque nouvelle
|
||||
exécution.
|
||||
|
||||
L'usage est laissé à votre discrétion : vous pouvez ajouter un/des paramètres à
|
||||
votre *moulette* pour indiquer le volume LVM à utiliser ou le définir en dur ou
|
||||
encore séparer la création de l'environnement et de la snapshot initiale dans
|
||||
un programme distinct.
|
||||
Vous pouvez l'utiliser tel quel, ou le réécrire pour qu'il s'intègre plus
|
||||
facilement au sein du langage que vous avez choisi.
|
||||
|
||||
Si votre noyau dispose d'un UnionFS (AUFS ou OverlayFS par exemple), ou que
|
||||
vous disposez d'une partition `btrfs`, vous pouvez utiliser l'une de ces
|
||||
méthodes pour ajouter une couche en écriture, à la place de LVM.
|
||||
L'appel du programme se fera alors ainsi, avec l'otion `-I` pour préciser que
|
||||
l'on s'attend à trouver le nom d'une image Docker :
|
||||
|
||||
<div lang="en-US">
|
||||
```
|
||||
42sh# ./mymoulette -I library/alpine:latest /bin/ash
|
||||
ash# which apk
|
||||
/sbin/apk
|
||||
```
|
||||
</div>
|
||||
|
||||
Vous pourriez utiliser `mkdtemp(3)` pour déterminer l'emplacement de
|
||||
décompression des tarballs d'image.
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: Virtualisation légère -- Projet
|
||||
author: Pierre-Olivier *nemunaire* Mercier
|
||||
institute: EPITA
|
||||
date: EPITA -- SRS 2019
|
||||
date: EPITA -- SRS 2020
|
||||
abstract: |
|
||||
Le laboratoire des assistants a besoin de votre expertise afin de
|
||||
renforcer la sécurité et la réactivité de son système de correction
|
||||
@ -29,7 +29,7 @@ abstract: |
|
||||
\vspace{1em}
|
||||
|
||||
Ce projet est à rendre à <virli@nemunai.re> au plus tard le dimanche
|
||||
25 novembre 2018 à 23 h 42.
|
||||
1er décembre 2019 à 23 h 42.
|
||||
...
|
||||
|
||||
\newpage
|
||||
|
Loading…
Reference in New Issue
Block a user