Ceci est une ancienne révision du document !
Table des matières
Version : 2022.01
Dernière mise-à-jour : 2022/07/24 09:53
DOF600 - Présentation de la Formation
Contenu du Module
- DOF600 - Présentation de la Formation.
- Contenu du Module
- Prérequis
- Matériel
- Logiciels
- Internet
- Utilisation de l'Infrastructure
- Programme de la Formation
Prérequis
Matériel
- Un poste (MacOS, Linux, Windows™ ou Solaris™),
- Clavier AZERTY FR ou QWERTY US,
- 4 Go de RAM minimum,
- Processeur 2 cœurs minimum,
- Un casque ou des écouteurs,
- Un micro (optionnel).
Logiciels
- Web Chrome version 72+ ou
- Microsoft Edge version 79+ ou
- Firefox version 65+.
Internet
- Un accès à Internet rapide (4G minimum) SANS passer par un proxy,
- Accès débloqué aux ports 80 et 443 à : https://ittraining.io ainsi que ses sous-domaines.
Utilisation de l'Infrastructure
Au départ de votre formation, votre formateur vous attribue un ID allant de Trainee01 à Trainee15.
Pour avoir accès à vos machines virtuelles, vous devez d'abord vous connecter à votre gateway vers notre cloud.
Il existe trois méthodes de connexion :
1 - RDP, la méthode conseillée
Ce type de connexion implique que vous ayez accès au port 3389 sur un de nos serveurs. En cas d'échec, passez directement à la méthode 3 - Guacamole, en utilisant un Navigateur Web.
La connexion s'effectue avec Remote Desktop Connection sous Windows™ ou avec Remmina sous Linux ou avec Microsoft Remote Desktop for Mac ou Devolutions Remote Desktop Manager sous MacOS.
Les adresses IP de connexion sont les suivantes :
ID | Adresse IP |
---|---|
Trainee01 | 79.137.68.149 |
Trainee02 | 79.137.68.184 |
Trainee03 | 79.137.68.171 |
Trainee04 | 79.137.68.96 |
Trainee05 | 145.239.1.195 |
Trainee06 | 145.239.1.196 |
Trainee07 | 145.239.1.235 |
Trainee08 | 145.239.1.236 |
Trainee09 | 79.137.68.45 |
Trainee10 | 79.137.68.27 |
Trainee11 | 149.56.31.150 |
Trainee12 | 54.39.53.71 |
Trainee14 | 51.89.195.112 |
Trainee15 | 51.89.152.99 |
Utilisez le nom d'utilisateur et le mot de passe qui vous ont été fournis par votre formateur.
2 - SSH, via le port 2222
Ce type de connexion implique que vous ayez accès au port 2222 sur un de nos serveurs. En cas d'échec, passez à la méthode 3 - Guacamole, en utilisant un Navigateur Web.
Utilisez la commande appropriée issue du tableau suivant dans un terminal sur votre poste :
ID | Commande |
---|---|
Trainee01 | ssh -l trainee compute01.ittraining.network -p 2222 |
Trainee02 | ssh -l trainee compute02.ittraining.network -p 2222 |
Trainee03 | ssh -l trainee compute03.ittraining.network -p 2222 |
Trainee04 | ssh -l trainee compute04.ittraining.network -p 2222 |
Trainee05 | ssh -l trainee compute05.ittraining.network -p 2222 |
Trainee06 | ssh -l trainee compute06.ittraining.network -p 2222 |
Trainee07 | ssh -l trainee compute07.ittraining.network -p 2222 |
Trainee08 | ssh -l trainee compute08.ittraining.network -p 2222 |
Trainee09 | ssh -l trainee compute09.ittraining.network -p 2222 |
Trainee10 | ssh -l trainee compute10.ittraining.network -p 2222 |
Trainee11 | ssh -l trainee compute11.ittraining.network -p 2222 |
Trainee12 | ssh -l trainee compute12.ittraining.network -p 2222 |
Trainee14 | ssh -l trainee compute14.ittraining.network -p 2222 |
Trainee15 | ssh -l trainee compute15.ittraining.network -p 2222 |
Utilisez le mot de passe qui vous a été fourni par votre formateur.
3 - Guacamole, en utilisant un Navigateur Web
Ouvrez votre navigateur web Chrome, Edge ou Firefox et saisissez l'URL selon le tableau ci-dessous :
ID | URL ( Notez http: et non https: ) |
---|---|
Trainee01 | http://compute01.ittraining.network |
Trainee02 | http://compute02.ittraining.network |
Trainee03 | http://compute03.ittraining.network |
Trainee04 | http://compute04.ittraining.network |
Trainee05 | http://compute05.ittraining.network |
Trainee06 | http://compute06.ittraining.network |
Trainee07 | http://compute07.ittraining.network |
Trainee08 | http://compute08.ittraining.network |
Trainee09 | http://compute09.ittraining.network |
Trainee10 | http://compute10.ittraining.network |
Trainee11 | http://compute11.ittraining.network |
Trainee12 | http://compute12.ittraining.network |
Trainee14 | http://compute14.ittraining.network |
Trainee15 | http://compute15.ittraining.network |
Utilisez le nom d'utilisateur et le mot de passe qui vous ont été fournis par votre formateur.
Cliquez ensuite sur la connexion Gateway_SSH.
Si vous ne savez pas copier / coller en utilisant Guacamole, consultez cet article (En).
Les informations à noter pour une utilisation courante sont :
Machine | Nom d'hôte | Adresse IP |
---|---|---|
Debian_9 | debian9.i2tch.loc | 10.0.2.60 |
Debian_91 | debian91.i2tch.loc | 10.0.2.61 |
Manager | manager.i2tch.loc | 10.0.2.62 |
Worker01 | worker1.i2tch.loc | 10.0.2.63 |
Worker02 | worker2.i2tch.loc | 10.0.2.64 |
Les noms d'utilisateurs et les mots de passe sont identiques pour chaque machine virtuelle Linux :
Utilisateur | Mot de Passe |
---|---|
trainee | trainee |
root | fenestros |
Dernièrement connectez-vous à la machine virtuelle utilisée pour cette formation :
$ ssh -l trainee 10.0.2.60
Programme de la Formation
Jour #1
- DOF600 - Présentation de la Formation - 1 heure.
- Prérequis
- Matériel
- Logiciels
- Internet
- Utilisation de l'Infrastructure
- Programme de la Formation
- DOF601 - La Virtualisation par Isolation - 3 heures.
- Présentation de la Virtualisation par Isolation
- Historique
- Présentation des Namespaces
- Présentation des CGroups
- LAB #1 - Travailler avec les CGroups
- 1.1 - Limitation de la Mémoire
- 1.2 - Le Paquet cgroup-tools
- La commande cgcreate
- La Commande cgexec
- La Commande cgdelete
- Le Fichier /etc/cgconfig.conf
- Présentation de Linux Containers
- LAB #2 - Travailler avec LXC
- 2.1 - Installation
- 2.2 - Création d'un Conteneur Simple
- 2.3 - Démarrage d'un Conteneur Simple
- 2.4 - S'attacher à un Conteneur Simple
- 2.5 - Commandes LXC de Base
- La Commande lxc-console
- La Commande lxc-stop
- La Commande lxc-execute
- La Commande lxc-info
- La Commande lxc-freeze
- La Commande lxc-unfreeze
- Autres commandes
- 2.6 - Création d'un Conteneur Non-Privilégié
- User Namespaces
- Création d'un Utilisateur Dédié
- Création du Mappage
- Création du Conteneur
- Contrôle du Mappage
- 2.7 - Création d'un Conteneur Éphémère
- La Commande lxc-copy
- 2.8 - Sauvegarde des Conteneurs
- La Commande lxc-snapshot
- DOF602 - Démarrer avec Docker - 3 heures.
- Présentation de Docker
- LAB #1 - Travailler avec Docker
- 1.1 - Installer docker
- 1.2 - Démarrer un Conteneur
- 1.3 - Consulter la Liste des Conteneurs et Images
- 1.4 - Rechercher une Image dans un Dépôt
- 1.5 - Supprimer un Conteneur d'une Image
- 1.6 - Créer une Image à partir d'un Conteneur Modifié
- 1.7 - Supprimer une Image
- 1.8 - Créer un Conteneur avec un Nom Spécifique
- 1.9 - Exécuter une Commande dans un Conteneur
- 1.10 - Injecter des Variables d'Environnement dans un Conteneur
- 1.11 - Modifier le Nom d'Hôte d'un Conteneur
- 1.12 - Mapper des Ports d'un Conteneur
- 1.13 - Démarrer un Conteneur en mode Détaché
- 1.14 - Accéder aux Services d'un Conteneur de l'Extérieur
- 1.15 - Arrêter et Démarrer un Conteneur
- 1.16 - Utiliser des Signaux avec un Conteneur
- 1.17 - Forcer la Suppression d'un Conteneur en cours d'Exécution
- 1.18 - Utilisation Simple d'un Volume
- 1.19 - Télécharger une image sans créer un conteneur
- 1.20 - S'attacher à un conteneur en cours d'exécution
- 1.21 - Installer un logiciel dans le conteneur
- 1.22 - Utilisation de la commande docker commit
- 1.23 - Se connecter au serveur du conteneur de l'extérieur
Jour #2
- DOF603 - Gérer et Stocker les Images Docker - 2 heures.
- LAB #1 - Re-créer une image officielle docker
- 1.1 - Utilisation d'un Dockerfile
- 1.2 - FROM
- 1.3 - RUN
- 1.4 - ENV
- 1.5 - VOLUME
- 1.6 - COPY
- 1.7 - ENTRYPOINT
- 1.8 - EXPOSE
- 1.9 - CMD
- 1.10 - Autres Commandes
- LAB #2 - Créer un Dockerfile
- 2.1 - Création et test du script
- 2.2 - Bonnes Pratiques liées au Cache
- LAB #3 - Installer un Registre Privé
- 3.1 - Créer un Registre local,
- 3.2 - Créer un Serveur de Registre Dédié
- Configurer le clone comme Registre Dédié
- Configurer le Client
- DOF604 - Gestion des Volumes, du Réseau et des Ressources - 2 heures.
- LAB #1 - Gestion des Volumes
- 1.1 - Gestion Automatique par Docker
- 1.2 - Gestion Manuelle d'un Volume
- LAB #2 - Gestion du Réseau
- 2.1 - L'Approche Réseau Docker
- Bridge
- Host
- None
- Liens
- 2.2 - Lancer Wordpress dans un container
- 2.3 - Gestion d'une Architecture de Microservices
- LAB #3 - Superviser les Conteneurs
- 3.1 - Les Journaux
- 3.2 - Les Processus
- 3.3 - L'Activité en Continu
- LAB #4 - Gestion des Ressources
- 4.1 - Limiter la Mémoire
- DOF605 - Docker Compose, Docker Machine et Docker Swarm - 3 heures.
- LAB #1 - Docker Compose
- 1.1 - Installation
- 1.2 - Utiliser docker-compose
- LAB #2 - Docker Machine
- 2.1 - Présentation
- 2.2 - Création de Machines Virtuelles Docker
- 2.3 - Lister les VM Docker
- 2.4 - Obtenir l'adresse IP des VM
- 2.5 - Se connecter à une VM Docker
- LAB #3 - Docker Swarm
- 3.1 - Présentation
- 3.2 - Initialiser Docker Swarm
- 3.3 - Le Statut Leader
- 3.4 - Rejoindre le Swarm
- 3.5 - Consulter les Informations de Swarm
- 3.6 - Démarrer un Service
- 3.7 - Augmentation et Réduction du Service
- 3.8 - Consulter le Statut d'un Nœud
- 3.9 - Haute Disponibilité
- 3.10 - Supprimer un Service
- 3.11 - Sauvegarder Docker Swarm
- 3.12 - Restaurer Docker Swarm
Jour #3
- DOF606 - Gestion du Réseau Overlay avec Docker en mode Swarm - 2 heures.
- Contenu du Module
- L'Approche Réseau Docker
- LAB #1 - Gestion du Réseau overlay
- 1.1 - Création d'un Réseau overlay
- 1.2 - Création d'un Service
- 1.3 - Déplacer le Service vers un autre Réseau overlay
- 1.4 - DNS container discovery
- 1.5 - Création d'un Réseau overlay Personnalisé
- LAB #2 - Gestion de l'Architecture des Microservices
- 2.1 - Mise en Place avec Docker Swarm avec des réseaux Overlay
- DOF607 - Gestion de la Sécurité de Docker - 4 heures.
- Contenu du Module
- LAB #1 - Utilisation des Docker Secrets
- LAB #2 - Création d'un Utilisateur de Confiance pour Contrôler le Daemon Docker
- LAB #3 - Le Script docker-bench-security.sh
- LAB #4 - Sécurisation de la Configuration de l'Hôte Docker
- 4.1 - [WARN] 1.2.1 - Ensure a separate partition for containers has been created
- 4.2 - [WARN] 1.2.3 - Ensure auditing is configured for the Docker daemon
- LAB #5 - Sécurisation de la Configuration du daemon Docker
- 5.1 - [WARN] 2.1 - Ensure network traffic is restricted between containers on the default bridge
- 5.2 - [WARN] 2.8 - Enable user namespace support
- 5.3 - [WARN] 2.11 - Ensure that authorization for Docker client commands is enabled
- 5.4 - [WARN] 2.12 - Ensure centralized and remote logging is configured
- 5.5 - [WARN] 2.14 - Ensure Userland Proxy is Disabled
- 5.6 - [WARN] 2.17 - Ensure containers are restricted from acquiring new privileges
- 5.7 - Le Fichier /etc/docker/daemon.json
- LAB #6 - Sécurisation des Images et les Fichiers de Construction
- 6.1 - [WARN] 4.1 - Ensure a user for the container has been created
- 6.2 - [WARN] 4.5 - Ensure Content trust for Docker is Enabled
- 6.3 - [WARN] 4.6 - Ensure that HEALTHCHECK instructions have been added to container images
- LAB #7 - Sécurisation du Container Runtime
- 7.1 - [WARN] 5.1 - Ensure AppArmor Profile is Enabled
- 7.2 - [WARN] 5.2 - Ensure SELinux security options are set, if applicable
- 7.3 - [WARN] 5.10 - Ensure memory usage for container is limited
- 7.4 - [WARN] 5.11 - Ensure CPU priority is set appropriately on the container
- 7.5 - [WARN] 5.12 - Ensure the container's root filesystem is mounted as read only
- 7.6 - [WARN] 5.14 - Ensure 'on-failure' container restart policy is set to '5'
- 7.7 - [WARN] 5.25 - Ensure the container is restricted from acquiring additional privileges
- 7.8 - [WARN] 5.26 - Ensure container health is checked at runtime
- 7.9 - [WARN] 5.28 - Ensure PIDs cgroup limit is used
- LAB #8 - Sécurisation des Images avec Docker Content Trust
- 8.1 - DOCKER_CONTENT_TRUST
- 8.2 - DCT et la commande docker pull
- L'option disable-content-trust
- 8.3 - DCT et la commande docker push
- 8.4 - DCT et la commande docker build
- Créer un deuxième Repositry
- Supprimer une Signature
- LAB #9 - Sécurisation du Socket du Daemon Docker
- 9.1 - Création du Certificat de l'Autorité de Certification
- 9.2 - Création du Certificat du Serveur Hôte du Daemon Docker
- 9.3 - Création du Certificat du Client
- 9.4 - Démarrage du Daemon Docker avec une Invocation Directe
- 9.5 - Configuration du Client
- DOF608 - Validation de la Formation - 1 heure.
- Support de Cours
- Rappel du Programme de la Formation
- Jour #1
- Jour #2
- Jour #3
- Évaluation de la Formation
- Validation des acquis
Copyright © 2022 Hugh Norris - Document non-contractuel. Le programme peut être modifié sans préavis.