Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:docker3:drf06 [2023/12/19 06:49] adminelearning:workbooks:docker3:drf06 [2024/02/21 13:40] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2023.01**+Version : **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 99: Ligne 99:
 root@manager:~/postgres# echo "postgres" | docker secret create pg_password - root@manager:~/postgres# echo "postgres" | docker secret create pg_password -
 h9tsfbfwz6o0sd35roklwpopi h9tsfbfwz6o0sd35roklwpopi
- 
 root@manager:~/postgres# echo "database" | docker secret create pg_database - root@manager:~/postgres# echo "database" | docker secret create pg_database -
 5lx4zydpfocwgpdto0yy1jod9 5lx4zydpfocwgpdto0yy1jod9
Ligne 230: Ligne 229:
 </WRAP> </WRAP>
  
-Connectez-vous maintenant à Apache Guacamole et ouvrez un navigateur web dans la machine virtuelle **Debian11_10.0.2.46_VNC**. Naviguez ensuite à l'adresse du Manager sur le port **8080** et renseignez les valeurs des secrets :+Connectez-vous maintenant à Apache Guacamole et ouvrez un navigateur web dans la machine virtuelle. Naviguez ensuite à l'adresse du Manager sur le port **8080** et renseignez les valeurs des secrets :
  
 {{ :elearning:workbooks:docker2:2021-04-15.png?direct&600 |}} {{ :elearning:workbooks:docker2:2021-04-15.png?direct&600 |}}
Ligne 244: Ligne 243:
 NAME                SERVICES            ORCHESTRATOR NAME                SERVICES            ORCHESTRATOR
 postgres            2                   Swarm postgres            2                   Swarm
- 
 root@manager:~/postgres# docker stack rm postgres root@manager:~/postgres# docker stack rm postgres
 Removing service postgres_adminer Removing service postgres_adminer
Ligne 258: Ligne 256:
 root@manager:~# cat /etc/group | grep docker root@manager:~# cat /etc/group | grep docker
 docker:x:999: docker:x:999:
- 
 root@manager:~# usermod -aG docker trainee root@manager:~# usermod -aG docker trainee
- 
 root@manager:~# exit root@manager:~# exit
 déconnexion déconnexion
- 
 trainee@manager:~$ docker ps trainee@manager:~$ docker ps
 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json: dial unix /var/run/docker.sock: connect: permission denied
- 
 trainee@manager:~$ newgrp docker trainee@manager:~$ newgrp docker
- 
 trainee@manager:~$ docker ps -a trainee@manager:~$ docker ps -a
 CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                 NAMES CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS                 NAMES
 d02c6115724c        alpine              "/bin/sh"                6 days ago          Exited (0) 6 days ago                               alpine1 d02c6115724c        alpine              "/bin/sh"                6 days ago          Exited (0) 6 days ago                               alpine1
- 
 trainee@manager:~$ docker rm alpine1 trainee@manager:~$ docker rm alpine1
 alpine1 alpine1
- 
 trainee@manager:~$ docker run -d --name alpine1 alpine sleep 99999 trainee@manager:~$ docker run -d --name alpine1 alpine sleep 99999
 a214e2df0499c97e8da25a6c9ea751ac75344c9bcd7d238f8cb8d5c777510ab9 a214e2df0499c97e8da25a6c9ea751ac75344c9bcd7d238f8cb8d5c777510ab9
- 
 trainee@manager:~$ docker ps -a trainee@manager:~$ docker ps -a
 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Ligne 304: Ligne 294:
 <code> <code>
 trainee@manager:~$ su - trainee@manager:~$ su -
-Mot de passe : fenestros+Password: fenestros
  
 root@manager:~# git clone https://github.com/docker/docker-bench-security.git root@manager:~# git clone https://github.com/docker/docker-bench-security.git
-Clonage dans 'docker-bench-security'...+Cloning in 'docker-bench-security'...
 remote: Enumerating objects: 18, done. remote: Enumerating objects: 18, done.
 remote: Counting objects: 100% (18/18), done. remote: Counting objects: 100% (18/18), done.
 remote: Compressing objects: 100% (16/16), done. remote: Compressing objects: 100% (16/16), done.
 remote: Total 1921 (delta 5), reused 6 (delta 2), pack-reused 1903 remote: Total 1921 (delta 5), reused 6 (delta 2), pack-reused 1903
-Réception d'objets: 100% (1921/1921), 2.90 MiB | 908.00 KiB/s, fait+Receiving objects: 100% (1921/1921), 2.90 MiB | 908.00 KiB/s, done
-Résolution des deltas: 100% (1339/1339), fait.+Delta resolution: 100% (1339/1339), done.
 </code> </code>
  
Ligne 340: Ligne 330:
 [WARN] 1.1.1 - Ensure a separate partition for containers has been created (Automated) [WARN] 1.1.1 - Ensure a separate partition for containers has been created (Automated)
 [INFO] 1.1.2 - Ensure only trusted users are allowed to control Docker daemon (Automated) [INFO] 1.1.2 - Ensure only trusted users are allowed to control Docker daemon (Automated)
-[INFO]       * Users: +[INFO]       * Users: trainee
 [WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated) [WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated)
 [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated) [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated)
Ligne 489: Ligne 479:
 ... ...
 [INFO] 1 - Host Configuration [INFO] 1 - Host Configuration
- +[INFO] 1.1 - Linux Hosts Specific Configuration 
-[INFO] 1.1 - General Configuration +[WARN] 1.1.1 - Ensure a separate partition for containers has been created (Automated) 
-[NOTE] 1.1.1  - Ensure the container host has been Hardened +[INFO] 1.1.2 - Ensure only trusted users are allowed to control Docker daemon (Automated) 
-[INFO] 1.1.2  - Ensure Docker is up to date +[INFO]       Users: trainee 
-[INFO]        * Using 19.03.4, verify is it up to date as deemed necessary +[WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated) 
-[INFO]        * Your operating system vendor may provide support and security maintenance for Docker +[WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated) 
- +[WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - /var/lib/docker (Automated) 
-[INFO] 1.2 - Linux Hosts Specific Configuration +[WARN] 1.1.6 - Ensure auditing is configured for Docker files and directories - /etc/docker (Automated) 
-[WARN] 1.2.1 - Ensure a separate partition for containers has been created +[WARN] 1.1.7 - Ensure auditing is configured for Docker files and directories - docker.service (Automated) 
-[INFO] 1.2.2  - Ensure only trusted users are allowed to control Docker daemon +[INFO] 1.1.8 - Ensure auditing is configured for Docker files and directories - containerd.sock (Automated)
-[INFO]        docker:x:999:trainee +
-[WARN] 1.2.3  - Ensure auditing is configured for the Docker daemon +
-[WARN] 1.2.4  - Ensure auditing is configured for Docker files and directories - /var/lib/docker +
-[WARN] 1.2.5  - Ensure auditing is configured for Docker files and directories - /etc/docker +
-[WARN] 1.2.6  - Ensure auditing is configured for Docker files and directories - docker.service +
-[WARN] 1.2.7  - Ensure auditing is configured for Docker files and directories - docker.socket +
-[WARN] 1.2.8  - Ensure auditing is configured for Docker files and directories - /etc/default/docker +
-[INFO] 1.2.9  - Ensure auditing is configured for Docker files and directories - /etc/sysconfig/docker+
 [INFO]        * File not found [INFO]        * File not found
-[INFO] 1.2.10  - Ensure auditing is configured for Docker files and directories - /etc/docker/daemon.json+[WARN] 1.1.9 - Ensure auditing is configured for Docker files and directories - docker.socket (Automated) 
 +[WARN] 1.1.10 - Ensure auditing is configured for Docker files and directories - /etc/default/docker (Automated) 
 +[INFO] 1.1.11 - Ensure auditing is configured for Dockerfiles and directories - /etc/docker/daemon.json (Automated) 
 +[INFO]        * File not found 
 +[WARN] 1.1.12 - 1.1.12 Ensure auditing is configured for Dockerfiles and directories - /etc/containerd/config.toml (Automated) 
 +[INFO] 1.1.13 - Ensure auditing is configured for Docker files and directories - /etc/sysconfig/docker (Automated) 
 +[INFO]        * File not found 
 +[WARN] 1.1.14 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd (Automated) 
 +[WARN] 1.1.15 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd-shim (Automated) 
 +[INFO] 1.1.16 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd-shim-runc-v1 (Automated)
 [INFO]         * File not found [INFO]         * File not found
-[WARN] 1.2.11  - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd +[INFO] 1.1.17 - Ensure auditing is configured for Docker files and directories - /usr/bin/containerd-shim-runc-v2 (Automated)
-[INFO] 1.2.12  Ensure auditing is configured for Docker files and directories /usr/sbin/runc+
 [INFO]         * File not found [INFO]         * File not found
 +[WARN] 1.1.18 - Ensure auditing is configured for Docker files and directories - /usr/bin/runc (Automated)
 +[INFO] 1.2 - General Configuration
 +[NOTE] 1.2.1 - Ensure the container host has been Hardened (Manual)
 +[PASS] 1.2.2 - Ensure that the version of Docker is up to date (Manual)
 +[INFO]        * Using 19.03.4, verify is it up to date as deemed necessary
 ... ...
 </file> </file>
Ligne 525: Ligne 520:
  
 <file> <file>
-[WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon (Automated) 
 [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated) [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/run/containerd (Automated)
 [WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - /var/lib/docker (Automated) [WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - /var/lib/docker (Automated)
Ligne 540: Ligne 534:
 Ces avertissements sont présents parce que **auditd** n'est pas installé et parce qu'il n'y a pas de règles spécifiques au daemon Docker et ses répertoires et fichiers associés.  Ces avertissements sont présents parce que **auditd** n'est pas installé et parce qu'il n'y a pas de règles spécifiques au daemon Docker et ses répertoires et fichiers associés. 
  
-Editez le fichier **/etc/apt/sources.list** :+Editez le fichier **/etc/apt/sources.list** selon l'exemple suivant :
  
 <code> <code>
Ligne 553: Ligne 547:
 </code> </code>
  
-Exécutez la commande **apt-update**:+Exécutez la commande **apt-update** :
  
 <code> <code>
Ligne 578: Ligne 572:
 <code> <code>
 root@manager:~/docker-bench-security# vi /etc/audit/rules.d/audit.rules root@manager:~/docker-bench-security# vi /etc/audit/rules.d/audit.rules
 +
 root@manager:~/docker-bench-security# cat /etc/audit/rules.d/audit.rules root@manager:~/docker-bench-security# cat /etc/audit/rules.d/audit.rules
 ## First rule - delete all ## First rule - delete all
Ligne 730: Ligne 725:
 ====[WARN] 2.15 - Ensure live restore is enabled (Scored)==== ====[WARN] 2.15 - Ensure live restore is enabled (Scored)====
  
-The --live-restore option enables full support of daemon-less containers within Docker. It ensures that Docker does not stop containers on shutdown or restore and that it properly reconnects to the container when restarted.+L'option --live-restore permet une prise en charge complète des conteneurs sans démon dans Docker. Elle garantit que Docker n'arrête pas les conteneurs lors de l'arrêt ou de la restauration et qu'il se reconnecte correctement au conteneur lors du redémarrage.
  
 ====[WARN] 2.16 - Ensure Userland Proxy is Disabled (Scored)==== ====[WARN] 2.16 - Ensure Userland Proxy is Disabled (Scored)====
Ligne 749: Ligne 744:
 <code> <code>
 root@manager:~/docker-bench-security# vi /etc/docker/daemon.json root@manager:~/docker-bench-security# vi /etc/docker/daemon.json
 +
 root@manager:~/docker-bench-security# cat /etc/docker/daemon.json root@manager:~/docker-bench-security# cat /etc/docker/daemon.json
 { {
Ligne 776: Ligne 772:
  
 <code> <code>
-root@manager:~# cd docker-bench-security/ 
 root@manager:~/docker-bench-security# ./docker-bench-security.sh  root@manager:~/docker-bench-security# ./docker-bench-security.sh 
 ... ...
Ligne 1026: Ligne 1021:
  
 Cet avertissement est du au fait que les conteneurs ont automatiquement accès à la totalité de la RAM de l'hôte Docker : Cet avertissement est du au fait que les conteneurs ont automatiquement accès à la totalité de la RAM de l'hôte Docker :
 +
 +<code>
 +root@manager:~# docker run -d -p 8081:80 nginx
 +b04b2a6f0dd93da21a8b7640afc319406e42868a141f90936dbcf52ab5bffb0d
 +root@manager:~# docker stats
 +CONTAINER ID        NAME                 CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
 +b04b2a6f0dd9        dazzling_blackburn   0.00%               1.789MiB / 1.957GiB   0.09%               2.38kB / 0B         0B / 0B             2
 +^C
 +</code>
 +
 +Supprimez le conteneur et re-créez le avec une limite de mémoire :
  
 <code> <code>
Ligne 1050: Ligne 1056:
 </code> </code>
  
-Supprimez le conteneur et re-créez le avec une limite de mémoire :+Supprimez le conteneur et re-créez-le avec une limite de mémoire :
  
 <code> <code>
Ligne 1088: Ligne 1094:
  
 <code> <code>
-root@manager:~/docker-bench-security# docker exec mysql touch /write_a_file+root@manager:~/docker-bench-security# docker container exec mysql touch /write_a_file
 </code> </code>
  
-La Commande **docker diff** indique les différences apportées au conteneur par rapport à l'image dont il est issu :+La Commande **docker container diff** indique les différences apportées au conteneur par rapport à l'image dont il est issu :
  
 <code> <code>
Ligne 1129: Ligne 1135:
  
 <code> <code>
-root@manager:~/docker-bench-security# docker exec mysql touch /write_a_file+root@manager:~/docker-bench-security# docker container exec mysql touch /write_a_file
 touch: cannot touch '/write_a_file': Read-only file system touch: cannot touch '/write_a_file': Read-only file system
 </code> </code>
Ligne 1140: Ligne 1146:
  
 <code> <code>
-root@manager:~/docker-bench-security# docker diff mysql +root@manager:~/docker-bench-security# docker container diff mysql 
-root@manager:~/docker-bench-security#  +root@manager:~/docker-bench-security# 
 </code> </code>
  
Ligne 1150: Ligne 1156:
 ====[WARN] 5.14 - Ensure that the 'on-failure' container restart policy is set to '5' (Automated)==== ====[WARN] 5.14 - Ensure that the 'on-failure' container restart policy is set to '5' (Automated)====
  
-Cet avertissement concerne la politique de re-démarrage du conteneur. La politique **on-failure[:max-retries]** implique que le conteneur est re-démarré en cas d'arrêt du à une erreur qui se manifeste en tant que code de retour autre que zéro. La valeur de **max-retries** est le nombre de fois que Docker va essayer de re-démarrer le conteneur. Cette politique peut être mise en place au démarrage du conteneur, **par exemple** :+Cet avertissement concerne la politique de re-démarrage du conteneur. La politique **on-failure[:max-retries]** implique que le conteneur est re-démarré en cas d'arrêt du à une erreur qui se manifeste en tant que code de retour autre que zéro. La valeur de **max-retries** est le nombre de fois que Docker va essayer de re-démarrer le conteneur. Cette politique peut être mise en place au démarrage du conteneur, par exemple :
  
-  # docker run -d --name mysql --read-only --restart on-failure:5 -v /var/lib/mysql -v /tmp -v /var/run/mysqld -e MYSQL_ROOT_PASSWORD=password mysql+  # docker container run -d --name mysql --read-only --restart on-failure:5 -v /var/lib/mysql -v /tmp -v /var/run/mysqld -e MYSQL_ROOT_PASSWORD=password mysql
  
 Pour plus d'informations, consultez cette **[[https://docs.docker.com/config/containers/start-containers-automatically/|page]]**. Pour plus d'informations, consultez cette **[[https://docs.docker.com/config/containers/start-containers-automatically/|page]]**.
Ligne 1160: Ligne 1166:
 Voir l'avertissement 4.6. Voir l'avertissement 4.6.
  
-====5.28 - Ensure that the PIDs cgroup limit is used (Automated)====+====[WARN] 5.28 - Ensure that the PIDs cgroup limit is used (Automated)====
  
-Sans l'utilisation de l'option **--pids-limit** un conteneur pourrait être victime d'une attaque de type **[[https://fr.wikipedia.org/wiki/Fork_bomb|Fork Bomb]]**, un type spécifique de dénie de service. Ce type d'attaque peut faire crasher l'hôte Docker et le seul remède est de re-démarrer l'hôte. Voici **un exemple** d'un Fork Bomb (**NE PAS** exécuter la commande suivante) :+Sans l'utilisation de l'option **--pids-limit** un conteneur pourrait être victime d'une attaque de type **[[https://fr.wikipedia.org/wiki/Fork_bomb|Fork Bomb]]**, un type spécifique de dénie de service. Ce type d'attaque peut faire crasher l'hôte Docker et le seul remède est de re-démarrer l'hôte. Voici un exemple d'un Fork Bomb :
  
 <code> <code>
-# docker run -u 1000 ubuntu bash -c ":() { : | : & }; :; while [[ true ]]; do sleep 1; done"+root@manager:~/docker-bench-security# docker run -u 1000 ubuntu bash -c ":() { : | : & }; :; while [[ true ]]; do sleep 1; done"
 </code> </code>
  
-L'hôte Docker **manager** crash.  +L'hôte Docker **manager** crash. Après avoir re-démarrer la machine virtuelle, créez de nouveau le conteneur en utilisant l'option **--pids-limit** :
- +
-Pour éviter ceci, créez un conteneur en utilisant l'option **--pids-limit** :+
  
 <code> <code>
Ligne 1281: Ligne 1285:
 <code> <code>
 root@manager:~# docker image pull i2tch/docker:unsigned root@manager:~# docker image pull i2tch/docker:unsigned
-ERRO[0000] Metadata for targets expired                  +Error: remote trust data does not exist for docker.io/i2tch/docker: notary.docker.io does not have trust data for docker.io/i2tch/docker
-ERRO[0000] Metadata for targets expired                  +
-Error: remote repository docker.io/i2tch/docker out-of-datetargets expired at Thu Nov 10 10:00:59 CET 2022+
 </code> </code>
  
 <WRAP center round important 50%> <WRAP center round important 50%>
-**Important** : Notez que vous ne pouvez pas effectuer l'opération.+**Important** : Notez l'erreur **Error: remote trust data does not exist for docker.io/i2tch/docker ...**. En effet Docker Trust empêche l'utilisation des images non-signées.
 </WRAP> </WRAP>
  
Ligne 1295: Ligne 1297:
 root@manager:~# docker image pull centos root@manager:~# docker image pull centos
 Using default tag: latest Using default tag: latest
-Pull (1 of 1): centos:latest@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 +Pull (1 of 1): centos:latest@sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9 
-sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177: Pulling from library/centos +sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9: Pulling from library/centos 
-a1d0c7532777: Pull complete  +729ec3a6ada3: Pull complete  
-Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 +Digest: sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9 
-Status: Downloaded newer image for centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 +Status: Downloaded newer image for centos@sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9 
-Tagging centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 as centos:latest+Tagging centos@sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9 as centos:latest
 docker.io/library/centos:latest docker.io/library/centos:latest
 </code> </code>
Ligne 1309: Ligne 1311:
 root@manager:~# docker images root@manager:~# docker images
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
-mysql               latest              380f0456d1c1        days ago          619MB +ubuntu              latest              775349758637        days ago          64.2MB 
-ubuntu              latest              174c8c134b2a        6 days ago          77.9MB +nginx               latest              540a289bab6c        2 weeks ago         126MB 
-alpine              latest              f8c20f8bbcb6        11 days ago         7.38MB +alpine              latest              965ea09ff2eb        2 weeks ago         5.55MB 
-nginx               latest              a6bd71f48f68        3 weeks ago         187MB +mysql               latest              c8ee894bd2bd        3 weeks ago         456MB 
-centos              latest              5d0da3dc9764        2 years ago         231MB+centos              latest              0f3e07c0138f        5 weeks ago         220MB
 </code> </code>
  
Ligne 1337: Ligne 1339:
 docker.io/i2tch/docker:unsigned docker.io/i2tch/docker:unsigned
  
-root@manager:~# docker images+root@manager:~# docker image ls
 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
-mysql               latest              380f0456d1c1        days ago          619MB +ubuntu              latest              775349758637        days ago          64.2MB 
-ubuntu              latest              174c8c134b2a        6 days ago          77.9MB +nginx               latest              540a289bab6c        2 weeks ago         126MB 
-alpine              latest              f8c20f8bbcb6        11 days ago         7.38MB +alpine              latest              965ea09ff2eb        2 weeks ago         5.55MB 
-nginx               latest              a6bd71f48f68        3 weeks ago         187MB +mysql               latest              c8ee894bd2bd        3 weeks ago         456MB 
-centos              latest              5d0da3dc9764        2 years ago         231MB +centos              latest              0f3e07c0138f        5 weeks ago         220MB 
-i2tch/docker        unsigned            9b915a241e29        years ago         212MB+i2tch/docker        unsigned            9b915a241e29        years ago         212MB
  
 root@manager:~# docker rmi i2tch/docker:unsigned root@manager:~# docker rmi i2tch/docker:unsigned
Ligne 1372: Ligne 1374:
 ====8.3 - DCT et la commande docker push==== ====8.3 - DCT et la commande docker push====
  
-Pour envoyer l'image dont l'IMAGE ID est **f8c20f8bbcb6** dans le registry privé, le tag de l'image doit être modifié :+Pour envoyer l'image dont l'IMAGE ID est **965ea09ff2eb** dans le registry privé, le tag de l'image doit être modifié :
  
 <code> <code>
Ligne 1389: Ligne 1391:
 mysql                  latest              c8ee894bd2bd        3 weeks ago         456MB mysql                  latest              c8ee894bd2bd        3 weeks ago         456MB
 centos                 latest              0f3e07c0138f        5 weeks ago         220MB centos                 latest              0f3e07c0138f        5 weeks ago         220MB
- 
-root@manager:~# docker images 
-REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE 
-mysql                   latest              380f0456d1c1        6 days ago          619MB 
-ubuntu                  latest              174c8c134b2a        6 days ago          77.9MB 
-<votre_compte>/docker   alpine              f8c20f8bbcb6        11 days ago         7.38MB 
-alpine                  latest              f8c20f8bbcb6        11 days ago         7.38MB 
-nginx                   latest              a6bd71f48f68        3 weeks ago         187MB 
-centos                  latest              5d0da3dc9764        2 years ago         231MB 
 </code> </code>
  
Ligne 1469: Ligne 1462:
 <code> <code>
 root@manager:~# mkdir nottrusted root@manager:~# mkdir nottrusted
 +
 root@manager:~# cd nottrusted/ root@manager:~# cd nottrusted/
 +
 root@manager:~/nottrusted# vi Dockerfile root@manager:~/nottrusted# vi Dockerfile
 +
 root@manager:~/nottrusted# cat Dockerfile root@manager:~/nottrusted# cat Dockerfile
 FROM docker/trusttest:latest FROM docker/trusttest:latest
Ligne 1530: Ligne 1526:
 <code> <code>
 root@manager:~/nottrusted# docker tag <votre_compte>/docker:nottrusted <votre_compte>/otherimage:latest root@manager:~/nottrusted# docker tag <votre_compte>/docker:nottrusted <votre_compte>/otherimage:latest
 +
 root@manager:~/nottrusted# docker images root@manager:~/nottrusted# docker images
 REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
 <votre_compte>/docker        nottrusted          686e85ee76b8        9 minutes ago       5.03MB <votre_compte>/docker        nottrusted          686e85ee76b8        9 minutes ago       5.03MB
 <votre_compte>/otherimage    latest              686e85ee76b8        9 minutes ago       5.03MB <votre_compte>/otherimage    latest              686e85ee76b8        9 minutes ago       5.03MB
-mysql                        latest              380f0456d1c1        6 days ago           619MB +ubuntu                       latest              775349758637        days ago          64.2MB 
-ubuntu                       latest              174c8c134b2a        days ago           77.9MB +nginx                        latest              540a289bab6c        2 weeks ago         126MB 
-alpine                       latest              f8c20f8bbcb6        11 days ago          7.38MB +<votre_compte>/docker        alpine              965ea09ff2eb        2 weeks ago         5.55MB 
-<votre_compte>/docker        alpine              f8c20f8bbcb6        11 days ago          7.38MB +alpine                       latest              965ea09ff2eb        2 weeks ago         5.55MB 
-nginx                        latest              a6bd71f48f68        3 weeks ago          187MB +mysql                        latest              c8ee894bd2bd        3 weeks ago         456MB 
-centos                       latest              5d0da3dc9764        2 years ago          231MB+centos                       latest              0f3e07c0138f        5 weeks ago         220MB
 docker/trusttest             latest              cc7629d1331a        4 years ago         5.03MB docker/trusttest             latest              cc7629d1331a        4 years ago         5.03MB
  
Ligne 1723: Ligne 1720:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 50%>
 **Important** : Il existe un autre mécanisme de signatures cryptographiques qui permet de certifier le contenu des images mises à disposition sur une Registry. Appelé **Notary**, ce système a été développé par la communauté Docker et intègre une partie de la spécification de **[[https://theupdateframework.io/|The Update Framework]]** (TUF). Pour plus d'informations, consultez cet **[[https://blog.octo.com/la-signature-dimages-docker-sur-une-registry-avec-notary/#:~:text=Notary%20est%20un%20m%C3%A9canisme%20de,environnement%20de%20production%20par%20exemple|article]]**. **Important** : Il existe un autre mécanisme de signatures cryptographiques qui permet de certifier le contenu des images mises à disposition sur une Registry. Appelé **Notary**, ce système a été développé par la communauté Docker et intègre une partie de la spécification de **[[https://theupdateframework.io/|The Update Framework]]** (TUF). Pour plus d'informations, consultez cet **[[https://blog.octo.com/la-signature-dimages-docker-sur-une-registry-avec-notary/#:~:text=Notary%20est%20un%20m%C3%A9canisme%20de,environnement%20de%20production%20par%20exemple|article]]**.
 </WRAP> </WRAP>
Ligne 1842: Ligne 1839:
 </code> </code>
  
-Modifiez l'entrée pour l'adresse 10.0.2.61 dans le fichier **/etc/hosts** du manager :+Modifiez l'entrée pour l'adresse 10.0.2.45 dans le fichier **/etc/hosts** du manager :
  
 <code> <code>
Ligne 1848: Ligne 1845:
 root@manager:~# cat /etc/hosts root@manager:~# cat /etc/hosts
 127.0.0.1 localhost 127.0.0.1 localhost
-10.0.2.60 debian9.i2tch.loc debian9 +10.0.2.46 debian11.i2tch.loc debian11 
-10.0.2.61 myregistry.i2tch.loc    myregistry+10.0.2.45 myregistry.i2tch.loc    myregistry
 10.0.2.62 manager.i2tch.loc manager 10.0.2.62 manager.i2tch.loc manager
 10.0.2.63 worker1.i2tch.loc worker1 10.0.2.63 worker1.i2tch.loc worker1
Ligne 2006: Ligne 2003:
 ====9.5 - Configuration du Client==== ====9.5 - Configuration du Client====
  
-Transférez ensuite le certificat du CA ainsi que le certificat et la clef privée du client vers la VM **debian91** :+Transférez ensuite le certificat du CA ainsi que le certificat et la clef privée du client vers la VM **10.0.2.45** :
  
 <code> <code>
-root@manager:~# scp ca.pem key.pem cert.pem trainee@10.0.2.61:/home/trainee/ +root@manager:~# scp ca.pem key.pem cert.pem trainee@10.0.2.45:/home/trainee/ 
-The authenticity of host '10.0.2.61 (10.0.2.61)' can't be established.+The authenticity of host '10.0.2.45 (10.0.2.45)' can't be established.
 ECDSA key fingerprint is SHA256:sEfHBv9azmK60cjqF/aJgUc9jg56slNaZQdAUcvBOvE. ECDSA key fingerprint is SHA256:sEfHBv9azmK60cjqF/aJgUc9jg56slNaZQdAUcvBOvE.
 Are you sure you want to continue connecting (yes/no)? yes Are you sure you want to continue connecting (yes/no)? yes
-Warning: Permanently added '10.0.2.61' (ECDSA) to the list of known hosts. +Warning: Permanently added '10.0.2.45' (ECDSA) to the list of known hosts. 
-trainee@10.0.2.61's password: +trainee@10.0.2.45's password: trainee
 ca.pem                                                                                                                                 100% 2163   917.8KB/  00:00     ca.pem                                                                                                                                 100% 2163   917.8KB/  00:00    
 key.pem                                                                                                                                100% 3243     3.0MB/  00:00    key.pem                                                                                                                                100% 3243     3.0MB/  00:00   
Ligne 2020: Ligne 2017:
 </code> </code>
  
-Lancez la commande **docker version** sur la VM **debian91** :+Lancez la commande **docker version** sur la VM **10.0.2.45** :
  
 <code> <code>
Ligne 2075: Ligne 2072:
 </code> </code>
  
-Maintenant la connection est sécurisée par défaut :+Maintenant la connexion est sécurisée par défaut :
  
 <code> <code>
Ligne 2093: Ligne 2090:
 ----- -----
  
-Copyright © 2023 Hugh Norris.+Copyright © 2024 Hugh Norris.
Menu