2016-09-08 01:44:20 +00:00
|
|
|
\newpage
|
|
|
|
|
2016-09-08 02:40:34 +00:00
|
|
|
Projet et rendu
|
|
|
|
===============
|
2016-09-08 01:44:20 +00:00
|
|
|
|
2016-09-08 02:40:34 +00:00
|
|
|
## Sujet
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
Écrivez un `Dockerfile` pour conteneriser un client netsoul.
|
|
|
|
|
|
|
|
Vous pouvez utiliser le client de votre choix, comme par exemple
|
|
|
|
[tumsoul.py](https://virli.nemunai.re/misc/tumsoul_0.3.3.py).
|
|
|
|
|
|
|
|
Une fois construit, le conteneur doit se lancer comme cela :
|
|
|
|
|
|
|
|
```
|
|
|
|
docker run -e NETSOUL_LOGIN="login_x" -e PASSSOCKS="xnigol42" netsoul
|
|
|
|
```
|
|
|
|
|
|
|
|
Passer la configuration d'un conteneur dans des variables d'environnement est
|
|
|
|
une méthode couramment utilisée. Ces variables sont récupérées et traitées par
|
2016-09-08 02:40:34 +00:00
|
|
|
le script
|
|
|
|
d'[ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#/entrypoint). Ce
|
|
|
|
qui permet de n'utiliser la ligne de commande que pour des indiquer le
|
|
|
|
programme à lancer et ses arguments.
|
2016-09-08 01:44:20 +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
|
2016-09-15 00:47:01 +00:00
|
|
|
envoyé à une autre adresse et/ou non signé et/ou reçu après la correction ne
|
|
|
|
sera pas pris en compte.
|
2016-09-08 01:44:20 +00:00
|
|
|
|
|
|
|
|
|
|
|
## 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-TP1/questions.txt
|
|
|
|
login_x-TP1/webserver
|
|
|
|
login_x-TP1/webserver/Dockerfile
|
|
|
|
login_x-TP1/webserver/index.html
|
|
|
|
login_x-TP1/webserver/datavolume-run.sh
|
|
|
|
login_x-TP1/netsoul
|
|
|
|
login_x-TP1/netsoul/Dockerfile
|
|
|
|
login_x-TP1/netsoul/docker-entrypoint.sh
|
|
|
|
login_x-TP1/netsoul/tumsoul.py
|
|
|
|
```
|
|
|
|
|
|
|
|
## Signature du rendu
|
|
|
|
|
|
|
|
Deux méthodes sont utilisables pour signer votre rendu :
|
|
|
|
|
|
|
|
* signature du courriel ;
|
|
|
|
* signature de la tarball.
|
|
|
|
|
|
|
|
Dans les deux cas, si vous n'en avez pas déjà une, vous devrez créer une clef
|
|
|
|
PGP à votre nom et prénom.
|
|
|
|
|
|
|
|
Pour valider la signature, il est nécessaire d'avoir reçu la clef publique
|
|
|
|
séparément. Vous avez le choix de l'uploader sur un serveur de clefs, soit de
|
|
|
|
me fournir votre clef en main propre, soit l'envoyer dans un courriel distinct.
|
|
|
|
|
|
|
|
### Signature du courriel
|
|
|
|
|
|
|
|
[Enigmail](https://enigmail.net) est une extension très bien réputée pour
|
|
|
|
signer ses mails depuis Thunderbird.
|
|
|
|
|
|
|
|
Utilisez le service automatique <signcheck@nemunai.re> pour savoir si votre
|
|
|
|
courriel est correctement signé et que je suis en mesure de vérifier la
|
|
|
|
signature.
|
|
|
|
|
|
|
|
|
|
|
|
### Astuces
|
|
|
|
|
|
|
|
#### No public key
|
|
|
|
|
|
|
|
Si vous recevez un rapport avec l'erreur suivante :
|
|
|
|
|
|
|
|
```
|
|
|
|
[FAIL] Bad signature. Here is the gnupg output:
|
|
|
|
|
|
|
|
gpg: Signature made Tue Jan 01 16:42:23 2014 CET
|
|
|
|
gpg: using RSA key 842807A84573CC96
|
|
|
|
gpg: requesting key E2CCD99DD37BD32E from hkp server pool.sks-keyservers.net
|
|
|
|
gpg: Can't check signature: No public key
|
|
|
|
```
|
|
|
|
|
|
|
|
C'est que votre clef publique n'est pas dans mon trousseau et que les méthodes
|
|
|
|
de récupérations automatiques n'ont pas permis de la trouver. Uploadez votre
|
|
|
|
clef sur un serveur de clefs (et attendez quelques minutes sa propagation) ou
|
|
|
|
envoyez un courriel avec votre clef publique en pièce-jointe, avant de retenter
|
|
|
|
votre rendu.
|
|
|
|
|
|
|
|
|
|
|
|
#### Not explicit username
|
|
|
|
|
|
|
|
Si vous recevez un rapport avec l'erreur suivante :
|
|
|
|
|
|
|
|
```
|
|
|
|
[FAIL] The username of your key is not explicit, I can't find you.
|
|
|
|
```
|
|
|
|
|
|
|
|
Votre clef ne contient sans doute pas vos noms et prénoms ou l'adresse
|
|
|
|
électronique associée à la clef n'est pas celle que j'ai dans ma base de
|
|
|
|
données.
|