Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:docker3:drf06 [2023/12/19 06:49] – admin | elearning:workbooks:docker3:drf06 [2024/02/21 13:40] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
- | Version : **2023.01** | + | Version : **2024.01** |
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
Ligne 99: | Ligne 99: | ||
root@manager: | root@manager: | ||
h9tsfbfwz6o0sd35roklwpopi | h9tsfbfwz6o0sd35roklwpopi | ||
- | |||
root@manager: | root@manager: | ||
5lx4zydpfocwgpdto0yy1jod9 | 5lx4zydpfocwgpdto0yy1jod9 | ||
Ligne 230: | Ligne 229: | ||
</ | </ | ||
- | Connectez-vous maintenant à Apache Guacamole et ouvrez un navigateur web dans la machine virtuelle | + | Connectez-vous maintenant à Apache Guacamole et ouvrez un navigateur web dans la machine virtuelle. Naviguez ensuite à l' |
{{ : | {{ : | ||
Ligne 244: | Ligne 243: | ||
NAME SERVICES | NAME SERVICES | ||
postgres | postgres | ||
- | |||
root@manager: | root@manager: | ||
Removing service postgres_adminer | Removing service postgres_adminer | ||
Ligne 258: | Ligne 256: | ||
root@manager: | root@manager: | ||
docker: | docker: | ||
- | |||
root@manager: | root@manager: | ||
- | |||
root@manager: | root@manager: | ||
déconnexion | déconnexion | ||
- | |||
trainee@manager: | trainee@manager: | ||
Got permission denied while trying to connect to the Docker daemon socket at unix:/// | Got permission denied while trying to connect to the Docker daemon socket at unix:/// | ||
- | |||
trainee@manager: | trainee@manager: | ||
- | |||
trainee@manager: | trainee@manager: | ||
CONTAINER ID IMAGE | CONTAINER ID IMAGE | ||
d02c6115724c | d02c6115724c | ||
- | |||
trainee@manager: | trainee@manager: | ||
alpine1 | alpine1 | ||
- | |||
trainee@manager: | trainee@manager: | ||
a214e2df0499c97e8da25a6c9ea751ac75344c9bcd7d238f8cb8d5c777510ab9 | a214e2df0499c97e8da25a6c9ea751ac75344c9bcd7d238f8cb8d5c777510ab9 | ||
- | |||
trainee@manager: | trainee@manager: | ||
CONTAINER ID IMAGE | CONTAINER ID IMAGE | ||
Ligne 304: | Ligne 294: | ||
< | < | ||
trainee@manager: | trainee@manager: | ||
- | Mot de passe : fenestros | + | Password: fenestros |
root@manager: | root@manager: | ||
- | Clonage dans ' | + | Cloning in ' |
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' | + | Receiving objects: 100% (1921/ |
- | Résolution des deltas: 100% (1339/ | + | Delta resolution: 100% (1339/ |
</ | </ | ||
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] | + | [INFO] |
[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 -/ | [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/ | ||
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 |
- | [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 |
- | [INFO] 1.1.2 - Ensure Docker is up to date | + | [INFO] |
- | [INFO] | + | [WARN] 1.1.3 - Ensure auditing is configured for the Docker daemon |
- | [INFO] | + | [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/ | |
- | [INFO] 1.2 - Linux Hosts Specific Configuration | + | [WARN] 1.1.6 - Ensure auditing is configured for Docker files and directories - /etc/docker |
- | [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] | + | |
- | [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 - / | + | |
- | [INFO] 1.2.9 - Ensure auditing is configured for Docker files and directories - / | + | |
[INFO] | [INFO] | ||
- | [INFO] 1.2.10 - Ensure auditing is configured for Docker files and directories - / | + | [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 - / | ||
+ | [INFO] 1.1.11 - Ensure auditing is configured for Dockerfiles | ||
+ | [INFO] | ||
+ | [WARN] 1.1.12 - 1.1.12 Ensure auditing is configured for Dockerfiles and directories - / | ||
+ | [INFO] 1.1.13 - Ensure auditing is configured for Docker files and directories - / | ||
+ | [INFO] | ||
+ | [WARN] 1.1.14 - Ensure auditing is configured for Docker files and directories - / | ||
+ | [WARN] 1.1.15 - Ensure auditing is configured for Docker files and directories - / | ||
+ | [INFO] 1.1.16 - Ensure auditing is configured for Docker files and directories - / | ||
[INFO] | [INFO] | ||
- | [WARN] 1.2.11 | + | [INFO] 1.1.17 - Ensure auditing is configured for Docker files and directories - / |
- | [INFO] 1.2.12 | + | |
[INFO] | [INFO] | ||
+ | [WARN] 1.1.18 - Ensure auditing is configured for Docker files and directories - / | ||
+ | [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] | ||
... | ... | ||
</ | </ | ||
Ligne 525: | Ligne 520: | ||
< | < | ||
- | [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 -/ | [WARN] 1.1.4 - Ensure auditing is configured for Docker files and directories -/ | ||
[WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - / | [WARN] 1.1.5 - Ensure auditing is configured for Docker files and directories - / | ||
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 **/ | + | Editez le fichier **/ |
< | < | ||
Ligne 553: | Ligne 547: | ||
</ | </ | ||
- | Exécutez la commande **apt-update**: | + | Exécutez la commande **apt-update** : |
< | < | ||
Ligne 578: | Ligne 572: | ||
< | < | ||
root@manager: | root@manager: | ||
+ | |||
root@manager: | root@manager: | ||
## 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 | + | L' |
====[WARN] 2.16 - Ensure Userland Proxy is Disabled (Scored)==== | ====[WARN] 2.16 - Ensure Userland Proxy is Disabled (Scored)==== | ||
Ligne 749: | Ligne 744: | ||
< | < | ||
root@manager: | root@manager: | ||
+ | |||
root@manager: | root@manager: | ||
{ | { | ||
Ligne 776: | Ligne 772: | ||
< | < | ||
- | root@manager: | ||
root@manager: | root@manager: | ||
... | ... | ||
Ligne 1026: | Ligne 1021: | ||
Cet avertissement est du au fait que les conteneurs ont automatiquement accès à la totalité de la RAM de l' | Cet avertissement est du au fait que les conteneurs ont automatiquement accès à la totalité de la RAM de l' | ||
+ | |||
+ | < | ||
+ | root@manager: | ||
+ | b04b2a6f0dd93da21a8b7640afc319406e42868a141f90936dbcf52ab5bffb0d | ||
+ | root@manager: | ||
+ | CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS | ||
+ | b04b2a6f0dd9 | ||
+ | ^C | ||
+ | </ | ||
+ | |||
+ | Supprimez le conteneur et re-créez le avec une limite de mémoire : | ||
< | < | ||
Ligne 1050: | Ligne 1056: | ||
</ | </ | ||
- | 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 : |
< | < | ||
Ligne 1088: | Ligne 1094: | ||
< | < | ||
- | root@manager: | + | root@manager: |
</ | </ | ||
- | La Commande **docker diff** indique les différences apportées au conteneur par rapport à l' | + | La Commande **docker |
< | < | ||
Ligne 1129: | Ligne 1135: | ||
< | < | ||
- | root@manager: | + | root@manager: |
touch: cannot touch '/ | touch: cannot touch '/ | ||
</ | </ | ||
Ligne 1140: | Ligne 1146: | ||
< | < | ||
- | root@manager: | + | root@manager: |
- | root@manager: | + | root@manager: |
</ | </ | ||
Ligne 1150: | Ligne 1156: | ||
====[WARN] 5.14 - Ensure that the ' | ====[WARN] 5.14 - Ensure that the ' | ||
- | Cet avertissement concerne la politique de re-démarrage du conteneur. La politique **on-failure[: | + | Cet avertissement concerne la politique de re-démarrage du conteneur. La politique **on-failure[: |
- | # docker run -d --name mysql --read-only --restart on-failure: | + | # docker |
Pour plus d' | Pour plus d' | ||
Ligne 1160: | Ligne 1166: | ||
Voir l' | Voir l' | ||
- | ====5.28 - Ensure that the PIDs cgroup limit is used (Automated)==== | + | ====[WARN] |
- | Sans l' | + | Sans l' |
< | < | ||
- | # docker run -u 1000 ubuntu bash -c ":() { : | : & }; :; while [[ true ]]; do sleep 1; done" | + | root@manager: |
</ | </ | ||
- | L' | + | L' |
- | + | ||
- | Pour éviter ceci, créez | + | |
< | < | ||
Ligne 1281: | Ligne 1285: | ||
< | < | ||
root@manager: | root@manager: | ||
- | ERRO[0000] Metadata for targets expired | + | Error: remote |
- | ERRO[0000] Metadata for targets expired | + | |
- | Error: remote | + | |
</ | </ | ||
<WRAP center round important 50%> | <WRAP center round important 50%> | ||
- | **Important** : Notez que vous ne pouvez pas effectuer | + | **Important** : Notez l'erreur **Error: remote trust data does not exist for docker.io/ |
</ | </ | ||
Ligne 1295: | Ligne 1297: | ||
root@manager: | root@manager: | ||
Using default tag: latest | Using default tag: latest | ||
- | Pull (1 of 1): centos: | + | Pull (1 of 1): centos: |
- | sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177: Pulling from library/ | + | sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9: Pulling from library/ |
- | a1d0c7532777: Pull complete | + | 729ec3a6ada3: Pull complete |
- | Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 | + | Digest: sha256:f94c1d992c193b3dc09e297ffd54d8a4f1dc946c37cbeceb26d35ce1647f88d9 |
- | Status: Downloaded newer image for centos@sha256: | + | Status: Downloaded newer image for centos@sha256: |
- | Tagging centos@sha256: | + | Tagging centos@sha256: |
docker.io/ | docker.io/ | ||
</ | </ | ||
Ligne 1309: | Ligne 1311: | ||
root@manager: | root@manager: | ||
REPOSITORY | REPOSITORY | ||
- | mysql latest | + | ubuntu |
- | ubuntu | + | nginx latest |
- | alpine | + | alpine |
- | nginx latest | + | mysql latest |
- | centos | + | centos |
</ | </ | ||
Ligne 1337: | Ligne 1339: | ||
docker.io/ | docker.io/ | ||
- | root@manager: | + | root@manager: |
REPOSITORY | REPOSITORY | ||
- | mysql latest | + | ubuntu |
- | ubuntu | + | nginx latest |
- | alpine | + | alpine |
- | nginx latest | + | mysql latest |
- | centos | + | centos |
- | i2tch/ | + | i2tch/ |
root@manager: | root@manager: | ||
Ligne 1372: | Ligne 1374: | ||
====8.3 - DCT et la commande docker push==== | ====8.3 - DCT et la commande docker push==== | ||
- | Pour envoyer l' | + | Pour envoyer l' |
< | < | ||
Ligne 1389: | Ligne 1391: | ||
mysql latest | mysql latest | ||
centos | centos | ||
- | |||
- | root@manager: | ||
- | REPOSITORY | ||
- | mysql | ||
- | ubuntu | ||
- | < | ||
- | alpine | ||
- | nginx | ||
- | centos | ||
</ | </ | ||
Ligne 1469: | Ligne 1462: | ||
< | < | ||
root@manager: | root@manager: | ||
+ | |||
root@manager: | root@manager: | ||
+ | |||
root@manager: | root@manager: | ||
+ | |||
root@manager: | root@manager: | ||
FROM docker/ | FROM docker/ | ||
Ligne 1530: | Ligne 1526: | ||
< | < | ||
root@manager: | root@manager: | ||
+ | |||
root@manager: | root@manager: | ||
REPOSITORY | REPOSITORY | ||
< | < | ||
< | < | ||
- | mysql latest | + | ubuntu |
- | ubuntu | + | nginx |
- | alpine | + | < |
- | < | + | alpine |
- | nginx | + | mysql |
- | centos | + | centos |
docker/ | docker/ | ||
Ligne 1723: | Ligne 1720: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**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:// | **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:// | ||
</ | </ | ||
Ligne 1842: | Ligne 1839: | ||
</ | </ | ||
- | Modifiez l' | + | Modifiez l' |
< | < | ||
Ligne 1848: | Ligne 1845: | ||
root@manager: | root@manager: | ||
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 | + | 10.0.2.45 myregistry.i2tch.loc |
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** : |
< | < | ||
- | root@manager: | + | root@manager: |
- | The authenticity of host ' | + | The authenticity of host ' |
ECDSA key fingerprint is SHA256: | ECDSA key fingerprint is SHA256: | ||
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 ' | + | Warning: Permanently added ' |
- | trainee@10.0.2.61's password: | + | trainee@10.0.2.45's password: |
ca.pem | ca.pem | ||
key.pem | key.pem | ||
Ligne 2020: | Ligne 2017: | ||
</ | </ | ||
- | Lancez la commande **docker version** sur la VM **debian91** : | + | Lancez la commande **docker version** sur la VM **10.0.2.45** : |
< | < | ||
Ligne 2075: | Ligne 2072: | ||
</ | </ | ||
- | Maintenant la connection | + | Maintenant la connexion |
< | < | ||
Ligne 2093: | Ligne 2090: | ||
----- | ----- | ||
- | Copyright © 2023 Hugh Norris. | + | Copyright © 2024 Hugh Norris. |