Cours IT

Hardware

Notions théoriques liées au hardware.

Hardware

Hardware - Le binaire

image.png

Difficulté : Débutant


Notions : Binaire, base 2


I. Introduction

Il y a 10 types de personnes dans le monde : celles qui savent compter en binaire et les autres.

                                                                                                                                               - Blague de geek

Le langage binaire est le langage informatique le plus bas niveau.

En effet un ordinateur fonctionnant avec du courant électrique, il n'y a que deux états possible pour un bit à l'instant T.

Circuit fermé, présence de courant : 1

Circuit ouvert, absence de courant : 0

De par ses deux valeurs possible, le binaire est donc un système de calcul en base 2.


II. Les bases de calcul

Information : Quel que soit le calcul, il est à noter que la première valeur possible est toujours 0 (Zero).

2.1 Base 10

La base 10 est la base naturelle pour l'humain et celle courrament utilisée dans le monde.

De par le fait que les mains humaines disposent de 10 doigts, c'est en effet plus pratique et instinctif pour compter.

on a donc les valeur suivantes possibles :

Valeurs base 10

0 =00

1 = 01

2 = 02

3 = 03

4 = 04

5 = 05

6 = 06

7 = 07

8 = 08

9 = 09

Une fois la valeur maximum atteinte (09) pour incrémenter au delà, on ajoute une dizaine devant l'unité et on continue ainsi à incrémenter.

10, 20, 30 etc... etc...

2.1 Base 2

En binaire le principe reste le même qu'en base 10 , on à donc 0, 1 et quand la valeur maximum est atteinte, on incrémente.

Valeurs base 2

0 =0

1 = 1

2 = 10

3 = 11

4 = 100

5 = 101

6 = 110

7 = 111

8 = 1000

9 = 1001

etc...

Si de prime abord, cela peut ne pas sembler naturel, il s'agit juste de reproduire la même logique de comptage que la base 10, mais avec seulement 2 valeurs disponible.



III. l'Octet

3.1 Construction

Heureusement, pour rendre tout cela plus lisible et car un bit seul ne fait pas sens dès lors qu'il s'agit de compter au delà de 1, on va regrouper ces bits par paquets. Ces packets sont appelés des registres.

Le registre le plus connu et celui qui sera courrament utilisé est l'octet (un paquet de 8 bits).

Basé sur ce principe on aura donc la représentation suivante : 00000000

Et là encore, si cela paraît compliqué, il existe un moyen simple et mnémotechnique de se représenter facilement les valeurs en binaire.

En effet, le binaire à une particularité, pour chaque bit que l'on rajoute devant, on double les possibilité, ce qui fait que chaque bit a une valeur différente. Cela s’appelle un Poid de bit.

Pour se donner une bonne idée, voici la valeur de chaque bit dans un octet :

128
64
32
16
8
4
2
1
0
0
0
0
0
0
0
0

3.2 Conversion base 10 / Base 2

Dès lors, pour convertir des nombres binaires en base 10 et de base 10 en binaire, cela deviens facile.

Il suffit d'additionner les valeurs de tous les bits égaux à 1. Ainsi,

01101011 par exemple se note :

128
64
32
16
8
4
2
1
0
1
1
0
1
0
1
1

soit : 64 + 32 + 8 + 2 + 1 = 107.

De la même manière, pour convertir un nombre en base 10 en binaire, il faudra additionner en partant de la droite les valeurs pour arriver à la somme du nombre que l'on veut et passer leurs valeurs à 1.

218 par exemple se note :

Détail de l'opération

128 < 218, donc on part avec 128 = 1.

128
64
32
16
8
4
2
1
1
0
0
0
0
0
0
0

128 + 64 = 192.

192 < 218, le bit avec une valeur de 64 est donc à 1.

128
64
32
16
8
4
2
1
1
1
0
0
0
0
0
0

192+32 = 224.

224 > 218 donc le bit avec une valeur de 32 est à 0. On passe à la valeur suivante.

128
64
32
16
8
4
2
1
1
1
0
0
0
0
0
0

192+16 = 208.

208 < 218, donc le bit avec une valeur de 16 est à 1.

128
64
32
16
8
4
2
1
1
1
0
1
0
0
0
0

208+8 = 216.

216 < 218, donc le bit avec une valeur de 8 est à 1.

128
64
32
16
8
4
2
1
1
1
0
1
1
0
0
0

216+4 = 220.

220 > 218, donc le bit avec une valeur de 4 est à 0.

128
64
32
16
8
4
2
1
1
1
0
1
1
0
0
0

216+2 = 218.

218 = 218. On passe donc notre dernier bit (celui dont la valeur est 2) à 1. La valeur des bits restant à droite sera donc 0.

128
64
32
16
8
4
2
1
1
1
0
1
1
0
1
0
128
64
32
16
8
4
2
1
1
1
0
1
1 0
1
0

Note : Si l'on additionne toutes les valeurs, le résultat est de 255. Par conséquent, si l'on doit traiter des nombres supérieurs à 255, on ajoutera simplement un octet devant, et l'on poursuivra le tableau de la manière suivante.

32768
16384
8192
4096
2048
1024
512
256
128
64
32
16
8
4
2
1
octet 2
octet 1

3.3 Les Échelles de tailles

Partant du principe qu'un octet peut stocker toutes sortes de données et que les bits sont donc l'unité de mesure la plus petite, si l'on veut stocker plus de données, on sera donc obligé d'accoler des octets, ou utiliser des registres plus grands.

Au bout d'un moment, il faudra que nos échelles de mesures continuent d'avoir un sens.

Si on empile beaucoup d'octets, on ne va pas continuer à dire, la taille de ce bloc est de 1 228 283 219 233 274 272 octets.

Pour cela, sur le même principe que les tableau de conversion, on va utiliser d'autre échelles.

A l'instar des unités de mesures classiques (gramme, kilogramme) ( centimètre, mètre, kilomètre) il va falloir établir un tableau de conversion pour faire la mise à l'échelle.

Les unités sont donc les suivante :

Note : A l'américaine, l'octet se dit Byte. Un equivalent est donc, le GigaByte ou Mega byte, etc... Notés : Kb, Mb, Gb, etc...

Trivia : au dessus du péta, il y a l'Exa, le Zeta, le Yotta, Ronna, Quetta, ...


IV. Les opérations en binaire

4.1 Addition

Cela fonctionne plus ou moins comme une addition standard, avec les retenues.

Selon les principes suivants :

0 + 0 = 0

(0 + 1 ou 1+0) = 1

1+1 = 10 (équivalent de 2) Donc dans ce cas, l'on pose 0 et on retient 1.

Par exemple : 00100101 + 10110010 ( soit 37 + 178 )

Détail de l'opération
retenue







Nombre 1 0 0 1 0 0 1 0 1
Nombre 2 1 0 1 1 0 0 1 0
Total






1

 

On commence par la droite. 1+0 = 1, pas de retenue.
retenue







Nombre 1 0 0 1 0 0 1 0 1
Nombre 2 1 0 1 1 0 0 1 0
Total


1 0 1 1 1

0 + 1 = 1, pas de retenue,

1 + 0 = 1, pas de retenue,

0 + 0 = 0, pas de retenue,

0 + 1 = 1, pas de retenue.

retenue
1





Nombre 1 0 0 1 0 0 1 0 1
Nombre 2 1 0 1 1 0 0 1 0
Total

0 1 0 1 1 1
1 + 1 = 10. je pose 0 et je retiens 1.
retenue
1





Nombre 1 0 0 1 0 0 1 0 1
Nombre 2 1 0 1 1 0 0 1 0
Total
1 0 1 0 1 1 1

1 + 0 = puis + 0 = 1. Pas de retenue

retenue
1





Nombre 1 0 0 1 0 0 1 0 1
Nombre 2 1 0 1 1 0 0 1 0
Total 1 1 0 1 0 1 1 1

enfin, 0 + 1 = 1, pas de retenue.




1





Nombre 1 0 0 1 0 0 1 0 1
Nombre 2 1 0 1 1 0 0 1 0
TOTAL 1 1 0 1 0 1 1 1

on a donc 00100101 + 10110010 = 11010111 ( soit 37 + 178 = 215 )

4.2 Soustraction

La soustraction est un peu plus complexe que l'addition, en effet il va faloir jongler sur les chiffres.

Selon les principes suivants :

0 - 0 = 0

1 - 1 = 0

1 - 0 = 1

0 - 1 = Ne peux pas directement être résolu, nécessite un emprunt.

Par exemple : 10110010 - 00100101 ( soit 178 - 37 )

Détail de l'opération
retenue





0 10
Nombre 1 1 0 1 1 0 0 1 0
Nombre 2 0 0 1 0 0 1 0 1
Total






1

 

On commence par la droite. 0-1, emprunt à gauche.

On barre le 1 à gauche on le remplace par un 0. (car 1-1=0)

On ajoute 2 soit 10en remplacement du 0 ce qui donne le calcul 2-1 = 1.

retenue





0 10
Nombre 1 1 0 1 1 0 0 1 0
Nombre 2 0 0 1 0 0 1 0 1
Total





0 1

0 - 0 = 0 pas d'emprunt.

retenues











0 10   0 10
Nombre 1 1 0 1 1 0 0 1 0
Nombre 2 0 0 1 0 0 1 0 1
Total




  0 1

 

0 - 1 non solvable sans emprunts.

 

Pas de 1 adjacent à gauche, on va donc devoir aller chercher le premier disponible pour l'emprunter.

 

on barre le 1 que l'on remplace par 0 (1-1=0). Puis on barre le 0 à sa droite pour remplacer par 2 soit 102.

retenues




1 10




0 10   0 10
Nombre 1 1 0 1 1 0 0 1 0
Nombre 2 0 0 1 0 0 1 0 1
Total




1
0 1

On continue à décaler. On soustrait 1 de 2 (102), il reste 1.

Enfin, on reporte le 1 à droite et on exécute le calcul.

2 - 1 = 1.

retenues




1 10




0 10   0 10
Nombre 1 1 0 1 1 0 0 1 0
Nombre 2 0 0 1 0 0 1 0 1
Total 1 0 0 0 1 1
0 1

On continue ainsi :

1 - 0 = 1

0 - 0 = 0

1 - 1 = 0

1 - 0 = 1


Nombre 1 1 0 1 1 0 0 1 0
Nombre 2 0 0 1 0 0 1 0 1
TOTAL 1 0 0 0 1 1 0 1

on a donc 10110010 - 00100101 = 10001101 ( soit 178 - 37 = 141 )



V. Les fonctions binaires

Les fonctions en binaire ne sont pas des opérations à proprement parler mais le résultat d'un test livré par ce que l'on appelle en informatique et en électronique une porte logique.

5.1 AND (et)

0 0 0
0 1 0
1 0 0
1 1 1

Le résultat de la condition est vrai uniquement si les deux termes sont vrais.

5.2 OR (ou)

0 0 0
0 1 1
1 0 1
1 1 1

Le résultat de la condition est vrai si au moins l'un des deux termes est vrai.

5.3 XOR (ou exclusif)

0 0 0
0 1 1
1 0 1
1 1 0

Le résultat de la condition est vrai seulement si l'un des deux terme est vrai.

Trivia : c'est ce système là qui va être utilisé pour calculé des bits de parité. Dans les matrices RAID par exemple.

Pour aller plus loin : Wikipedia | Tables de vérité


VI. Conclusion

Au sein de l'ordinateur, tout est binaire. De la donnée écrite sur les supports de stockage, jusqu'à l'information transitant par le réseau, en passant par les opérations processeurs et le contenu de la mémoire.

Nous manipulons juste de moins en moins ce type de contenu au fil de l'évolution des langages informatiques et de programmation.

Mais il est cependant important de comprendre (au moins en théorie) comment fonctionne l'informatique sur sa couche la plus basique.

Hardware

Hardware - Le RAID

intermédiaire.png

Difficulté : Intermédiaire


Notions : RAID, Stockage, volumes, sécurité matérielle.


I.Notions Importantes


Le RAID ou ‘Redondant Array of Independant Disk’ consiste a prendre plusieurs supports de stockage indépendant (HDD, SSD,NVME) et les assembler en un volume virtuel dans le but d’améliorer la performance, la capacité et/ou la tolérance à la panne.

Le RAID ne remplace pas la sauvegarde !!!

Il est fortement recommandé de prendre des disques de même performance et capacité.

Pour ajouter un niveau de sécurité en plus, il est conseillé de prendre des disques provenant de lots différents.


II. Raid matériel vs raid logiciel

2.1 Raid matériel


Ce type de RAID fait appel a une carte contrôleur matérielle dédiée. La carte est ajoutée au serveur et les disques sont branchés dessus.

Le principal avantage de cette méthode est que la carte dédiée dispose de son propre processeur, mémoire et stockage pour faire la mise en cache des données et les calculs de lecture ou écriture. Le volume RAID est directement présenté au système.

Celui-ci n’a donc pas a gérer les calculs liés a la répartition des blocs et toute la puissance de calcul de la machine peut être exploitée par le système.

Convient à des environnements de production.

Pours :
Contres :
  • Plus performant que le raid logiciel.

  • Ne sollicite pas la puissance de calcul.

  • Indépendant du système d’exploitation.


  • Plus coûteux (achat d’une carte dédiée).


2.2 Raid logiciel


Ce type de RAID est géré par le système. Cela le rend indépendant du Hardware mais l’absence de matériel dédié implique que les calculs doivent être gérés par le système. Utilisant donc le processeur, la mémoire et le cache des disques pour réaliser les calculs et impactant donc les performances systèmes.

Il faut donc prévoir plus de puissance que nécessaire pour compenser la baisse de performance.

Cependant, en cas de panne totale ou changement du matériel, l’ensemble du matériel peut être remplacé sans problème. Ce qui n’est pas forcément toujours le cas sur du RAID matériel (si la carte RAID lâche par exemple).

Plus adapté a un usage sur les postes de travail ou un usage domestique.

Pours :
Contres :
  • Moins coûteux.
  • indépendant du matériel.

  • impacte les performances.


2.3 Raid Pseudo-matériel


C’est un hybride des deux modes ci-dessus. Un contrôleur RAID est intégré à la carte mère et le système pourra s’appuyer dessus pour contrôler le RAID. Cependant, celui-ci reste géré logiciellement .

L’avantage de ce mode est surtout pour les PC de bureau. Beaucoup de cartes mères haut de gamme disposent de cette option et cela permet de mettre en place un RAID a moindre coût.


III. Principaux types de raid

3.1 Raid 0 - Striping


Prérequis : 2 disques ou plus.

Le RAID 0 ou ‘striping' est le niveau le plus basique de RAID.

Il s’agit tout simplement de prendre tous des disques participant et de les mettre ensemble pour présenter un seul gros volume au système. Permettant ainsi de cumuler les capacité des disques et d’exploiter en parallèle leurs bandes passantes. Améliorant très significativement les performances lors de la la lecture ou écriture des données.

image.pngSource : amenschool

espace exploitable : Total des disques.

Dans ce cas, deux disques de 500Go par exemples seront vu comme un volume logique de 1To (2*500Go)

Pours :
Contres :
  • Très performant.

  • Permet de disposer de gros volumes.

  • Capacité maximale.


  • N’offre aucune sécurité.


3.2 Raid 1 - Mirroring


Prérequis : 2 disques

Maximum : 32 *voir RAID Combiné 0+1

Le Raid 1 ou ‘mirroring’ consiste a prendre un disque et en faire un ‘miroir’ sur un second disque.

Chaque donnée est ainsi écrite en double, une fois sur le disque 1 et une fois sur le disque 2.

Bien que cela soit une perte nette de capacité, le système devient ainsi redondant et donc tolérant a la panne d’un des deux disques.

En situation normale, les données seront lues à partir des deux disques, augmentant ainsi les performances en lecture.

L'écriture en double de toute données quand à elle, diminue légèrement les performances en écriture.

La tolérance a la panne est de 1 disque.

image.pngSource : amenschool

espace exploitable : Total des disques / 2

Dans ce cas, deux disques de 500Go par exemples seront vu comme un volume logique de 500Go


Pours :
Contres :
  • Sécurisé (perte 1 disque).

  • Idéal pour un disque système.


  • Seule la moitié de la capacité est utilisable.


3.3 Raid 5 - Striping with parity Across drives


Prérequis : 3 disques minimum

Maximum : 32 (dépendant du contrôleur utilisé)

Le RAID 5 utilise un algorithme combinant les avantages des deux niveaux de RAID précédents, bien que fonctionnant de manière totalement différente.

En effet, dans ce mode de fonctionnement, les données seront constituées en blocs.

Chaque bloc sera coupé en deux et un bloc de parité sera créé et placé sur un autre disque que ceux contenant les demi blocs.

Sur le schéma suivant, le bloc A est coupé en deux blocs A1 et A2 placés chacun sur un disque puis un bloc de parité P est créé et placé sur le disque 3.

Le bit de parité est ensuite décalé et ainsi de suite de sorte a ce qu’un disque ne contienne pas uniquement les blocs de parités. Ce qui optimise l’espace utilisable.

image.pngSource : amenschool

Pour aller plus loin

Pour aller plus loin, l’opération faite sur les blocs au niveau binaire est un XOR.

Table XOR :

  • 0 xor 0 = 0

  • 0 xor 1 = 1

  • 1 xor 0 = 1

  • 1 xor 1 = 1

Ce qui donne par exemple : bloc initial 0110110111010100

Bloc1 (disque 1) = 01101101

Bloc 2 (disque 2) = 11010100

Bloc de parité (disque 3) = 10111001

espace exploitable : Capacité Totale des disques - Capacité de 1 disque

Dans ce cas, trois disques de 500Go. la capacité utilisable est donc (500*3)-500 = 1To

Pours :
Contres :
  • Sécurisé (perte 1 disque).

  • Idéal pour un disque de données.

  • Bon compromis entre capacité et fiabilité.


  • perte de capacité équivalente à 1 disque

  • impact sur les performances


3.4 Raid 6 - Striping with dual parity Across drives


Prérequis : 4 disques minimum

Maximum : 32 (dépendant du contrôleur utilisé)

Le RAID 6 fonctionne sur le même principe que le RAID 5 mais améliore néanmoins celui-ci en redondant le bloc de parité, ce qui augmente la tolérance à la panne.

image.pngSource : amenschool

espace exploitable : Capacité Total des disques - Capacité de 2 disque

Dans ce cas, quatre disques de 500Go. La capacité utilisable est (500*4)-(2*500)=1To

Pours :
Contres :
  • Sécurité exceptionnelle (2 disques).

  • Idéal pour volume de stockage infra.


  • Seule la moitié de la capacité est utilisable.

  • Coûteux


3.5 Autres types de RAID


Il existe d’autres types de RAID assez exotiques, comme le RAID 3, 4, RAIDn ou RAIDdp

Pour des renseignement exhaustif sur le RAID : https://fr.wikipedia.org/wiki/RAID_(informatique)


IV. Combiner les niveaux de RAID


Il est possible de combiner plusieurs Type de RAID entre eux pour tirer le maximum de performance ou de sécurité de ceux-ci. Cependant, ces solutions sont assez peu répandues à moins d’avoir un besoin spécifique car elles deviennent rapidement très coûteuses.

La notation se fera alors de la façon suivante :

01 ou 0+1 = un RAID 1 de volumes en RAID 0

10 ou 1+0 = un RAID 0 de volumes en RAID 1


4.1 Le RAID 0+1


Prérequis : 4 disques minimum

Maximum : 32 (dépendant du contrôleur utilisé)

Il s’agit de prendre plusieurs volumes en ‘striping’ et de les ‘mirorer’ entre eux.

Ce qui permet d’agréger ensemble plusieurs volumes pour présenter un gros volume, qui sera ensuite lui-même mis en miroir sur un autre agrégat équivalent.

Dans ce niveaux, même sir une grappe RAID 0 peut être perdue, on vise avant tout les volumes de grosses capacité.

image.pngSource : amenschool

espace exploitable : Capacité totale des disques / 2

Dans ce cas, quatre disques de 500Go. La capacité utilisable est (500*4)/2=1To


4.2 Le RAID 1+0


Prérequis : 4 disques minimum

Maximum : 32 (dépendant du contrôleur utilisé)

Il s’agit de l’inverse du RAID 01. Au lieu d’agréger des disques et de les ‘mirorer’ ensuite. On agrégera une série de disques en miroirs. Cela permet de répartir différemment les pertes de disques au sein des grappes.

Ce niveau de RAID est extrêmement fiable car il faut qu’une grappe entière soit défectueuse avant de perdre les données.

image.pngSource : amenschool

espace exploitable : Capacité totale des disques / 2

Dans ce cas, quatre disques de 500Go. La capacité utilisable est (500*4)/2=1To


4.3 Autres exemples


image.png image.png
source : Storage-insider

image.png image.png
Source : recoverhdd.com


Hardware

Hardware - Un ordinateur

Débutant.png

Difficulté : Débutant


Notions : ordinateur, composants.


I.Introduction


Un ordinateur est défini comme étant une machine automatique de traitement de l'information, obéissant à des programmes formés par des suites d'opérations arithmétiques et logiques.

Est considéré comme ordinateur tout système possédant les caractéristiques suivantes :

lien utile : https://fr.wikipedia.org/wiki/Ordinateur


II. Différents Types d'ordinateurs

image.png

image.png

image.png

Fixe (desktop)
Portable (laptop)
Tablette

image.png

image.png

image.png

Serveur tour
Serveur rackable
Micro ordinateur


Il existe également des “Barebones” qui sont des bases dites “nues” et sans OS pour créer un système personnalisé. Le coût de ceux-ci sont relativement bas, mais il faut prévoir d’ajouter un OS voire certaines pièces.

image.png

image.png

image.png

Barebone PC
Barebone Stockage
Barebone réseau


III. Les composants

image.png

Infrastructure

Notions théorique liées à l'infrastructure.

Infrastructure

Infrastructure - La virtualisation

image.png

Difficulté : Intermédiaire


Notions : Hyperviseurs



I. Introduction

La virtualisation est une technologie qui permet d'exécuter plusieurs systèmes d'exploitations et environnements isolés sur une même machine physique. Optimisant ainsi l'utilisation du matériel et améliorant la flexibilité et la 'scalabilité' des infrastructures informatiques.

Les hyperviseurs sont aujourd'hui devenu un élément essentiel des infrastructures informatiques.

En effet, traditionnellement dans l'informatique, un serveur est une machine physique où l'on va installer un système d'exploitation et des rôles ou des fonctionnalités pour fournir un service aux utilisateurs. Mais avec l'arrivée de la virtualisation, il est devenu possible de détacher les serveurs et services de l'aspect matériel.

Cela apporte certains avantages :

Info : La virtualisation se démarque de l'émulation dans le fait qu'elle permet de faire fonctionner des machines complètes incluant l'OS et le matériel virtualisé associé, là où l'émulation reproduit logiciellement un matériel différent.


II. Les types d'hyperviseur

2.1 Hyperviseurs de type 1

Les hyperviseur de type 1, aussi appelé Bare-metal, sont des hyperviseurs installés directement sur le matériel.

drawing-1-1770129804.png

Par exemple : VMware ESXi, Hyper-V, Proxmox VE, Xen...

Cela convient particulièrement à des infrastructures de production.

Pours :
  • Performances élevées

  • Meilleure isolation
  • Fiabilité pour la production
  • Possibilité de paramétrer de la haute disponibilité

Contres :
  • Plus coûteux (achats de licences).
  • Nécessite du matériel spécifique aux performances élevées.
  • Nécessite de solides compétences pour une bonne mise en oeuvre.

2.2 Hyperviseurs de type 2

Les hyperviseur de type 2, aussi appelé Hyperviseur hébergés, sont des hyperviseurs installés comme un logiciel ou un service par dessus un système hôte existant.

drawing-1-1770202249.png

Par exemple : VMware workstation, VirtualBox, Parallels...

Cela convient particulièrement à des environnements de développement, tests ou prototypage.

Pours :
  • Simple à installer
  • Simple à prendre en main
  • Idéal sur poste de travail

Contres :
  • Moins d'isolation par rapport au système hôte.
  • Moins performant.
  • Moins fiables.
  • Fonctionnalités réduites.

2.3 Choisir son hyperviseur

En définitive, le choix de l'hyperviseur dépend avant tout de son usage de destination.

Si l'objectif est de monter une infrastructure de production avec une bonne redondance, choisir le type 1.

Sinon, si l'objectif est de disposer d’environnements de tests à des fins de développement ou de prototypage de solutions, privilégier un type 2.

Le choix de la solution dépendra ensuite du budget et des fonctionnalités recherchées.


III. Architecture de plateforme virtualisée

Une architecture de plateforme virtualisée s'articule autour des composantes traitées ci-dessous. Chaque composante aura son rôle et son importance dans certains aspects de la performance ou compatibilité de l'infrastructure.

3.1 Matériel de l'hôte physique

Il s'agit de l'hôte en tant que machine physique sur lequel sera installé l'hyperviseur. Comme toute machine physique, il s'agit d'un serveur matériel avec son hardware.

Le matériel choisi pour le(s) hôte(s) physique(s) influera directement les performances et capacités de l'infrastructure.

Les points à prendre en comptes sont évidement :

Info : Il est également primordial que la machine choisie dispose des capacité de virtualisation (intel-VT ou AMD-VT).

3.2 L'hyperviseur

L'hyperviseur est le gestionnaire des machines virtuelles. Il permet leur création, manipulation, paramétrage et est également en charge de l'allocation et le suivi des ressources pour les machines virtuelles.

Comme évoqué plus haut, le choix du type de celui-ci dépendra de l'usage.

Le choix du produit quand à lui devra être guidé par les contraintes budgétaires, de performances, mais également les éventuels aspects contractuels.

Comparatif hyperviseurs
Hyperviseur Type Fonctionnalités clés Fourchette budgétaire (indicative) Mode de licensing
VMware ESXi / vSphere Type 1 Haute disponibilité (HA), vMotion, DRS, snapshots avancés, gestion centralisée via vCenter, très mature Moyen à très élevé selon l’édition (Essentials → Enterprise Plus) Licence par CPU + options (vCenter, fonctionnalités avancées)
Microsoft Hyper‑V Type 1 Intégration Windows Server, Live Migration, Replica, clustering, snapshots, gestion via SCVMM Faible à moyen (inclus dans Windows Server) Licence Windows Server (Standard ou Datacenter), par cœur CPU
Proxmox VE Type 1 KVM + LXC, clustering simple, snapshots, backup intégré, interface web complète, Ceph intégré Très faible (open‑source, support payant optionnel) Gratuit (AGPL) + abonnement support optionnel
XCP‑ng Type 1 Basé sur Xen, live migration, snapshots, gestion via Xen Orchestra, cluster Très faible à faible Gratuit (open‑source) + support commercial via Vates
Oracle VM VirtualBox Type 2 Multi‑OS, snapshots, portable, idéal labo/test, large compatibilité Gratuit Gratuit (GPL + extension pack sous licence Oracle)
VMware Workstation / Fusion Type 2 Environnements de test, snapshots, clonage, réseau virtuel avancé Faible (licence unique) Licence poste utilisateur
KVM (Linux) Type 1 (intégré OS) Très performant, supporté par la plupart des distributions, snapshots, live migration via libvirt/virt‑manager Gratuit Inclus dans Linux (GPL), support via distributions

source : copilot, basé sur une liste de sources et de critères définies dans le prompt.

3.3 Les machines virtuelles

Les machines virtuelles sont les machines hébergées sur l'hyperviseur. Comme toute machine, elles disposent d'un matériel avec ses caractéristiques, sauf que celui-ci n'est pas physique mais plutôt logiciel. Aussi, chaque machine se voit allouée des ressources définies comme suit :

3.4 Les outils de gestion

Afin de gérer le ou les hyperviseur(s) la plupart des solutions intègrent des outils de gestion. Souvent sous la forme d'appliances ou de machines dédiées, ils sont généralement accessibles via une interface web et permettent la configuration du cluster, des hôtes et la gestion des machines virtuelles.

On pourra citer par exemple VMware Vcenter, ProxmoxVE, Hyper-V manager, etc...

image.png

3.5 Notions de cluster

Par nature, les machines virtuelles sont donc dé-corrélées du matériel physiques sur lequel elles s'appuient et son donc 'portables'.

On peut ainsi les déplacer d'un hôte à un autre. Cela ouvre la voie à une notion de cluster.

Un cluster est un groupement d'hôtes gérés par un manager qui vont donc pouvoir travailler ensemble afin de se répartir les machines virtuelles. Ce qui permet ainsi :


IV. Allocation et gestion des ressources

La gestion des ressources et l'un des aspects les plus importants de la virtualisation.

Une VM ne possède pas réellement ses propres composants matériels. Elle reçoit une portion des ressources de l'hôte physique et l'hyperviseur doit en permanence arbitrer entre les besoin de l'ensemble des VM.

Lors de l'allocation de ressources à une VM, il y a plusieurs facteurs à prendre en compte.

4.1 Le CPU

Sur une VM, il est possible d'allouer de la puissance de calcul en ajoutant des Vcpu et des Vcore.

 Un vCPU correspond à un thread logique que l’hyperviseur peut planifier. Un vCore est une manière de présenter ces vCPU à la VM.

En définitive, il est possible d'allouer plus de Vcpu ou Vcore au VM que ce qui est réellement présent sur la machine. Cela est possible car l'hyperviseur sais répartir la charge des instruction sur son matériel physique et que toutes les VM ne sont pas tout le temps à 100% de leur utilisation CPU. Cela s'appelle l'Overcommit CPU.

Exemple : un hôte à 64Go de RAM / 16cores, on provisionne 8VM à 4 Vcpu. Il y a overcommit. Cela ne posera pas de problème à moins que la charge sur les machine soit à 100% sur chacune d'elles sur une longue période.

Attention : Contrairement à ce que l'on peut penser, il n'est pas forcement bon d'allouer plus de Vcpu que réellement nécessaire. En effet, cela peut mener à une situation ou une VM attends d'exécuter des instructions, mais l'hyperviseur n'a pas de CPU disponibles car déjà alloués aux autre machines. Cela créée donc des tentions sur le CPU et des contentions entre VM. Ce phénomène s'appelle le 'CPU Ready'.

Un CPU Ready élevé indique :

  • surcharge CPU de l’hôte
  • trop de vCPU attribués
  • VM surdimensionnées
  • contention entre VM

Ordres de grandeur :

  • < 5 % : normal
  • 5–10 % : surveiller
  • 10 % : impact visible (latence, lenteur)
  • 20 % : problème sérieux

Exemple : Une VM avec 8 cœurs sur un host 4 cœurs --> CPU Ready élevé garanti !

Il est donc important de bien dimensionner les VM pour n'attribuer que le nombre de Vcore nécessaire à son fonctionnement.

4.2 La mémoire

La Mémoire est LA ressource critique lorsque l'on parle de virtualisation. En effet, c'est le point sur lequel il est le moins possible de faire de compromis car les services qui sont lancés sur une VM vont consommer une certaine quantité de mémoire au minimum, puis des parts par utilisateurs utilisant le service.

Les hyperviseur vont ensuite utiliser plusieurs mécaniques pour en partager et en optimiser l'usage.

Comme pour le CPU, il est possible d'allouer plus de ressource mémoire que disponible sur l'hôte. Cela s'appelle l'Overcommit mémoire.

L'hyperviseur va ensuite se reposer sur plusieurs mécaniques. Dont :

Lors de l'installation des pilotes de l'hyperviseur sur les systèmes invités, un driver appelé 'balloon' a été installé. Le 'ballon' dans les VM est une portion de la mémoire qui peut être récupérée par l'hyperviseur pour être affectée de manière 'scalable' à d'autres VM.

En cas de tension sur l'hyperviseur, celui-ci 'gonfle' le ballon qui prends la forme d'un processus réservant de la RAM sur la VM invitée. Cette RAM n'est alors plus utilisable par la VM car elle la juge déjà utilisée par ce processus. L'hyperviseur réaffecte donc cette plage de RAM réservée à une autre VM qui en a besoin.

Dès que la tension est libérée, le ballon est 'dégonflé' et la RAM réservée est rendue à la VM.

Info : Bien que le ballooning ne soit pas un problème en soi, il deviens problématique dès lors que les VM impactées n'ont plus assez de ressources mémoire pour fonctionner normalement. Cela cause du swapping et donc des lenteurs.

L'hyperviseur est capable de compresser certaines pages mémoire peu utilisées pour économiser de la mémoire.

Tout comme n'importe quelle machine, en cas de sur utilisation de la mémoire, l'hyperviseur est également capable de swap. C'est à dire qu'il va commencer à écrire des pages mémoires sur le disque. Au vu de la dégradation de performances que cela implique, c'est une situation à éviter.

4.3 Le stockage

Le choix du stockage est important et doit être déterminé par les fonctionnalités souhaitées.

Un stockage local en SSD est rapide et offre d’excellentes performances. La sécurité peut en être améliorée avec du RAID.

Attention : Le RAID permet une sécurité locale mais ne permet pas de faire de la haute disponibilité.

Pour cela, il faudra opter pour un stockage mutualisé de type NAS ou SAN, ce qui rendra les VM visibles depuis l'ensemble des nœuds du cluster et permettra une bascule rapide en cas de coupure ou maintenance d'un hôte.

Cela permettra aussi d'activer des fonctions d'optimisation de charge et de consommation électrique, ainsi que des règles de répartition des VM.

Exemple : 2 actives directory redondants ne doivent pas se trouver en même temps sur un même nœud.

Si la solution du stockage partagée est privilégiée, il faudra également prendre en compte la liaison réseau avec les hôtes. En effet la bande passante de celle-ci impactera grandement les performances en lecture/Ecriture sur les volumes.

Il est préférable également d'opter pour des cartes réseaux dédiées et optimisées pour cet usage comme les cartes Melanox

image.png

En effet, en plus de leur excellentes capacité réseaux, celles-ci intègrent un cache dédié pour le stockage et l'écriture de blocs.

Les transactions sur le stockage se mesure en IOpS (Input/Output per Second). C'est cet indicateur qu'il faut vérifier pour mesurer la performance du stockage.


V. Les fonctionnalités avancées

Comme vu plus haut, dans la logique de la virtualisation, les VM ne sont plus directement corrélées au matériel. Cette couche d'abstraction implique que la VM soit vue par l'hyperviseur comme simplement un processus et un ensemble de fichiers.

Cela ouvre la porte a beaucoup de fonctionnalités intéressantes et qui sont devenue clés de la gestion des machines virtuelles au sein d'une architecture d'entreprise.

5.1 Les snapshots

Un snapshot ou 'cliché instantané', est un point de restauration d'une machine à un instant T.

Lors d'une prise de snapshot, le fichier de disque actuel de la VM est figé, un nouveau fichier de disque est créé. Celui-ci contient le Delta depuis le dernier snapshot.

drawing-1-1771933507.png

Il sera ensuite possible de faire des modifications, puis de revenir en quelques minutes à cet état précédent. Annulant ainsi tout ce qui est survenu depuis.

drawing-1-1771933872.png

Ou de valider cet état comme définitif et de supprimer les snapshots. Auquel cas, les fichiers du snapshot sont supprimés et les fichiers de disques sont fusionnés.

drawing-1-1771937738.png

C'est particulièrement utile pour sécuriser ponctuellement une opération comme une mise à jour, un changement de version ou un test quelconque.

Il est également possible de faire un snapshot, tester un scénario, refaire un snapshot, revenir sur l'original, tester un autre scénario, refaire un snapshot, etc... les snapshots seront ainsi géré en arborescence.

drawing-1-1771938081.png

Lors de l'effacement des snapshots, ceux utilisés seront fusionnés, les autres seront détruits. Cette opération s'appelle la 'consolidation'.

Attention : Les snapshots ne sont pas des sauvegardes. Si cela est utile pour un usage ponctuel, il n'est pas recommandé de les empiler et encore moins de les conserver de façon durable.

5.2 Live migration

Une 'Live migration' ou migration à chaud est le fait de déplacer une VM d'un hyperviseur ou d'un nœud d'une ferme à un autre, sans forcément avoir besoin d'éteindre cette machine et donc sans interrompre le service.

drawing-1-1771938531.png

Selon le type de migration, l'hyperviseur fait tout d'abord une copie du fichier descriptif de la VM, puis copie les disques et enfin le fichier mémoire. Dès lors que l'état de la VM est synchronisée sur le nœud source et le nœud de destination, la VM source est coupée et ses fichiers sont détruits.

Dans le cadre de l'utilisation d'un stockage partagé, c'est plus simple dans la mesure ou il suffit juste de transférer les fichiers mémoires.

Le déplacement peut être un déplacement sur une autre puissance de calcul, sur un autre stockage voire les deux.

5.3 High availability & Fault Tolerance

La haute disponibilité et la Tolérance à la panne, sont des mécanismes qui exploitent la capacité de transfert d'une machine d'un hôte à un autre pour permettre automatiquement, en cas de coupure d'un nœud ou d'une VM, d'en reprendre l'exécution depuis un autre nœud.

drawing-1-1771938653.png

5.4 Load balancing, fencing

Partant de ce même principe et afin de fiabiliser celui-ci, il est possible de définir des ensembles de règles afin d'éviter que deux machines portant le même rôle dans un but de haute disponibilité se retrouvent au même moment sur le même hôte physique.

Ou inversement, pour des raisons d'économie d'énergie, de regrouper les machines virtuelles sur un même hôte physique afin d'optimiser le rendement énergétique.

5.5 Templates et clônes

La dernière fonctionnalité intéressante est de pouvoir, grâce au snapshots et au fait que les machines soient des ensembles de fichiers, est de pouvoir installer une machine, la préparer et la transformer en 'template' ou modèle.

Cela permet ensuite de repartir de ce modèle afin de faire des déploiement en masse et de standardiser la production. Ce qui représente également un gain de temps non négligeable, car ce qui a été fait une fois pour le template, n'a plus à être refait par la suite.

A partir de ce template, il sera possible de déployer des clones. Il y a deux façons de créer un clone :

La création d'un clone lié à l'avantage d'être immédiate mais l'inconvénient de dépendre des disques des templates pour fonctionner (un peu à la manière des snapshots). En cas de corruption de celui-ci, l'ensemble des clones liées seront rendus inopérants.

La création d'un clone intégral prends plus de temps et de place sur le disque. C'est en effet une nouvelle machine intégralement créée, mais totalement indépendante.

En résumé, les clones liés sont pratique pour faire des tests rapides, mais pour de la production, il faut privilégier les clones intégraux.

5.6 Thin provisioning

Le thin provisionning, ou provisionnement dynamique, permet de n'allouer à une machine virtuelle que l'espace disque qu'elle va occuper. La taille définie sur le disque agit ici plus comme une 'limite totale d'espace disponible' que comme une réservation stricte de l'espace disque.

Cette fonctionnalité est très pratique pour des tests et pour optimiser l'espace disque disponible. Mais cela est fortement déconseillé dans un environnement de production car elle entraîne un risque de sur-provisionnement.

En effet, l'espace disque côté hyperviseur est perçu comme libre. Mais si les machines consomment toutes la capacité de leur disque au maximum, la capacité maximale de l'espace de stockage peut être dépassée, ce qui conduit au remplissage à 100% de celui-ci et potentiellement à une corruption des données.

Exemple : 10 VM de 100Go en thin provisioning sur un datastore de 500Go --> Si les VM se mettent à utiliser tout le stockage, risque de corruption et de perte de données.


VI. Virtualisation du stockage



VII. Virtualisation réseau


VIII. Sécurité dans un environnement virtualisé


IX. Administration et bonnes pratiques


X. Virtualisation et Cloud

Infrastructure

Infrastructure - Les Tiers de datacenter

Le classement des data centers

L’organisme ayant pour dénomination Uptime Institute qui est un laboratoire d’idées ayant pour but de rechercher les solutions permettant aux data centers d’offrir des services performants a classé les niveaux de sécurité offerts par ces structures en quatre tiers différents.

technicien-server-195x170.jpg

En France, les certifications correspondant à ces niveaux de sécurité sont effectuées depuis le mois de janvier 2014.


Le niveau Tier 1

Un data center ayant le niveau Tier 1 ne possède qu’un seul circuit électrique ainsi qu’un circuit de distribution de refroidissement et il n’a pas de composants redondants. Sa disponibilité est de 99,67 % et ses clients doivent prendre en compte une interruption annuelle de 28 heures et huit dixièmes.

Le niveau Tier 2

Ce niveau est attribué à un data center ayant un circuit électrique et un circuit de distribution de refroidissement , mais ayant des composants redondants. La disponibilité offerte est de 99,75 % et il faut prévoir 22 heures d’interruption chaque année.

Le niveau Tier 3

La classification Tier 3 est accordée à un data center ayant plusieurs circuits d’alimentation en électricité et de distribution de refroidissement. La disponibilité offerte doit s’élever à 99,982% avec une interruption limitée à un peu plus d’une heure et demie chaque année.

La redondance offerte s’élève à N+1. En conséquence, cette redondance n’est ni intégrale ni entièrement distincte. Il en résulte que l’absence totale d’incidents sérieux sur les éléments constituant l’infrastructure n’est pas totalement garantie.



Le niveau Tier 4

Cette classifications qui correspond au meilleur niveau de garantie d’un data center n’est accordée que si le data center a plusieurs circuits assurant l’alimentation en électricité et la distribution du refroidissement.

La redondance doit atteindre 2N+1 et l’interruption annuelle ne doit pas dépasser 48 minutes.

Les clients qui choisissent un data center ayant ce niveau bénéficient donc d’une garantie totale pour la protection de leurs stocks de données informatisées.

De plus, les serveurs stockés dans un data center ayant le niveau Tier 4 bénéficient d’un bloc d’alimentation doublé, de la disponibilité de deux processeurs et de la possibilité d’un changement de disque en Hot Swap, ce qui permet aux collaborateurs de remplacer un composant défaillant sans qu’il soit nécessaire d’interrompre la disponibilité du serveur concerné.


L’importance du niveau de classification dans le choix du data center

Toute entreprise qui doit externaliser le stockage de ses serveurs informatiques doit choisir un prestataire ayant un niveau de qualification adapté aux conditions exigées par le contenu de ces données.

Si les données stockées on une importance vitale, le choix d’un data center ayant le niveau Tier 4 est indispensable, car l’entreprise ne peut pas prendre le risque de voir ces données effacées à cause d’une panne d’électricité ou d’une défaillance du système de contrôle de la température du data center. 

Un data center ayant une classification inférieure ne peut être choisi que si l’entreprise peut supporter sans dommage la détérioration d’un stock de données.

Licensing

Notions théoriques liées au licencing des différents produits.

Licensing

Licensing Microsoft - Modèle général

Débutant.png

Difficulté : Débutant


Notions : Licensing Microsoft, types de licences.

Cette fiche est complémentaire avec : Licensing Microsoft - Windows Server


I. Les Licences OEM


Il s’agit de la licence la plus courante. Celle dont dispose l’ensemble des machines vendue dans le commerce. Dans ce modèle, la licence est attachée à la machine et à usage unique.

La machine est fournie à l’utilisateur activée.

La licence est indissociable du matériel. Si le Poste est remplacé où mis au rebut, la licence est perdue avec.

L’utilisateur peut ainsi, par exemple, restaurer ou formater sa machine et conserver sa licence. Mais si il souhaite changer de machine sa licence ne pourra pas être transférée.

image.png


II. Les licences Retail


Le second modèle dit des licence de revente présente un avantage certain pour les particuliers et entreprises soucieuse de gérer un parc de licences.

En effet, dans ce modèle la licence est acheté indépendamment du matériel.


Il y a deux types de licence dans cette catégorie :

image.png

image.png


III. Les licences en volume


Ce modèle s’adresse d’avantage aux entreprises. Il s’agit de prendre un nombre défini de licences qui pourront être ensuite utilisées au sein d’une entreprise de manière complétement indépendante de son parc ou des salariés.

Le principal avantage de ce type d’acquisition, c’est qu’il ouvre le droit à l’utilisation des systèmes d’activation automatisés et qu’une entreprise peut désormais raisonner en pool de licence et affectation de celles-ci.

image.png

Pour l’activation, les clients nécessitent des clés spéciales dites “KMS Client”. Elles sont disponibles ici : Windows - Liste des clés KMS

Pour obtenir des licences en volume, il y a deux façon de procéder :



IV. Licences additionnelles et CAL


Dans certains cas, en plus des licences de produits, son utilisation nécessitera des CAL ou “Client Access Licences”. Ces licences sont à acquérir en plus des licences produits pour le serveur.

Ce qui donne donc une licence pour le serveur et une CAL par utilisateur ou machine selon le modèle choisi. Sachant qu’il est possible de mixer les deux formules.

image.png

4.1 Active directory


Pour active directory, la fonctionnalité est comprise dans Windows Server et ne nécessite pas de licence serveur.

Il faut cependant, des cals machines et/ou utilisateurs.

La manière la plus simple est de prendre une CAL pour chaque utilisateur de domaine.


4.2 Exchange


Pour Exchange, il faut une licence serveur pour chaque serveur ou le produit est installé.

Plus une CAL par boite aux lettre utilisateur.

Les alias, boites partagées et comptes de services ne comptent pas et n’ont pas besoin de licences.


4.3 MS SQL Server


Pour SQL Server, il faut une licence serveur pour chaque serveur ou le produit est installé.

Il faut ensuite une CAL par utilisateur qui accède directement OU indirectement aux bases de données.

Ce qui signifie qu’en théorie, pour une application métier comptant 5 utilisateurs qui stocke ses données dans la base et les utilisent a travers un compte de service unique, il faut quand même 5 CAL Utilisateur.

Passé un certain nombre d’utilisateurs, il peut être plus rentable de passer a une licence par coeur de processeur.


V. Office 365


Concernant les licences Office365, la logique change radicalement. Il ne s’agit plus en effet de devenir propriétaire des licences, mais de louer un service.

Le service comprends un certain nombre de fonctionnalité disponibles individuellement pour chaque utilisateur en fonction de sa formule.

Acheter Microsoft 365 - Comparer les abonnements pour TPE/PME

Licensing

Licensing Microsoft - Windows Server

Débutant.png

Difficulté : Débutant


Notions : Licensing Microsoft, windows server.

Complète la documentation suivante : Licensing Microsoft - Modèle général


I. Présentation


Depuis windows 2016, le modèle de licence a changé pour s’adapter aux évolutions du marché.

En effet, avec la démocratisation de la virtualisation et par conséquent l’arrivée de microsoft Hyper-V, la virtualisation est devenu un standard de l’IT.


Il faut donc maintenant suivre le modèle de licencing suivant :

image.png


II. Explications


Les licences windows serveur sont des licences par coeur physique de processeur.


Windows serveur se décline désormais en deux éditions :


Les contraintes sont les suivantes :

Dans la mesure où le modèle de licence est prévu à la base pour Hyper-V. Une licence est installée sur l’hôte Hyper-V et sert a activer celui-ci, ainsi que 2 machines virtuelles sur cet hôte. Dans le cas de l’utilisation d’un autre hyperviseur (vmware, proxmox, etc…) la licence ne s’applique donc qu’au 2 machines virtuelles.


Il y a un seuil minimum de cœurs licenciés par hôte physique. Celui-ci est de 8 dans le cas d’une machine avec 1 ou 2 processeurs physiques et de 12 dans le cas d’une machine avec 3 processeurs physiques.


Les licences sont attachées à l’hôte physique. Aussi, il n’est pas possible d’avoir par exemple la même licence pour 2 VM qui fonctionneraient sur des hôtes physiques différents.


De la même manière, les coeurs couverts par les licences ne concernent que l’hôte physique qui les possède.


Si le nombre de cœurs physiques dépassent le seuil minimum, il faut acheter des packs d’extension de licence pour couvrir les cœurs supplémentaires. Ceux-ci sont sous la forme de packs de 2 cœurs.


Les cœurs virtuels (threads) ne comptent pas dans le calcul.


III. Exemples


Le principe n’étant pas facilement compréhensible, voici quelques exemples pour mieux comprendre.


Exemple 1 :

1 serveur avec 2 processeurs Xeon de 4 cœurs qui hébergera 4 machines virtuelles.

Dans cette situation : 1 serveur X 2 processeurs X 4 cœurs donc un total de 8 cœurs.

Une licence couvre 2 machines virtuelles donc 4VM / 2 = 2 packs de 8 cœurs.


Exemple 2 :

2 serveurs avec 2 processeurs Xeon de 6 cœurs qui hébergera 5 machines virtuelles.

Dans cette situation : il faut calculer par serveur. La distribution des machines se fera de la façon suivante :


Donc pour le premier hôte : 1 serveur X 2 processeurs X 6 cœurs donc un total de 12 coeurs. Il faut donc 1 “starter pack” de 8 cœurs + 2 extension pour 2 cœurs supplémentaires.

Il y a 3 machines. Une licence étant valable pour 2 machines, il faut donc multiplier les quantités par deux.

On a donc pour le serveur 1 : 2 pack de 8 + 4 pack de 2.


Pour le second hôte : 1 serveur X 2 processeurs X 6 cœurs donc un total de 12 cœurs. Il faut également un pack de 8 cœurs + deux extensions pour 2 cœurs supplémentaires. Il n’y a que 2 machines virtuelles sur ce serveur, donc : 1 pack de 8 + 2 pack de 2.


Au total, pour licencier tout le parc, il faut donc 3 packs de 8 et 6 packs de deux.


IV. Licences Datacenter


Comme vu plus haut, les licences Datacenter sont liées a une machine physique et ouvrent le droit à un nombre illimité de machines virtuelles sur ce serveur. Si l’on sait donc a l’avance que le nombre de machine risque d'être important, ou de varier énormément au cours du temps, cette licence est à envisager.

Cependant, elle est bien plus coûteuse qu’une licence standard. Aussi il est important de calculer au préalable le seuil de rentabilité d’une telle licence.

A titre d’exemple, pour un hôte physique classique ( 2 processeurs 4 cœurs ), il faut 10 machines virtuelles pour que la licence Datacenter soit rentable.


V. Conclusion


Ce modèle de licence est réellement compliqué à appréhender au premier abord. Mais cela viendra en pratiquant. Mais heureusement :grinning: :

Un calculateur de licence est disponible : Windows Server Licensing Calculator - WintelGuy.com


Licensing

Windows - Liste des clés KMS

Ces clés KMS sont légales. Il s'agit de celles fournies par Microsoft pour l'activation des clients KMS en volume.

Ces clés seules ne suffisent pas à activer Windows. Elles indiquent au système qu'il sera un client activé par un serveur KMS.

Ces clés sont toutes utilisables dans le cadre d'un contrat de licence en volume.

Pour l’activation en volume, il faut fournir une clé spécifique au client. Dite clé de client KMS.

Voici la liste des clés :

Windows Server (LTSC versions)

Windows Server 2025

Windows Server 2025

Operating system edition

KMS Client Product Key

Windows Server 2025 Standard TVRH6-WHNXV-R9WG3-9XRFY-MY832
Windows Server 2025 Datacenter D764K-2NDRG-47T6Q-P8T8W-YP6DF
Windows Server 2025 Datacenter : Azure Edition XGN3F-F394H-FD2MY-PP6FD-8MCRC
Windows Server 2022

Windows Server 2022

Operating system edition

KMS Client Product Key

Windows Server 2022 Datacenter

WX4NM-KYWYW-QJJR4-XV3QB-6VM33

Windows Server 2022 Standard

VDYBN-27WPP-V4HQT-9VMD4-VMK7H

Windows Server 2019

Windows Server 2019

Operating system edition

KMS Client Product Key

Windows Server 2019 Datacenter

WMDGN-G9PQG-XVVXX-R3X43-63DFG

Windows Server 2019 Standard

N69G4-B89J2-4G8F4-WWYCC-J464C

Windows Server 2019 Essentials

WVDHN-86M7X-466P6-VHXV7-YY726

Windows Server 2016

Windows Server 2016

Operating system edition

KMS Client Product Key

Windows Server 2016 Datacenter

CB7KF-BWN84-R7R2Y-793K2-8XDDG

Windows Server 2016 Standard

WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY

Windows Server 2016 Essentials

JCKRF-N37P4-C2D82-9YXRT-4M63B


Windows Server (Semi-Annual Channel versions)

Windows Server, versions 20H2, 2004, 1909, 1903, and 1809

Windows Server, versions 20H2, 2004, 1909, 1903, and 1809

Operating system edition

KMS Client Product Key

Windows Server Datacenter

6NMRW-2C8FM-D24W7-TQWMY-CWH2D

Windows Server Standard

N2KJX-J94YW-TQVFB-DG9YT-724CC

Windows 11 and Windows 10 (Semi-Annual Channel versions)

See the Windows lifecycle fact sheet for information about supported versions and end of service dates.

Windows 11 and Windows 10 (Semi-Annual Channel versions)

Operating system edition

KMS Client Product Key

Windows 11 Pro
Windows 10 Pro

W269N-WFGWX-YVC9B-4J6C9-T83GX

Windows 11 Pro N
Windows 10 Pro N

MH37W-N47XK-V7XM9-C7227-GCQG9

Windows 11 Pro for Workstations
Windows 10 Pro for Workstations

NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J

Windows 11 Pro for Workstations N
Windows 10 Pro for Workstations N

9FNHH-K3HBT-3W4TD-6383H-6XYWF

Windows 11 Pro Education
Windows 10 Pro Education

6TP4R-GNPTD-KYYHQ-7B7DP-J447Y

Windows 11 Pro Education N
Windows 10 Pro Education N

YVWGF-BXNMC-HTQYQ-CPQ99-66QFC

Windows 11 Education
Windows 10 Education

NW6C2-QMPVW-D7KKK-3GKT6-VCFB2

Windows 11 Education N
Windows 10 Education N

2WH4N-8QGBV-H22JP-CT43Q-MDWWJ

Windows 11 Enterprise
Windows 10 Enterprise

NPPR9-FWDCX-D2C8J-H872K-2YT43

Windows 11 Enterprise N
Windows 10 Enterprise N

DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4

Windows 11 Enterprise G
Windows 10 Enterprise G

YYVX9-NTFWV-6MDM3-9PT4T-4M68B

Windows 11 Enterprise G N
Windows 10 Enterprise G N

44RPN-FTY23-9VTTB-MP9BX-T84FV


Windows 10 (LTSC/LTSB versions)

Windows 10 LTSC 2021 and 2019

Windows 10 LTSC 2021 and 2019

Operating system edition

KMS Client Product Key

Windows 10 Enterprise LTSC 2021
Windows 10 Enterprise LTSC 2019

M7XTQ-FN8P6-TTKYV-9D4CC-J462D

Windows 10 Enterprise N LTSC 2021
Windows 10 Enterprise N LTSC 2019

92NFX-8DJQP-P6BBQ-THF9C-7CG2H

Windows 10 LTSB 2016

Windows 10 LTSB 2016

Operating system edition

KMS Client Product Key

Windows 10 Enterprise LTSB 2016

DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ

Windows 10 Enterprise N LTSB 2016

QFFDN-GRT3P-VKWWX-X7T3R-8B639

Windows 10 LTSB 2015

Windows 10 LTSB 2015

Operating system edition

KMS Client Product Key

Windows 10 Enterprise 2015 LTSB

WNMTR-4C88C-JK8YV-HQ7T2-76DF9

Windows 10 Enterprise 2015 LTSB N

2F77B-TNFGY-69QQF-B8YKP-D69TJ


Earlier versions of Windows Server

Windows Server, version 1803

Windows Server, version 1803

Operating system edition

KMS Client Product Key

Windows Server Datacenter

2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG

Windows Server Standard

PTXN8-JFHJM-4WC78-MPCBR-9W4KR

Windows Server, version 1709

Windows Server, version 1709

Operating system edition

KMS Client Product Key

Windows Server Datacenter

6Y6KB-N82V8-D8CQV-23MJW-BWTG6

Windows Server Standard

DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4

Windows Server 2012 R2

Windows Server 2012 R2

Operating system edition

KMS Client Product Key

Windows Server 2012 R2 Standard

D2N9P-3P6X9-2R39C-7RTCD-MDVJX

Windows Server 2012 R2 Datacenter

W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9

Windows Server 2012 R2 Essentials

KNC87-3J2TX-XB4WP-VCPJV-M4FWM

Windows Server 2012

Windows Server 2012

Operating system edition

KMS Client Product Key

Windows Server 2012

BN3D2-R7TKB-3YPBD-8DRP2-27GG4

Windows Server 2012 N

8N2M2-HWPGY-7PGT9-HGDD8-GVGGY

Windows Server 2012 Single Language

2WN2H-YGCQR-KFX6K-CD6TF-84YXQ

Windows Server 2012 Country Specific

4K36P-JN4VD-GDC6V-KDT89-DYFKP

Windows Server 2012 Standard

XC9B7-NBPP2-83J2H-RHMBY-92BT4

Windows Server 2012 MultiPoint Standard

HM7DN-YVMH3-46JC3-XYTG7-CYQJJ

Windows Server 2012 MultiPoint Premium

XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G

Windows Server 2012 Datacenter

48HP8-DN98B-MYWDG-T2DCC-8W83P

Windows Server 2008 R2

Windows Server 2008 R2

Operating system edition

KMS Client Product Key

Windows Server 2008 R2 Web

6TPJF-RBVHG-WBW2R-86QPH-6RTM4

Windows Server 2008 R2 HPC edition

TT8MH-CG224-D3D7Q-498W2-9QCTX

Windows Server 2008 R2 Standard

YC6KT-GKW9T-YTKYR-T4X34-R7VHC

Windows Server 2008 R2 Enterprise

489J6-VHDMP-X63PK-3K798-CPX3Y

Windows Server 2008 R2 Datacenter

74YFP-3QFB3-KQT8W-PMXWJ-7M648

Windows Server 2008 R2 for Itanium-based Systems

GT63C-RJFQ3-4GMB6-BRFB9-CB83V

Windows Server 2008

Windows Server 2008

Operating system edition

KMS Client Product Key

Windows Web Server 2008

WYR28-R7TFJ-3X2YQ-YCY4H-M249D

Windows Server 2008 Standard

TM24T-X9RMF-VWXK6-X8JC9-BFGM2

Windows Server 2008 Standard without Hyper-V

W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ

Windows Server 2008 Enterprise

YQGMW-MPWTJ-34KDK-48M3W-X4Q6V

Windows Server 2008 Enterprise without Hyper-V

39BXF-X8Q23-P2WWT-38T2F-G3FPG

Windows Server 2008 HPC

RCTX3-KWVHP-BR6TB-RB6DM-6X7HP

Windows Server 2008 Datacenter

7M67G-PC374-GR742-YH8V4-TCBY3

Windows Server 2008 Datacenter without Hyper-V

22XQ2-VRXRG-P8D42-K34TD-G3QQC

Windows Server 2008 for Itanium-Based Systems

4DWFP-JF3DJ-B7DTH-78FJB-PDRHK


Earlier versions of Windows

Windows 8.1

Windows 8.1

Operating system edition

KMS Client Product Key

Windows 8.1 Pro

GCRJD-8NW9H-F2CDX-CCM8D-9D6T9

Windows 8.1 Pro N

HMCNV-VVBFX-7HMBH-CTY9B-B4FXY

Windows 8.1 Enterprise

MHF9N-XY6XB-WVXMC-BTDCT-MKKG7

Windows 8.1 Enterprise N

TT4HM-HN7YT-62K67-RGRQJ-JFFXW

Windows 8

Windows 8

Operating system edition

KMS Client Product Key

Windows 8 Pro

NG4HW-VH26C-733KW-K6F98-J8CK4

Windows 8 Pro N

XCVCF-2NXM9-723PB-MHCB7-2RYQQ

Windows 8 Enterprise

32JNW-9KQ84-P47T8-D8GGY-CWCK7

Windows 8 Enterprise N

JMNMF-RHW7P-DMY6X-RF3DR-X2BQT

Windows 7

Windows 7

Operating system edition

KMS Client Product Key

Windows 7 Professional

FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4

Windows 7 Professional N

MRPKT-YTG23-K7D7T-X2JMM-QY7MG

Windows 7 Professional E

W82YF-2Q76Y-63HXB-FGJG9-GF7QX

Windows 7 Enterprise

33PXH-7Y6KF-2VJC9-XBBR8-HVTHH

Windows 7 Enterprise N

YDRBP-3D83W-TY26F-D46B2-XCKRJ

Windows 7 Enterprise E

C29WB-22CC8-VJ326-GHFJW-H9DH4


Réseau

Notions Théoriques liées au réseau.

Réseau

Réseau - Adressage IPV4

image.png

Difficulté : Débutant


Notions : Réseau, adressage Modèle OSI Couche 3.

Voir la ressource sur le modèle OSI : Réseau - Modèle OSI


I.Introduction

Cette page a pour but d’introduire les notions d’adressage ip dans la norme IPV4.

1.1 Un besoin, une solution


Avec l’arrivée des réseaux, les ordinateurs se sont vu offrir la capacité de communiquer entre eux pour échanger des informations.

Cela a ouvert la voie au modèle client/serveur, puis plus tard a internet qui est l’assemblage des mot inter(entre eux) network (réseau) soit, littéralement, un ensemble de réseaux interconnectés.

image.png

Mais pour que cela fonctionne, il faut déjà pouvoir savoir qui est qui. Pour ensuite savoir qui veut parler à qui.

Il faut donc un système permettant “d’adresser” la communication. C’est là qu’intervient le système d’adressage IP.


1.2 Analogie avec le réel


Pour faire une analogie simple, il faut voir cela comme des villes. Avec leurs rues, immeubles et numéros.

Pour envoyer un colis (un paquet) à Mr Dupuis, il faut lui envoyer cela dans la ville de Lyon, Rue Descola au numéro 108.

Pour un ordinateur, c’est la même chose. Pour envoyer un paquet (réseau cette fois), il faut avoir soi-même une adresse et connaître celle de son interlocuteur.

image.png

En complément de cela, comme les ordinateurs sont dans des réseaux interconnectés, il faut savoir dans quel réseau son interlocuteur se trouve. Pour cela deux notions sont importantes :


II. Fonctionnement

Défini dans la 4

2.1 Structure


Les adresses IPV4 sont construites en 4 blocs. Chaque bloc étant un octet (8bits). Ce qui donne un total de 32 bits.

Ces blocs sont séparés par un point. Cela donne quelque chose comme :

192.168.1.27


2.2 Le binaire


Question 1 : d’où viennent ces chiffres ?

c’est en réalité assez simple. Voici un octet :

image.png

Composé de 8 bits, cet octet est vide. Sa valeur totale est donc 0.

Le binaire est un système de comptage en base 2 (nous comptons en base 10).

Il n’y a donc pour chaque bit que deux états possibles : 0 ou 1.

Pour l’ordinateur, un bloc d’adresse ressemble donc à ceci :

image.png


Question 2 : Comment convertir ce nombre binaire en nombre compréhensible par un humain ?

Avec une table de conversion. Chaque bit d’un octet a une valeur décimale. Voici la table de conversion :

image.png

Pour calculer combien cela fait en décimal, il faut ajouter les chiffre correspondant à chaque 1.

Dans cet exemple : 128+64+8+2+1 = 203.

Ainsi voici l’adresse complète ci-dessus :

image.png

Une adresse est donc ‘codée’ sur 32 bits.


2.3 Le masque de sous-réseau


Il est maintenant possible de comprendre l’adresse d’un machine, mais il manque un point essentiel :


Question 1 : Comment peut-on savoir à quel réseau appartient cette machine ?

En effet, comme dit en introduction, pour pouvoir communiquer avec une autre machine, son adresse ne suffit pas. Il faut aussi savoir dans quel réseau elle se trouve.

Pour éviter de gérer trop de données et d’adresses différentes, faciliter les communications et permettre une découpage sur mesure des réseaux, une solution a été trouvée :

L’adresse IP contiendra à la fois les informations du réseau ET de la machine.

C’est là que rentre en jeu une seconde donnée importante : le masque de sous-réseau


Question 2 : Comment tout cela fonctionne ?

Les choses se corsent un peu, mais sans devenir réellement plus complexes.

Si l’on reprends l’exemple ci-dessus : 192.168.1.27

Cette adresse contient en réalité les deux informations. Mais comment les différencier ?

A l’aide du masque de sous-réseau.

Celui-ci est sous la forme 255.255.255.0

Il est construit de la même manière que l’adresse. 4 blocs de 8 bits pour un total de 32 bits.

Ce n’est pas une coïncidence si les deux données font 32 bits. En effet, si cela s’appelle un masque, c’est qu’il doit se superposer à l’adresse. Voici à quoi ressemble ce masque en binaire.

image.png

Normalement, quelque chose doit sauter aux yeux. Tous les 1 sont d’un côté et tous les 0 de l’autre.

Et voila comment la ‘magie’ opère. Pour savoir quelle partie est l’adresse réseau et quelle partie est l’adresse machine, il faut séparer les 1 (partie réseau) et les 0 (partie machine).

Pour plus de clarté dans l’affichage, la table de conversion ne sera plus affichée.

Reprenons les exemples ci-dessus et Appliquons le masque: 

image.png

Ici, l’on peut donc voir sur l’adresse que : 192.168.1 est la partie réseau et .27 la partie machine.

En déplaçant le curseur du masque (appelée "longueur de préfixe"), on peut ajuster la taille des réseaux et ainsi le nombre de machines qu’ils peuvent accueillir. Par exemple, si l’on reprends l’adresse 192.168.1.27 mais que l’on applique cette fois un masque en 255.255.0.0 , On obtient :

image.png

Le ‘curseur’ peut bien sûr être positionné au milieu d’un bloc pour ajuster le nombre de machine au plus près du besoin.


Question 3 : A quoi ça sert d’avoir différente tailles de réseaux ?

A avoir des réseaux plus ou moins grands.

La première limitation de ce système, c’est que le fait de déplacer ce curseur signifie que l’on va jouer sur les quantités de réseaux disponibles et de machines par réseaux. Les adresses sont constituées de 32 bits. Ni plus, ni moins.

Moins l’on alloue de bits à la partie réseau, plus on en alloue à la partie machine et vice versa.

En pratique, cela signifie que l’on a :


Question 4 : Et pourquoi avoir tous ces différents réseaux ?

De base, les ordinateurs ne peuvent communiquer qu’entre membres d’un même réseau.

Donc il est important de pouvoir adapter la taille de celui-ci au nombre de machines que l’on veut mettre dedans.

Cela permet de segmenter les réseaux pour les spécialiser, mais aussi les sécuriser en séparant des réseaux plus ou moins exposés ou avec des usages différents.

Les réseaux pourront ensuite êtres interconnectés entre eux en utilisant des 'passerelles'.


III. Applications

3.1 Les adresses réservées


En se basant sur tout ce qui a été expliqué avant, l’on peut comprendre que pour un octet, la valeur minimale est donc 0 et la valeur maximale est la somme des valeurs de tout ses bits, soit 255.

Cependant, deux choses rentrent également en ligne de comptes :

image.png

*ici, si l’on met tous les bits de la partie machine a 0, l’adresse du réseau est donc 192.168.1.0

image.png

*ici, si l’on met tous les bits de la partie machine a 1, l’adresse de broadcast est 192.168.1.255

Lorsque l’on calcule donc la capacité d’un réseau en nombre d’adresses machine, il faut retirer ces deux adresses du nombre d’adresses disponibles. Qui sont donc la première et la dernière adresse de la plage.


Dans l’exemple du réseau pris dans ce chapitre, voici donc ses données :

Ainsi les machines pourront avoir les adresses suivantes :

3.2 Exemples courants


Voici une table des tailles de masques avec pour chacune le nombre de réseaux et de machines disponible.

nombre de bits de la partie réseau

masque

nombre d’adresse disponible

24

255.255.255.0

254

16

255.255.0.0

65 534

27

255.255.255.224

30

28

255.255.255.240

14


3.3 Les passerelles


Étant donné que les machines ne peuvent communiquer qu’entre machines d’un même réseau, il faut utiliser des machines pour servir de passerelles entre les réseaux. Ces machines doivent évidement disposer d’une adresse dans chaque réseau auxquels elles seront connectées.

Il faut donc prévoir dans son calcul de réserver les adresses pour ces passerelles.

Ces machines seront appelées ‘routeurs’.

Cours sur le routage :  todo 



IV. Conventions

4.1 La notation CIDR


Par facilité, une notation alternative à la notation adresse + masque a été mise au point.

Il s’agit ici de noter l’adresse et y accoler le nombre de bits de cette adresse constituant la partie réseau.

Ainsi 192.168.1.0 et 255.255.255.255 deviennent 192.168.1.0/24

Et l’on peux aussi utiliser cette notation pour désigner une machine 192.168.1.27/24

Ainsi, l’on a en une fois à la fois l’adresse d’une machine et les informations permettant de savoir à quel réseau elle appartient.


4.2 Les classes d’adresses


Les adresses sont réparties en 4 classes définies par le nombre de bits alloués aux réseaux afin de regrouper ensemble les réseaux de même capacité.

image.png

Ainsi, les réseaux de classe A ont un premier octet compris entre 1 et 126*. soit un bit de poids fort égal à 0.

Les réseaux de classe B ont un premier octet compris entre 128 et 191. soit deux bits de poids fort égaux à 10.

Les réseaux de classe C ont un premier octet compris entre 192 et 223. Soit 3 bits de poids fort égaux à 110.

Les réseaux de classe D sont un cas particulier. Ils ont un premier octet compris entre 224 et 239. Soit 3 bits de poids fort égaux à 1. Il s’agit de réseaux et adresses réservées pour le multicast.

Cours sur le multicast :   todo 

Une dernière classe existe, avec un premier octet compris entre 240 et 255. Il s’agit de la classe E. Ces adresses sont réservées pour l’expérimentation et ne DOIVENT PAS être utilisées.

*le réseau de classe A 127 est réservé.


4.3 Les IP privées et publiques


Défini dans la rfc1918

En plus de ces classes, il faut différencier les plages d’adresses réservées à un usage public, par les opérateurs internets notamment et celles, privées, utilisable par les particuliers et les entreprises.

Actuellement les adresses privées utilisables sont les suivantes :

Sachant que la plupart des réseaux domestiques sont en 192.168.1.0/24 ou 192.168.1.0/24 il est recommandé d’utiliser d’autres plages pour des réseaux de LAB ou d’entreprise.

Notamment ceux de classe B, qui ne sont pas utilisés en usage domestique ou en IoT.


4.4 Les ip particulières


Dans les plages existantes il y a un certains nombres d’adresses ou de réseaux qui sont réservés à des usages particuliers et qui ne sont par conséquent pas utilisables :


V. Conclusion


Pour résumer,

Au sein d’un LAB ou d’une entreprise. Il est possible de découper plusieurs sous-réseaux. Dans la limite des IP privées des classes A,B et C. Avec une préconisation pour l’usage d’adresses de classe B.

Aller plus loin :

Réseau

Réseau - L'agrégation de liens (LAGG)

Débutant.png

Difficulté : Débutant


Notions : Réseau, interfaces, agrégation de liens.


I.Différents scenarii

Cette fiche a pour but d’expliquer le fonctionnement des agrégations de liens (Link aggregation ou LAGG)

2.1 Scenario 1 : Agrégation de lien (actif/actif)


Le but de ce scénario est d’agréger la bande passante afin de cumuler les bandes passantes de toutes les cartes.

image.png

Dans cette configuration, une interface virtuelle est créée.

Elle va utiliser les deux adaptateurs physique afin de cumuler leurs débit.

Les cartes fonctionnent ensemble et si l’une des deux est coupée. L’ensemble n’est plus actif et le lien ne fonctionne plus.


2.2 Scenario 2 : Failover (actif/passif)


Le but de ce scénario est d’avoir un lien de secours pour anticiper une éventuelle panne de matériel.

image.png

Dans cette configuration, une interface virtuelle est créée.

Elle va utiliser le premier adaptateur en lien nominal et le second en lien de secours.

En cas de rupture du lien nominal, la carte de secours sera utilisée.

Cela apporte une sécurité mais n’augmente pas le débit.


2.3 Scenario 3 : LACP (actif/actif + Redondance)


Ce scénario nécessite un switch manageable prenant en charge le LACP.

Le LACP est la fusion des deux scenarii ci-dessus.

image.png

image.png

Dans cette configuration, une interface virtuelle est créée.

Les deux adaptateurs sont activement utilisés, en cas de coupure d’un lien, le système fonctionne en mode dégradé

Réseau

Réseau - Modèle OSI


image.png

Difficulté : Débutant


Notions : réseau, modèle OSI



I. Introduction

Le  modèle OSI  (Open Systems Interconnection) est un modèle conceptuel en couche développé par l'International Standardisation Organisation (ISO).

Il permet de conceptualiser les communications réseaux entre les ordinateurs en divisant le processus de communication en 7 couches distinctes.

Chaque couche à un rôle spécifique et interagis avec les couches directement situées en dessous et au dessus d'elle.

Cette approche, en plus de visualiser le fonctionnement des communication réseau en permet un diagnostic efficace.

Voici la représentation des différentes couches.

modeleosi.png

Lors des communications entre machines, celles-ci seront encapsulées les unes dans les autres donnant alors ce que l'on appellera une 'trame' réseau.


II. Les couches du modèle OSI

2.1 Couche 1 : Physique

Il s'agit de la couche matérielle. Celle permettant de porter le signal réseau.

Elle est constituée des câbles réseaux, fibres optiques, ondes WIFI et des contacts électroniques des cartes réseaux.

Il s'agit de ce que l'on appelle le 'medium de propagation du signal'

image.png

image.png

image.png

câble RJ45 connecteurs fibre
antenne wifi

Outils de diagnostics

2.2 Couche 2 : Liaison

Il s'agit de la couche permettant aux machines de communiquer entre elles au plus bas niveau et de se transmettre le signal d'un nœud à un autre. En d'autre terme, d'établir une 'liaison' entre elles.

On y retrouve notamment les adresses MAC (Media Access Control).

Une adresse MAC est un identifiant physique unique permettant d'identifier l'interface réseau au plus bas niveau.

Les plages d'adresses MAC sont distribuées aux constructeurs de matériel réseau et chaque interface matérielle est dotée de sa propre adresse MAC unique au monde.

krqimage.png

Les protocoles utilisés à ce niveau sont :

C'est à ce niveau que va s'opérer le contrôle d'erreur (CRC) et la commutation par les switches. La gestion des VLAN, etc...

Outils de diagnostics

Vérification des tables ARP

par exemple :

image.png

2.3 Couche 3 : Réseau

La couche réseau est la plus connue et manipulée directement par les administrateurs réseaux et systèmes.

Il s'agit de la couche qui permet de faire abstraction de la couche matérielle afin de construire des topologies réseau logiques.

Celles-ci pourront de ce fait être cartographiées et des 'routes' permettrons d'interconnecter ces topologies entres elles.

C'est à ce niveau là qu'interviens le protocole IP et que l'on retrouve nos adresses logiques uniques sur le réseau.

A ce niveau, l'on parle de trames ip. Ces trames ont une taille limite de 65536 Octets. Mais celle-ci ne sera que rarement atteinte, car elle va être limitée par la taille maximale que les réseaux qui la portent peuvent supporter.

Cela se négocie grâce au MTU (Maximum Transfer Unit). Passé cette taille, les trames seront fragmentées.

Cette fragmentation est gérée par le routeur.

Attention : Rien ne garantis à ce stade que les paquets arriveront dans le bon ordre. Cela sera géré sur la couche suivante.

Voici les en-têtes présents sur cette couche :

en-tête Description
TTL (Time TLive)
ce champs permet de définir une expiration sur les paquets afin que ceux-ci puissent "s'autodétruire" si leur durée de vie est expirée. Empêchant ainsi une saturation du réseau.
SRC (Source address)
Adresse IP de la source de la transmission.
DST (Destination address)
Adresse IP de la destination de la transmission.
Checksum
Somme de contrôle IP.

C'est sur cette couche que sont géré entre autre le routage, le diagnostic et les tests de connectivité (avec ICMP).

Outils de diagnostics

2.4 Couche 4 : Transport

La couche 4 sert à faire passer des communication à travers le réseau IP.

On y retrouve principalement 2 protocoles de transfert :


La différence majeure entre les deux tient au fait que TCP gère la transmission, là ou UDP se contente d'envoyer des paquets sans aucun contrôle de la transmission.

2.4.1 TCP

Un paquet TCP est appelé un Segment.

TCP prends en charge la gestion des erreurs. A chaque trame transmise, des informations de contrôle y sont adjointes.

Ces informations permettent ainsi au récepteur de pouvoir s'assurer du numéro de paquet dans la transmission, du fait que le paquet soit complet et reçu sans erreur, de gérer les erreur éventuelles en demandant un nouvel envoi de paquet et enfin de savoir quand la transmission est complétée.

Cela le rends donc idéal pour tous les protocoles nécessitant que la donnée soit reçue de façon certaine. Par exemple pour le FTP, SFTP, SMB, HTTP, etc...

Un échange TCP se déroule de la façon suivante :

Etape Message Description
1 SYN
Un message SYN est envoyé par la machine 1, dans le cadre d'un processus appelé 'handshake'. Ce paquet est issu afin d'initier la connexion et synchroniser les deux machines.
2 SYN / ACK Ce paquet est envoyé par la machine 2 après réception du paquet de la machine 1 permettant de valider la réception de la demande d'échange.
3 ACK Ce message sera ensuite envoyé après chaque transmission, afin d'en valider la réception.
4 DATA Une fois la connexion établie, les données sont transmises à travers des messages data, qui seront 'acknowledged'.
5 FIN A la fin de la transmission, ce paquet est utilisé pour clôre proprement la session.
# RST Ce paquet est utilisé en lieu et place du paquet FIN si il y a eu un problème durant la transmission. Celui-ci terminera alors de façon abrupte la communication.

drawing-1-1782717563.png

Ainsi, les données importantes présentes dans les trames TCP Sont :

en-tête Description
SRC (Source address)
Adresse IP de la source de la transmission.
DST (Destination address)
Adresse IP de la destination de la transmission.
SRC port Le port source de la transmission.
DST port
Le port de destination de la transmission.
Sequence Number Lors de l'établissement de la connexion, le premier paquet reçois un numéro initial aléatoire. il constituera le premier numéro de la séquence à transmettre.
ACK Number Après l'envoi d'un bloc de donnée ayant reçu un Sequence Number, le nombre du prochain bloc reçois le nombre de séquence + 1 et ainsi de suite.
Checksum
Somme de contrôle, pour vérifier l'intégrité du paquet.
Data Là où se situe la donnée envoyée dans la trame.
Flag Ce champ détermine comment la trame doit être traitée par les deux machines durant le processus de Handshake. ( SYN / ACK / FIN / RST )

Cela permet de s'assurer que la transmission se déroule bien, de gérer les erreurs.

image.png

2.4.1 UDP

Un paquet UDP est appelé un Datagrame.

Contrairement à TCP, le protocole UDP ne prends pas en charge de contrôle de transmission ou d'erreur. Ce qui rends la perte de paquet irrémédiable.

Mais cette absence de contrôle en fait également son point fort. En effet, du fait de sa simplicité, il est très utile pour gérer des flux continus.

drawing-1-1782720795.png

Cela rends UDP parfait pour des transmissions continues et massive, comme par exemple des flux vidéos, VoIP ou autres...

Outils de diagnostics
Outils DIgnostics
netstat Ports, sessions, TCP states
ss Sockets, queues, states
tcpdump Flags, handshake, resets
Wireshark analyse complète
lsof Process ↔ port mapping
telnet / nc Disponibilité du port
curl / wget TCP errors, resets
(PowerShell) test-netconnection Windows TCP diagnostics
iperf Throughput, retransmissions
ssldump TLS handshake issues

2.5 Couche 5 : Session

La couche 5 permet le contrôle des 'sessions' de communications entre les applications.

C'est ici que les échanges vont être commencé, suivis, terminés entre les interlocuteurs.

C'est également ici que les erreurs de communications, les mises en attentes de paquets vont être gérées.

2.6 Couche 6 : Présentation

La couche 6 permet la mise en forme préalable des données de la couche suivante, soit sa 'présentation'.

C'est sur cette couche que ce fait par exemple le chiffrement du flux de données avant l'envoi de la trame (SSL / TLS).

C'est donc aussi sur cette couche que s'opèrera le déchiffrement.

Si des algorithmes de compression de flux sont mis en œuvre, ils se reposeront aussi sur cette couche pour la compression et décompression des flux.

2.7 Couche 7 : Application

C'est enfin sur cette couche que passe la communication des différents services et application.

C'est là que se retrouvent l'ensemble des protocoles liés aux applications comme le DNS, DHCP, NTP, HTTP, etc...

Outils de diagnostics

Côté client, tester la connexion TCP avec telnet, netcat ou autre.

Telnet


III. Conclusion

Lors d'un diagnostic sur un problème réseau, il est important d'avoir ce modèle en tête et de réfléchir au problème couche par couche en partant de la plus basse.

Cela permet de gagner du temps sur la résolution d'un problème.

A moins bien sûr que la couche qui pose problème soit clairement identifiée au départ par le retour obtenu ou le message d'erreur.

Basiquement, pour une résolution de problème sur la connectivité des VM, les questions à se poser sont :

  1. La carte réseau existe et est connectée
  2. Je suis situé sur le bon Vswitch (VMBR)
  3. Je suis dans la bonne plage IP des deux côté
  4. Les pare-feu / routeurs sont bien configurés

Si le signal est OK et que le ping passe, 

  1. Le service est démarré sur le serveur,
  2. Le port est ouvert
  3. la configuration de mon service est correcte
  4. le contenu est accessible.
Réseau

Réseau - Protocole DHCP

image.png

Difficulté : Novice


Résumé :

  • OSI : couche 7 (Application) sur couche 4 (Transport)
  • Type : UDP
  • Port : 67, 68



I. Introduction

Le protocole DHCP (Dynamic Host Configuration Protocol) est un protocole permettant la configuration réseau automatique d'un ou plusieurs hôtes par un serveur.

Cela permet de gérer un grand nombre d'hôtes sans nécessiter une intervention des administrateurs.

Les échanges entre le client et le serveur se font entre la couche 5 et 7 du modèle OSI.



II. Diagramme 

drawing-1-1768895411.png

1 - DHCP Discover

L'hôte configuré en DHCP envoie un broadcast général. Il place son adresse MAC dans le paquet.

Il utilise l'ip 0.0.0.0 en source et envoie son broadcast à 255.255.255.255 en destination.

Cela lui permet d'adresser toutes les machines présentes sur le réseau.

Si un serveur DHCP se trouve à portée, il captera le broadcast et répondra alors.

2 - DHCP Offer

Le serveur DHCP reçoit la requête et, comme le PC de destination n'a pas d'adresse IP, il va alors répondre également en broadcast.

Info : Certains clients acceptent une réponse en unicast. Le DHCP pourra alors être configuré pour leur répondre en unicast.

Il va envoyer dans le paquet la configuration réseau (ip, masque, passerelle, dns, etc...) ainsi qu'une durée de bail et l'adresse MAC du pc demandeur.

Si plusieurs serveurs DHCP sont présents, selon leurs configuration, l'un d'entre eux ou tous répondront à la requête et le client fera son choix (généralement basé sur la réponse la plus rapide).

3 - DHCP Request / DHCP Decline

L'ensemble des hôtes présents sur le réseau reçoivent la réponse.

Comme le demandeur avais placé son adresse MAC dans le paquet, il comprends que la réponse lui est adressée. Les autres hôtes lisent l'adresse MAC, et comme ce n'est pas la leur, ignorent le message.

Si plusieurs serveurs DHCP ont répondus, le client fera alors son choix (généralement basé sur la réponse la plus rapide).

Ensuite, deux scénarii :

4 - DHCP Ack

Le serveur qui a reçu le message de requête va alors la prendre en compte et renvoyer au client un message en lui indiquant qu'il a bien Validé cette demande.

Suite à cet échange

Une fois cet échange terminé le serveur va alors enregistrer dans sa base l'adresse MAC du PC ayant fait la demande ainsi que la configuration qui lui a été attribuée ainsi que la durée du bail.

Un compteur se met alors en route. A la fin de celui-ci, le bail étant terminé, le serveur va libérer cette configuration et la remettre dans son pool de disponibilité. Elle pourra donc ensuite être réattribuée à un autre hôte qui fera une demande.


III. Configuration

Lors de la configuration d'un serveur DHCP, il va falloir un minimum d'informations :

Il est possible de fournir au client plus de configurations :


IV. Autres principes

Réservation : Il est possible de réserver une configuration. Lorsqu'un hôte obtient une configuration, on pourra demander au serveur de lui réattribuer systématiquement la même.

Plage d'exclusion : Il est également possible de définir à l'intérieur des plages d'adresses des exclusions, afin de préciser que certaines adresses ne doivent pas être distribuées.



IV. Relais DHCP

Comme vu plus haut, le DHCP s'appuie essentiellement sur des broadcasts. Hors, le problème est que les broadcast ne passent pas les routeurs.

Si l'on veut distribuer des adresses sur un ou plusieurs réseaux se situant derrière des routeurs, il faudra donc utiliser un relai DHCP.

Le rôle de celui-ci sera de prendre le broadcast envoyé par le client et de le renvoyer sous forme d'unicast au serveur DHCP. Puis de récupérer la réponse de celui-ci et de la retransmettre en broadcast dans le réseau d'origine.

Ainsi :

drawing-1-1759516338.png


V. Cas de plusieurs réseaux

Dans le cas où un serveur devrait servir plusieurs étendues réseaux, lors du passage du relais, celui-ci glisse dans le paquet (champ giaddr) son adresse IP.

En se basant sur cette adresse, le serveur DHCP choisit alors l'étendue adaptée et fait une proposition dans ce sens.

C'est ainsi que le tri se fait entre les demandes.

Info : A noter que si le relai DHCP peut être une machine dans le réseau, certains routeurs proposent nativement cette fonctionnalité.

Réseau

Réseau - Protocole DNS

image.png

Difficulté : Novice


Résumé :

  • OSI : couche 4, 6 & 7
  • Type : UDP (parfois TCP)
  • Port : 53 (853 DNSsec)



I. Introduction

Le protocole DNS (Domain Name System) permet de traduire les noms de domaine lisibles par l’homme (comme www.example.com) en adresses IP compréhensibles par les machines (192.0.2.1). Il joue un rôle fondamental dans la navigation sur Internet et dans la résolution de noms au sein des réseaux locaux.

Les échanges DNS se situent entre les couches 5 à 7 du modèle OSI, bien qu’ils reposent sur des mécanismes de transport en UDP ou TCP selon le contexte.


II. Diagramme

drawing-1-1760434403.png

1 - Vérification locale (cache)

Lorsqu'une résolution est nécessaire ; effectuée par l'utilisateur ou le système ; la machine va dans un premier temps consulter son cache local.

2 - Vérification locale (fichier)

Le client va vérifier si ses fichiers 'Hosts' contiennent l'enregistrement.

3 - DNS Query

Le client va interroger le(s) serveur(s) déclarés dans sa configuration réseau.

Il existe 3 types de requêtes :

image.png

Source : geeksforgeeks

Dans tous les cas, si un serveur ne dispose pas de la réponse, il vérifiera si l'un de ses forwarder ou si les serveurs racine ont la réponse et soit fera la recherche pour le client (Récursive) soit lui donnera l'adresse d'un forwarder ou serveur racine (itérative).

4-5 - Vérification du cache

Tout comme le client effectue de son côté une vérification de son cache et de ses fichiers locaux aux étapes 1 et 2, les serveurs relais vont effectuer la même opération. Cela permettra une réponse plus rapide.

6 - Mise à jour du cache

Une fois la réponse obtenue, le cache local du resolver est mis à jour.

Ces enregistrements resterons mis en cache pour la durée du TTL.


III. Principes de bases

3.1 Le cache DNS

Chaque enregistrement DNS dispose d'un TTL (Time To Live). Lorsqu'un enregistrement est mis en cache, il périmera à l'expiration du TTL. Celui-ci sera alors supprimé du cache et rajouté à nouveau lors d'une prochaine requête.

Astuce : Tous les systèmes disposent de commandes pour vider manuellement ce cache.

Info : C'est cette mécanique qui est utilisée lors des attaques par empoisonnement de cache DNS (DNS poisoning).

3.2 La hiérarchie des serveurs DNS

L’architecture DNS se compose d’un système de résolution de nom hiérarchique et décentralisé pour les ordinateurs, les services ou toute autre ressource connectée à Internet ou à un réseau privé. Il stocke les différentes informations associées des noms de domaine attribués à chacune des ressources.

La hiérarchie DNS repose sur plusieurs niveaux qui peuvent intervenir lors d’une résolution DNS :

Liste des serveurs racines

Actuellement, il existe 13 serveurs DNS racines dont une grande majorité se trouvent aux USA.

 

 

 

 

 

 

 

 

Serveurs DNS racines Adresse IPv4 Adresse IPv6 Opérateur
A 198.41.0.4 2001:503:ba3e::2:30 VeriSign
B 192.228.79.201 2001:478:65::53 USC-ISI
C 192.33.4.12 2001:500:2::c Cogent Communications
D 199.7.91.13 2001:500:2d::d University of Maryland
E 192.203.230.10   NASA
F 192.5.5.241 2001:500:2f::f ISC
G 192.112.36.4   U.S. DoD NIC
H 128.63.2.53 2001:500:1::803f:235 US Army Research Lab
I 192.36.148.17 2001:7FE::53 Autonomica
J 192.58.128.30 2001:503:c27::2:30 VeriSign
K 193.0.14.129 2001:7fd::1 RIPE NCC
L 199.7.83.42 2001:500:3::42 ICANN
M 202.12.27.33 2001:dc3::35 WIDE Project

 

 

 

 

 

 

 

 

 

3.3 Les types de domaines

Il en existe 3 types :


IV. Types d'enregistrements DNS

Les enregistrements DNS sont des parties importantes de la Système de nom de domaine (DNS). Il existe plus de 30 types d'enregistrements, chacun servant de saisie de base de données qui fournit des informations spécifiques sur un domaine, y compris son adresse IP, ses serveurs de messagerie et sa sécurité. Ces enregistrements sont stockés dans des fichiers DNS Zone et gérés par les serveurs DNS.


4.1 Terminologie DNS

Avant de voir les types de dossiers DNS spécifiques, il est utile de comprendre une terminologie DNS de base.

Voici quelques termes clés utiles dans la compréhension de DNS Records.

  • Enregistrement des ressources: L'élément de données de base dans le DNS. Chaque enregistrement spécifie des informations sur un domaine.

  • Nom: Le nom de domaine auquel l'enregistrement s'applique.

  • TTL (temps de vie): La durée pour laquelle le dossier est mis en cache par les DNS Resolvers.

  • Classe: Spécifie la famille du protocole. Dans (Internet) est le plus courant.

  • Taper: Le type d'enregistrement DNS (par exemple, a, aaaa, cname).

  • Donnés: Les données spécifiques de l'enregistrement, telles qu'une adresse IP.

  • Fichiers de zone: Fichiers contenant des mappages entre les noms de domaine et les adresses IP.

  • Nom du serveur: Un serveur qui gère les enregistrements DNS pour un domaine.

4.2 Types d'enregistrements DNS les plus courants

Chaque type d'enregistrement DNS a une fonction spécifique, ce qui aide à gérer les noms de domaine et à garantir un approvisionnement approprié du trafic Internet.

image.png

source : Wikipedia

4.3 Champs spécifiques

Certains protocoles se basent sur l'utilisation de champs spécifiques. La plupart du temps, il s'agit de champs TXT devant être formatés de manière très précise.

C'est le cas par exemple pour la vérification des serveurs de messageries qui peuvent utiliser les champs DMARK et SPF.

Ou la VoIP.


V. Principes avancés

5.1 Recherche inversée

Tout comme il est possible avec le DNS de savoir quelle adresse IP corresponds à quel nom d'hôte, il est également possible d'effectuer une recherche inversée pour avoir les noms attachés à une adresse IP.

Cela sert dans le cadre de vérification ou de diagnostic.

Cette recherche s'appuie sur une zone de recherche inversée contenant les champs en .arpa.

5.2 DNSsec

Le DNSSEC (Domain Name System SECurity extensions) est une extension du protocole DNS qui ajoute une couche de sécurité en garantissant l'authenticité des réponses DNS.

Chaque zone DNS est signée avec une clé privée.

La clé publique est placée dans l'un des champs de la zone et permet à un client qui ferai une requête de vérifier l'authenticité de la réponse.

Cela permet de se prémunir des attaques de type "DNS spoofing" ou de "cache poisoning".

Attention : Cela permet de garantir l'authenticité de la réponse mais ne chiffre pas les échanges. De plus tous les équipements ne seront pas forcement compatible avec ce protocole.

Les enregistrements spécifiques utilisés sont :

5.3 DoH / DoT

Le DoH (Dns Over Https), vise à faire passer les requêtes DNS par le biais d'un canal chiffré par HTTPS. Rendant son interception et sa modification plus difficile.

Si aujourd'hui beaucoup de navigateurs l'intègre nativement, il est très peu présent sur les équipements réseaux.

Le DoT (Dns Over Tls) vise à faire passer les requêtes DNS par le biais d'un canal chiffré par TLS. Les avantages sont les mêmes qu'avec le DoH. Mais il utilise un port à part (853), permettant de le différencier du trafic HTTPS, mais également de faire un filtrage plus fin sur les pare-feu.

Réseau

Réseau - Protocole RIP

image.png

Difficulté : Confirmé


Notions : Protocoles réseaux, routage, routage dynamique.



I. Introduction

Le protocole RIP pour Routing Information Protocol est un protocole permettant aux routeurs d'échanger automatiquement leurs tables de routage. Il fait partie des protocoles IGP (Interior Gateway Protocol) qui sont utilisés à l'intérieur d'un même réseau ou organisation.

C'est un protocole de couche 3.

Cela facilite la gestion du parc, permettant notamment de mettre à jour automatiquement les tables de routages en cas d'ajout ou suppression d'un réseau, rendant celui-ci facilement scalable et simple à administrer.




II. Principes de base

2.1 Fonctionnement

Le principe du RIP est asses simple :

Chaque routeur génère une table de routage composée de ses réseaux connus directement accessibles via ses interface. Il y ajoute les routes connues ainsi que leur distances en nombre de saut.

Puis, régulièrement (par défaut 30 secondes), il envoie cette table à ses partenaires de réplication. Dans la première version du protocole, cela se fait par broadcast. Puis cela a été changé pour du multicast dans les versions suivantes du protocole ( 224.0.0.9 pour RIPv2 en IPV4, puis dans le RIPng pour IPV6 : FF02::9)

Chaque routeur, met ainsi ses tables à jour et peut les propager aux autres. Les doublons sont éliminés et les routes avec un minimum de saut sont conservées afin d'optimiser la performance.

Si une route n'a pas eu d'update dans un délai de 180 secondes, elle est marquée comme invalide. Passé 240 secondes, elle est supprimée.

Ces délais permettent ainsi d'ajouter une purge des routes inutiles en plus des ajouts, permettant de conserver des tables de routages précises.

2.2 Mécanismes internes

Le RIP utilise plusieurs mécanismes en interne pour éviter des boucles dans la topologie.

Voici une liste plus détaillées des timers clés :

Timer Valeur Rôle
Update 30 s Envoi périodique des tables
Invalid 180 s Route considérée invalide
Hold-down 180 s Stabilisation
Flush 240 s Suppression de la route

2.2 Limitations

Le RIP repose essentiellement sur le hop count. Ce compteur de saut est limité à 15 sauts.

Cela le rends inefficace pour de larges topologies et limite donc son usage à des réseaux de petite tailles ou de tailles moyennes.

De plus en terme de priorité de traitement, les requêtes RIP sont les moins prioritaires.

Protocoler Distance administrative
RIP 120
OSPF 110
EIGRP 90
statique 1
connectée 0


III. Versions de RIP

Il existe 3 versions du protocole RIP :

Feature RIPv1 (1988) RIPv2 (1993) RIPng (1997) for IPv6
Méthode de mise à jour Broadcast (255.255.255.255) Multicast (224.0.0.9) Multicast (FF02::9)
Adressage Classful (pas d'info de sous réseau) Classless (inclus le masque) Classless (IPv6)
Authentification Pas de support plain text, MD5 plain text, MD5
Version IP supportées IPv4 IPv4 IPv6
Protocole / port UDP 520 UDP 520 UDP 521


IV. Considérations de sécurité

Attention : Le protocole RIP est considéré aujourd'hui comme obsolète. Il est en effet remplacé par d'autres protocoles plus modernes et sécurisés.

Le principal risque du protocole RIP reste l'empoisonnement des routes par un tiers ou un équipement malveillant.

Il est donc primordial de respecter à minima les deux conditions suivante lors de la mise en place :

Il est à noter que le RIP n'utilise pas directement MD5 pour hasher un mot de passe, mais comme fonction de hashage dans un mécanisme d'authentification HMAC-Like.

Aussi, il ne s'agit pas de hasher un mot de passe, mais le paquet RIP complet. Lors de l'échange, les routeurs disposant tous de la même clé, ils vont recalculer localement le hash de la trame reçue afin de certifier qu'elle est bien originaire d'un routeur connu.


V. Conclusion

Même si son usage est déprécié, Il reste intéressant à voir à des fins pédagogiques car il permet d'introduire les principes de routage dynamique avec un protocole simple dans son fonctionnement.

De plus, sur les équipements plus anciens, il s'agit souvent de la seule alternative disponible.

Réseau

Réseau - Protocole STP/RSTP

image.png

Difficulté : Confirmé

 

Notions : Réseau, protocoles, résilience réseau.



I. Introduction

Dans le cadre de la résilience d'une topologie réseau, il est essentiel de redonder des liens afin de palier à une rupture éventuelle.

Plusieurs topologies réseaux spécifiques existent. Dont les deux suivantes :

drawing-1-1779183432.png
drawing-1-1779183524.png
Topologie Boucle ( ring ) Topologie meshée

Cependant, ces boucles créent également deux problèmes majeurs :

Ce qui peut mener à des dysfonctionnement applicatifs ( rupture de session ), des pertes de performances ( collision de paquets, réadressage MAC ) voire à un effondrement du réseau.

Pour éviter ces problèmes et rendre ce type de topologies possibles, le protocole STP ( Spanning Tree Protocol ) a été créé.

Cependant, dû à ses problèmes de lenteur de cicatrisation réseau ( 30-50 secondes de délai de convergence ), une version plus moderne en a été créée : le protocole RSTP ( Rapid Spanning Tree Protocol ).

Celui-ci réduit les temps de cicatrisation entre 1 et 3 secondes et apporte quelques améliorations :



II. Fonctionnement STP/RSTP

2.1 Principe général

Le fonctionnement de base du STP / RSTP est le suivant :

2.1.1 Election de la passerelle racine ( root bridge )

Chaque switch envoie une trame d'un type spécifique appelée BPDU ( Bridge Protocol Data Unit ).

Cette trame contient les informations de priorité, d'adresse MAC et de coût du chemin racine.

Une fois ces trames reçues, le switch ayant la priorité ave la valeur la plus basse devient le switch racine.

Info : En l'absence de priorité définies sur les switch, c'est la valeur des adresses MAC qui est prise en compte et fait office de valeur de priorité.

Une fois ce processus d'élection achevé, les trames continuent à être envoyées de manière continue. Si un switch apparaît avec une priorité plus élevée, ce rôle lui sera transféré.

Conseil : C'est ce qui rend la résilience possible et l'architecture scalable. Si le root bridge tombe, celui avec la meilleure priorité disponible est automatiquement élue. Si un switch avec une meilleure priorité est ajouté à la topologie, il est également automatiquement élu et récupère le rôle de root bridge.

2.2.2 Détermination des ports racine ( root ports )

Chaque switch non-racine détermine ensuite son root port. Il s'agit du port qui a le chemin le plus court pour accéder à la racine.
Ce chemin est calculé en faisant la somme des coûts pour chaque chemin.
Le coût est calculé en fonction de la rapidité des liens. Voici un tableau avec les valeurs de références.
Débit du lien Coût STP (802.1t)
10 Mb/s 2 000 000
100 Mb/s 200 000
1 Gb/s 20 000
10 Gb/s 2 000
100 Gb/s 200
1 Tb/s 20

Info : En cas d'égalité entre deux chemins, c'est le voisin avec le bridge ID le plus faible qui l'emporte. Si l'égalité persiste, c'est le Port ID le plus faible qui est choisi.

Ce port sera donc tagué comme actif.
Exemple : Switch A est le Root Bridge. Switch B peut atteindre A via deux chemins :

Le Root Port de B sera le port vers D, car 22 000 < 40 000.

2.2.3 Désignation des switches et ports désignés ( designated ports )

Sur chaque segment de la topologie, un switch deviens Designated Bridge et ces ports non root participants à la topologie deviennent des designated ports. Ces switches et ces ports serviront de forwarders aux switches suivants sur la topologie, ceux qui sont plus loin que la racine.

2.2.4 Blocage des ports redondants ( Redundant ports )

Les ports participant à la topologie mais n'étant désignés ni comme root, ni comme designated seront alors bloqués et deviendrons des blocked ports. Ces ports pourront être activés en cas de dysfonctionnement de l'un des ports actif.

En attendant, ceux-ci :

C'est comme cela que les switches de la topologie se prémunissent des boucles réseaux et c'est ce fonctionnement qui explique également les latences de cicatrisation.

On a donc 5 états possibles pour un port :

  1. Disabled

  2. Blocking (20 seconds)

  3. Listening (15 seconds)

  4. Learning (15 seconds)

  5. Forwarding

2.2 Les améliorations de RSTP

Pour simplifier le fonctionnement du protocole et accélérer les temps de cicatrisation réseau, le RSTP va apporter quelques changements à ce fonctionnement.

Pour vulgariser, lorsqu'un switch reçois un BPDU de son voisin, il peut décider :

Détail de la négociation
  1. Un switch reçois une BPDU "meilleure" : Il comprend que son port doit devenir 'root port'.
  2. Il bloque temporairement tous ses 'designated ports' : Ce qui évite les boucles.
  3. Il envoie un 'agreement' à son voisin : Si il peut garantir que cela ne créée pas de boucle.
  4. Le voisin passe son port en forwarding : Pas de délai d'attente comme en stp classique.
  5. Le switch débloque tous ses 'designated ports' : La topologie converge ainsi en quelques milisecondes.

Voici un comparatif des deux protocoles permettant de se faire un ordre d'idée

Fonctionnalité STP (802.1D) RSTP (802.1w)
Convergence 30–50s 1–3s
Etat de ports 5 3
Rôle de ports 3 4
BPDU seul le root envoie tous les switchs envoient
Détection de dysfonctionnement Lent Fast Handshake
Edge ports Optionnel Concept Natif


III. Caractéristiques des ports

3.1 Caractéristiques générales

Les ports peuvent être identifiés sur les switches de la façon suivante :

Identification sur le switch Correspondance Caractéristiques
RP
Root Port
  • Un seul par switch.
  • Non applicable au root bridge.
  • Représente le chemin le plus court vers le root bridge.
DP Designated Port
  • Un par segment.
  • Transmettent le trafic vers l'aval depuis le root bridge.
AP Alternate Port
  • port de backup pour le root port.
  • Si le RP est coupé, il prends le relai.

BP

Backup Port
  • port de backup pour un designated port (sur le même switch).
  • Rare dans les topologies réseaux modernes.

EP

Edge Port (PortFast)
  • Ne participe pas à la topologie.
  • Relie un équipement actif.

En RSTP, un port peut avoir trois états fonctionnels ( Au lieu de 5 en STP ) :

Les ports ne participant pas à la topologie où les équipements actifs sont connectés sont les Edge Ports (PortFast).

Pas de recalcul ou de changement d'état sur ces ports car ils ne participent pas à la topologie. Ils passent directement en mode forward. Cela permet d'annuler les délais pour les équipements actifs branchés dessus.

2.2 BPDU Guard & Loop Guard

En plus de ce qui a été vu ci-dessus, il existe deux fonctionnalités supplémentaires applicables aux ports en STP/RSTP.

La première est le BPDU Guard : C'est une fonctionnalité qui sert à protéger les Edge Ports des trames BPDU non désirées.

Ces ports ne participant pas à la topologie, ils ne doivent pas traiter de trames BPDU.

Si toutefois, suite à une erreur de manipulation (mauvais branchement par exemple), ces ports reçoivent des trames BPDU, cela veut dire qu'un port RSTP a été branché sur un port ne participant pas à la topologie et donc naturellement non protégé contre les boucles réseaux.

Dans ce cas, le BPDU Guard va automatiquement couper le port pour prévenir la boucle. Le port passe alors en état Err-disable.

La seconde est Loop Guard : C'est une fonctionnalité qui sert à protéger les liens Trunk et les uplinks de boucles unidirectionnelles.

2.2 Rapid-PVST

Le rapid-PVST ou (Per Vlan Spanning Tree) est un RSTP appliqué par VLAN.

Ainsi si plusieurs VLAN co-existent au sein d'une même topologie physique, il est possible de définir une instance de RSTP par VLAN.

Chaque VLAN dispose ainsi de :

Conseil : Cela peut se révéler particulièrement intéressant dans de vastes structures dans lesquelles il est important voire crucial d'optimiser ses chemins réseaux et d'équilibrer la charges sur les différents liens. Ou dans le cas d'usages intensifs de bande passante sur des vlan concurrentiels ( voip / Vidéo )... 

Cependant pour des réseaux à très grande échelle, il sera préférable d'utiliser le protocole MSTP.

Il sera également bon de prendre en compte que vu que le Rapid-PVST est instancié par VLAN, il consomme également plus de CPU.


IV. Les trames BPDU


Comme vu jusqu'ici, le RSTP repose sur l'utilisation de trames spéciales appelées BPDU.

Contrairement au STP classique où seul le root bridge envoie des trames, en RSTP, chaque switch envoie ces trames en plus de forwarder celles du root bridge. C'est cela qui permet des délais de cicatrisation si courts.

 Ces trames se déclinent en deux types.

4.1 Les Configuration BPDU

Il s'agit des paquest BPDU normaux, envoyés toutes les 2 secondes par le Root Bridge.

Celles-ci contiennent :

Leur rôle est de maintenir la topologie. Elles servent également a élire ou ré-élire un root bridge et déterminer les root ports et designated ports.

4.2 Les TCN BPDU ( Topology Change Notification ) en STP

En STP classique, ce sont les trames spéciales envoyées par un switch qui détecte un changement dans la topologie.

( par exemple : Un port qui passe de forwarding à down ou inversement, un lien qui tombe, un switch ajouté ou retiré de la topologie, etc...)

Cela fonctionne de la façon suivante :

  1. Un switch non-root détecte un changement de topologie.
  2. Il envoie une TCN BPDU vers son root port.
  3. Chaque switch intermédiaire accuse réception et relaie vers le root bridge.

Le root bridge active alors le Topology Change Flag dans ses configuration BPDU et diffuse cette information sur l'ensemble du réseau.

Chaque switch va alors réduire le temps le mise en cache des adresse MAC ( aging time) afin de les purger au plus vite.

Info : En RSTP, ces trames sont supprimées et leur mécaniques sont intégrées dans les BPDU normaux, ce qui est beaucoup plus rapide.

4.3 Détection des changements en RSTP

En RSTP, plutôt que d'utiliser des trames dédiées sur un changement de topologie, le Change Flag est intégré dans les trames classiques. Et comme chaque switch émets ses propres trames en permanence en plus de forward celles du root bridge, l'information se diffuse donc bien plus rapidement.


Ainsi, lorsqu'un port change d'état ( Up / Down / Forwarding), le RSTP :

La propagation devient ainsi locale plutôt que globale et les délais de cicatrisation sont ainsi réduits à leur minimum.

Un changement de topologie met désormais entre 1 et 3 secondes à être totalement oppérationnel.


V. Bonnes pratiques


Il est important, compte tenu des mécanismes ci-dessus, de prendre en considération l'ensemble des fonctionnalités dans la construction d'une topologie à la fois résiliente et optimisée.


VI. Conclusion


Le protocole RSTP est primordial dans les architectures réseaux modernes critiques où le réseaux doit à tout prix être stable et fonctionnel. Rendant ainsi centraux les aspects de redondance et de convergence rapide.

Mais il fait entrer beaucoup de notions différentes complexes qu'il est essentiel de bien comprendre et maîtriser afin de rendre son infrastructure la plus optimisée possible.

Réseau

Réseau - sockets

image.png

Difficulté : Débutant


Notions : adressage IP, port, modèle OSI, protocoles réseaux.



I. Introduction

Prérequis : Connaître les notions de modèle OSI et l'adressage IP (à minima V4).

Lorsqu'une machine veut utiliser un protocole pour envoyer ou recevoir des informations sur un réseau, elle va devoir ouvrir un canal de communication.

Comme la machine peut ouvrir plusieurs canaux de communication à la fois, elle va avoir besoin de pouvoir identifier quel canal est utilisé pour quelle communication.


II. Principes du socket


2.1 Définition

En réseau, un socket est un couple d'adresse ip / port basés sur un protocole, permettant d'envoyer ou recevoir des données à travers un réseau informatique.

Il y a 3 choses qui identifient un socket sur le réseau :

Pour la machine, un socket se présente comme suit : <ip machine>:<port>.

Par exemple : 192.168.1.10:250458 (TCP)

Il existe trois types de socket, basé sur le protocole utilisé (TCP, UDP, Raw) :

Type Description Utilisation type
Stream Socket (TCP) Fiable et orienté connexion. navigation web, messagerie, etc...
Datagram Socket (UDP) Plus rapide mais pas de contrôle streaming vidéo, VoIP, jeux en ligne, etc...
RAW Socket Accès direct aux couches basses Diagnostics réseaux, protocoles personnalisés, etc...

2.1 Limitations

Un socket ne peut être attribué qu'a un seul canal de communication à la fois, donc si la machine veut en ouvrir plusieurs, elle devra utiliser plusieurs sockets différents.

Selon les protocoles utilisés et leurs limitations ou paramétrage, elle ne pourra en ouvrir qu'un nombre simultané limité. Voire un seul.

2.3 Attribution des sockets

Un socket ne peut être attribué qu'a un seul canal de communication à la fois, donc si la machine veut en ouvrir plusieurs, elle devra utiliser plusieurs sockets différents.

Selon les protocoles utilisés et leurs limitations ou paramétrage, elle ne pourra en ouvrir qu'un nombre simultané limité. Voire un seul.


III. Socket client et socket serveur

3.1 Côté serveur

Côté serveur, le socket d'écoute est fixé par le protocole.

Il peut s'agir d'un port fixe : par exemple le 53(UDP/TCP) pour le DNS ou le 123 (UDP) pour le NTP.

Une plage de port : 3478 - 3481 (Microsoft TEAMS)

Souvent, un port unique fait office de point d'entrée et un répartiteur écoutant sur ce port, redirige le client sur un port destination spécifique de la plage.

3.1 Côté client

Côté client, il s'agit le plus souvent d'un port source dynamique 

Sauf fonctionnement spécifique, la plage de port pour un socket côté client s’étend de  49152 - 65535 conformément à ce qui est prévus dans les catégories de ports.


IV. Opérations de diagnostics

4.1 Visualiser les sockets utilisés.

4.1.2 Sur windows

Utiliser les commandes suivantes :

netstat -an

image.png


Pour plus de détails :

netstat -anob

Lister seulement les ports en écoutes :

netstat -anob | findstr LISTENING

4.1.2 Sur linux

Utiliser les commandes suivantes :

netstat

image.png

Lister seulement les ports en écoutes :

netstat -tunlp

image.png

Lister depuis les processus :

lsof -nP -iTCP -sTCP:LISTEN

image.png

Réseau

Réseau - Topologies

DISCLAIMER : Cette page est actuellement en cours de rédaction et son contenu peut être incomplet ou inexact

image.png

Difficulté : Débutant


Notions : Topologies réseaux, fondamentaux



I. Introduction

Un réseau est un ensemble de machines interconnectées. Il peut prendre plusieurs formes qui seront appelées 'Topologies'.

Une topologie réseau est la couche structurelle sur laquelle les machines vont s'interconnecter pour former le réseau.

Cela conditionnera en partie les protocoles utilisés pour communiquer, mais aura aussi un impact sur des critères comme :

Habituellement la notion de topologie fait autant référence à la couche physique des interconnexions ( câbles, antennes, fibres, etc... )

qu'a la couche logique (comment les chemins réseaux sont organisés).


II. Topologies classiques

2.1 Topologie en étoile

C'est la topologie la plus courante. l'Ensemble des équipements sont reliés à un point central qui servira à distribuer le réseau.

Adapté au réseaux petits à moyens, elle peut rapidement être mise à l'échelle.

drawing-1-1782909637.png


2.2 Topologie en étoile étendue ou hiérarchisée.

C'est la topologie la plus courante des que les réseaux grossissent un peu.

L'on part d'un cœur de réseau qui se situe au niveau le plus haut, puis on décentralise sur des équipements périphériques. En fonction de la charge et du nombre, il est possible d'ajouter également des switches sur les autres switches, etc...

drawing-1-1782910237.png

Info : Cette topologie en arborescence comporte également une variant plus large pour les grosses structures ou les structures multi-sites. Avec des routeurs plus réguliers et différents niveaux de swiches.


2.3 Topologie meshée

En français topologie 'maillée'.

Certains liens sont redondés et les équipements sont interconnectés. Cette topologie est particulièrement appréciée sur des réseaux où la fiabilité l'optimisation prime sur la simplicité d'installation.

drawing-1-1782911071.png

Trivia : Ce qui ressemble très vite à une toile d'araignée. D'où l'origine du 'web';


III. Topologies industrielles

3.1 Topologie en bus

Autrefois utilisée pour les réseaux informatiques à leurs débuts, il s'agit d'une des forme de réseau les plus simples et prévisibles.

Chaque équipement est connecté à un bus et dispose d'un ordre de passage sur le réseau.

Le long du bus, une trame circule d'un bout à l'autre dans les deux sens et fait transiter la donnée.

drawing-1-1782911637.png


Trivia : C'est cette notion de bus et de trame qui donneront ensuite les notions de trame réseau et de BUS au sens largeur de bande passante de la connectique.

3.2 Topologie en anneau

Bien que se retrouvant essentiellement dans le milieu industriel, elle peut parfois faire sens dans des réseaux vidéos ou voix sur IP associée à une politique de QoS. Voire même informatique classique dans la mesure où elle permet une forme basique de redondance tout en coûtant sensiblement moins cher que le réseau mesh.

drawing-1-1782914081.png

3.1 Topologie en anneau




Rôles / Services

Notions théoriques liées aux services et divers produits sur cette couche.

Rôles / Services

Active Directory - Méthode AGDLP

image.png

Difficulté : Débutant


Notions : Active directory, Organisation, Bonne pratique, méthodologie AGDLP.



I. Introduction

La méthode AGDLP ( Account Global Domain Local Permission ) est une méthode de gestion de droits et permissions à travers les groupes Active Directory et plus largement LDAP.

Cette méthode poursuit un objectif triple :

La combinaison de ces trois buts résulte en une gestion qui a priori peut sembler complexe à la mise en oeuvre, mais qui se révélera par la suite bien plus simple, transparente et efficiente dans son utilisation courante.

Dans un second temps, il deviendra aussi possible d'encadrer correctement la délégation de la gestion des accès et des privilèges.

Cette méthode peux s'appliquer indépendamment aux serveurs de fichiers, aux différents services et applications de l'entreprise, ainsi que (par le biais du SSO) aux rôles des application fédérées.

Info : Cette méthode prends tout son sens dans un environnement multi-domaines comme c'est de plus en plus fréquent d'en voir avec la logique de tiering.


II. Rappel : Portée des groupes AD

Avant de rentrer plus en détail sur l'application de cette méthode, il est nécessaire de rappeler certaines bases du fonctionnement des groupes Active Directory (ou LDAP) car c'est sur eux que va intégralement s'appuyer cette méthode.

image.png

Pour rappel, il exite deux types de groupes :

A cela s'ajoute la portée du groupe. c'est ce point qui va être central dans l'utilisation d'AGDLP. Il s'agit du niveau de visibilité du groupe.

Il y a 3 niveaux de portée :

drawing-1-1776670335.png


III. Fonctionnement de la méthode

3.1 Principe général

Comme vu ci-dessus, les groupes peuvent être imbriqués les uns dans les autres et c'est ce principe là qui va nous intéresser dans l'application de la méthode AGDLP.

L'idée de cette méthode est de dissocier les notions de rôles (droits effectifs attribué à un utilisateur) et de groupes d'appartenance.

Afin de limiter également la portée des droits, il faudra utiliser pour ces rôles des groupes avec une portée minimaliste.

Puis pour octroyer un rôle à un groupe d'utilisateur, il faudra ajouter le groupe des utilisateurs dans le groupe rôle.

Ainsi, si un utilisateur intègre un service dans l'entreprise, son rajout dans le groupe du service lui conférera automatiquement les accréditations (rôles) inhérents à ce service.

drawing-1-1776673492.png

3.2 Normalisation

Afin de pouvoir se retrouver dans les noms et types de groupes, il va falloir adopter une normalisation stricte et une convention de nommage claire.

Les bonnes pratiques observées tendent vers la convention suivante :

Info : les groupes de sécurités pour l'accès aux dossiers seront suffixé par _RO (read only), _RW (read-write) ou _FC (full control).

Préfixe
Type
Séparateur
Portée
Séparateur
Application
Séparateur
Usage
GRP_
SEC
_
GL
_
GPO_EXL
-
PrintServers

GMSA

GG

GPO-INC

RDSSessionHosts

LST

UN

RDS

Farm1





APP

AppName





VPN

Admins, Users






PROXY

RestrictedUsers, Noaccess, ExtendedAccess





VCSA

LAB1, LAB2





FIL
Comptabilité_RO





...


Conseil : les listes de distributions seront simplement préfixées avec '&' suivi du nom de la liste

GRP-GLO-RDS_AllUsers

GRP-GLO-APP_Sage

GRP-LOC-ROXY_NoInternetAccess

&ServiceComptabilité


IV. Mise en application

4.1 Appliqué au systèmes de fichiers

Exemple : Dans le cadre de son service comptabilité, l'entreprise dispose d'un partage //share/comptabilité.

L'entreprise veux mettre en place 3 niveaux d’accréditation :

Dans ce cas de figure, la première étape consiste à créer le répertoire et les groupes d'autorisations (rôles). En groupe local, car les droits ne s'appliquent que dans ce domaine.

GRP_SEC_GL_FIL_Compta_FC

GRP_SEC_GL_FIL_Compta_RW

GRP_SEC_GL_FIL_Compta_RO

Puis créer les groupes globaux contenant les utilisateurs et les intégrer dans les groupes locaux.

GRP_SEC_GG_Compta-Comptables

GRP_SEC_GG_Compta-Assistants

GRP_SEC_GG_Compta-Auditeurs

Enfin, il suffira d'ajouter / Retirer au besoin les utilisateurs dans les groupes :

drawing-1-1776687469.png

Si l'on veut par exemple que le groupe Direction contenant le PDG et les membres du conseil ai également un droit de regard et de modification sur les fichiers de la comptabilité, il faudra ajouter cela de la façon suivante.

drawing-1-1776687475.png

A l'inverse, si un même groupe, par exemple de comptables du siège social doit avoir accès aux dossiers comptabilité des autres domaines. Les groupes globaux étant visibles depuis les autres domaines, il faudra l'ajouter dans les groupes locaux sur les autres domaines.

drawing-1-1776693037.png

4.2 Appliqué aux applicatifs & services

Il est possible de poursuivre cette logique sur les applicatifs et services. Par exemple dans le cadre d'une ferme RDS, plusieurs applications sont partagées dans différentes collections.

Par exemple :

La définition se fera comme suit :

drawing-1-1776693850.png

Info : De même que précédemment, les groupes globaux pourront être ajouté dans des groupes locaux d'autres domaines si nécessaires. Cette méthode peut aussi s'appliquer par exemple pour des services comme le proxy, le VPN, etc...

4.3 Appliqué au SSO et aux rôles

Dans la plupart des applications modernes, la notion de rôle est déjà intégrée au sein de l'application et ce rôle peut être appliquée directement à un groupe ou utilisateur.

Ainsi il pourra être mis en place le même principe. Pour attribuer ces rôles automatiquement, cela pourra se faire de deux manières :


Le système SSO intégrera alors dans le jeton d'authentification les appartenances au groupes, ce qui permettra d'effectuer les claims (demande de rôles).


V. Variantes du modèle

5.1 AGUDLP (grosses structures)

Il s'agit de la même méthode, mais incluant également les groupes universels pour gérer les approbation sur l'ensemble des domaines.

Adapté dans un environnement multi-domaine, ou de tiering au sein d'une forêt, elle permet d'avoir par exemple un domaine d'administration et plusieurs domaines clients.

Il faudra alors ajouter les administrateurs dans un groupe global du domaine d'admin, puis ces groupes d'administration seront intégrés dans un groupe universel afin d'en faciliter l'intégration au sein des différents domaines.

drawing-1-1776697526.png

5.2 AGLP

Cette variante consiste à utiliser des groupes locaux sur la machine directement au lieu d'un groupe active directory.

Cela peut être nécessaire sur des applications utilisant des groupes locaux des machines ou certains services créant eux-même des groupes locaux sur les machines afin de gérer l'accès aux ressources du services.

Ou encore certaines ressources et services sur linux.

Info : Il existe également d'autres vairantes comme AGUDL P, AGUGDLP, mais celles-ci sont rare et ne constituent pas la norme de l'utilisation.


VI. Bonnes pratiques

Afin de garantir une efficacité optimale de cette méthode, il faut considérer un certain nombre de bonnes pratiques associées.

A commencer par le fait de l'intégrer dans un plan plus large. Cela va de pair avec :


VII. Erreurs à éviter

De même que les bonnes pratiques garantissent un fonctionnement optimal, de mauvaises pratiques peuvent également venir saper l'efficacité de la méthode :


VIII. Conclusion

Si cette méthode peut ne pas être intuitive voire pénible à mettre en place, elle facilitera grandement la gestion courante des accès et des droits. Elle permettra également, sous réserve de respect des bonnes pratiques et d'éviter les erreurs, de permettre un audit rapide et efficace des accès effectifs pour un utilisateur ou un service de l'entreprise.

Conseil : De plus, sa mise en oeuvre et son maintient peuvent être grandement améliorées et facilitées par la mise en place de systèmes d'automatisation à travers des scripts ou des catalogues de services IaC. Réduisant ainsi considérablement la marge d'erreur humaine et garantissant la conformité.

Rôles / Services

Docker - Introduction à la "containerisation"


image.png

Difficulté : Intermédiaire


Notions : Containers, systèmes de containers, docker.


I. Introduction


Tout comme la virtualisation avais permis un bond en avant en permettant de placer plusieurs machines virtuelles sur un hôte physique, la containérisation va plus loin en ne virtualisant plus un système entier mais en cloisonnant directement une couche applicative ou un service dans un container.

Basé sur un système d’image, celui-ci permet de virtualiser un morceau de système sur lequel viendront s’appuyer les containers contenant les ressources (binaires, configurations, librairies et dépendances) et auquel il sera possible de connecter des volumes persistant contenant les données.

image.png


Cela est une excellente alternative en terme de performance, la mutualisation des images permettant un gain significatif du fait de la non nécessité de virtualiser une couche hardware complète dans la plupart des cas.

Mais également en terme de gestion et de déploiement. Une fois les images créées, elle sont déployables en quelques minutes et utilisables immédiatement. De plus si plusieurs containers utilisent la même image et nécessitent un mise à jour, il sera simple de mettre à jour l’image et la pousser en production. les containers pourront ensuite être liés a cette nouvelle image, réduisant le temps de mise à jour et les indisponibilités.

Enfin en terme de sécurité. Chaque application utilisant son propre environnement cloisonné, il sera très difficile d’infecter les systèmes adjacents et la compromission d’un service aura des effets uniquement sur celui-ci.

De plus, les images étant non persistantes, un rechargement de celle-ci supprimera les éventuelles traces d’attaque et permettra de revenir rapidement à une configuration sûre.

Cela permet également de personnaliser grandement l’architecture des services. Par exemple voici un container web :

image.png

Enfin Le dernier avantage et non le moindre, est la grande capacité d’automatisation de l’outil.

Les images et containers, ainsi que des architectures complètes peuvent être créées a partir de fichiers d’instructions (la plupart en YAML) qui seront utilisés comme base à travers des API.

Ce qui permet de faire de “l’infrastructure as code” et de publier en quelques étapes des services voire des infrastructures complètes architecturées en amont.



II. Principes de bases


Les images : Les images sont des versions packagées de services. Elles sont construite à l'aide de fichiers que l'on appelle 'dockerfiles'. Le plus souvent, elle partent d'une couche OS sur laquelle le(s) service(s) et le contenu seront préconfigurés et packagés puis fournis sous forme d'image pour un déploiement rapide et une grande souplesse dans la gestion des containers utilisant ces images. Lors de l'utilisation par un container, le contenu de l'image est dit 'non persistant'. En effet, si le container est arrété ou recontruit, l'image redémarre sur son état initial.

Les volumes et points de montage : Du fait de la non persistance des images, il n'est pas possible d'y stocker des données dites 'vivantes' dans le container. Pour cela, il faudra lui attacher des volumes ou des fichiers. Il s'agit des ressources qui seront partagées entre l'hôte et le container. Cela peut être des fichiers de configurations par exemple qui seront montés dans le container sur un chemin précis ou dans le cas des volumes. Lors de la création de ceux-ci, un espace dédié est créé sur l'hôte et sera utilisé ensuite dans le container sur un point de montage. L'on y placera toutes les données qui feront vivre le service (site web, base de donnée, fichiers du service, logs...)

Les containers : Le container est donc ce qui résulte de l'utilisation des éléments ci-dessus. Il va utiliser une image pour fournir un service et les volumes pour stocker la donnée.

Les services : Sur un cluster (swarm), les containeurs ne sont plus addressés directement en tant que tel mais font partie d'un service. Celui-ci permet de disposer de propriétés de déploiement comme de la haute dispo, des contraintes de placement sur des noeuds du cluster, le nombre de copies de containers, etc...

Les stacks : Une architecture rendant un service peut être constituées de plusieurs containers ou services. par exemple dans le cadre d'un hébergement web, il peut y avoir un container wordpress, puis un container DB et un container SSH, tous constitutifs du 'stack' hebergement.

Les réseaux : Les réseaux permettent à différents services de comuniquer entre eux. Par exemple permettre à un container web de se connecter à un container SQL, ou encore à un reverse proxy d'adresser un serveur web.

L'exposition des ports : Par défaut les containers sont dans des réseaux isolés ou bridgés non accessible de l'extérieur. Il faut pour cela natter des ports. Par exemple un port 8082 en TCP sur le port 80 d'un container. dans ce cas, c'est l'hôte qui devra être addressé avec le port natté (ici: 8082). On parkle alors d'une "exposition de port".

Les secrets : Certaines informations sont par nature sensibles. Les comptes ou mots de passes, des clés, des tokens, etc... Pour se passer ses informations entre les noeuds ou les monter dans un ou plusieurs container sans exposer ces informations il est possibles de créer des secrets. Ce sont des fichiers chiffrés qui sont directement généré à partir d'une saisie d'information protégées et ne seront ensuite utilisable qu'entre les membres du cluster et aux containers. Cela permet d'utiliser ces informations en toute sécurité.

Les dockerfiles : Ce sont des fichiers contenant une séquence d'instructions qui vont être utilisés pour générer une image. Cela sert dans le cadre de l'automatisation. Exemple :

FROM image_name #partir de l'image désignée (ou FROM scratch) pour recompiler une image en partant de zéro.

LABEL label1="valeur1" label2="valeur2" label3="valeur3" #définit les tags de l'image

VOLUME ['/chemin/vers/dossier'] # si pas de volume associé, par défaut monte un volume à cet endroit

ARG ARG1="value" #variable 1
ARG ARG2="value" #variable 2

WORKDIR /chemin/racine #chemin sur lequel on se place pour exécuter les commandes

COPY /chemin/vers/fichier /chemin/dans/container #copie un fichier présent sur la machine dans le container

RUN commande1 # lance une commande dans le container
RUN commande2
RUN commande3

EXPOSE 80/tcp #expose le port voulu dans le protocole voulu

ENTRYPOINT ["command", "arg1", "arg2"] #donne le processur ou service à observer pour le démarrage du container

Pour plus d'informations : Dockerfile reference

Les fichiers compose :  Les fichiers compose sont des fichier descriptif de l'architecture d'un service ou d'un stack. Ils permettent de générer les services/stacks à partir de ce fichier de manière automatisée. Cela rentre dans le cadre de "l'infrastructure as code".

Exemple de fichier compose pour un stack wordpress :

services:
  db:
    # We use a mariadb image which supports both amd64 & arm64 architecture
    image: mariadb:10.6.4-focal
    # If you really want to use MySQL, uncomment the following line
    #image: mysql:8.0.27
    command: '--default-authentication-plugin=mysql_native_password'
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=somewordpress
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=wordpress
    expose:
      - 3306
      - 33060
  wordpress:
    image: wordpress:latest
    volumes:
      - wp_data:/var/www/html
    ports:
      - 80:80
    restart: always
    environment:
      - WORDPRESS_DB_HOST=db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=wordpress
      - WORDPRESS_DB_NAME=wordpress
volumes:
  db_data:
  wp_data:

Le swarm : le swarm est un cluster composant un ensemble de noeuds sous docker. Un swarm est initialisé par un noeud 'manager' et comportera ensuite un ensemble de 'worker'. Cela permettra de répartir des charges de travail et/ou de fiabiliser certains services en les répliquants sur plusieurs noeuds.



Rôles / Services

Filer - DFS & DFSR

image.png

Difficulté : Intermédiaire


Notions : Serveurs de fichiers, partages, Réplication, cluster.



I. Introduction

Le DFS ( Distributed File System ), ou système de fichiers distribué en français, est un rôle serveur permettant de centraliser la gestion et la publication des partages sur différents serveurs de fichiers en s'appuyant sur les espaces de noms.

Le principe est d'avoir un ou plusieurs serveurs gestionnaires de ces espaces de noms qui vont créer une racine 'virtuelle' au sein du domaine depuis laquelle tous les partages seront accessibles. Au niveau de l'utilisateur, ce chemin se substitue au chemin réel vers le dossier partagé. 

Cela permet de dé-corréler l'accès aux fichiers du point de vue utilisateur de l'emplacement réel des données.

Cette dé-corrélation entraîne ainsi plusieurs avantages :

Enfin, il est possible de coupler ce principe avec de la réplication synchrone ( DFSR ). Ainsi, l'utilisateur accède de façon transparente à un emplacement réseau permettant de faire de la haute disponibilité et de la répartition de charge.


II. Notions importantes

Pour bien cerner les principes clés du DFS et de la réplication associée, il est essentiel de comprendre les trois notions sur lesquelles il va se reposer :


III. Architecture

Dans le domaine 'domaine.local', il y a 3 partages qui doivent êtres accessibles aux utilisateurs.

Voici comment se présente cette architecture :

drawing-1-1777017417.png

Ainsi du point de vue utilisateur, pour accéder aux logiciels, le chemin sera : '\\domaine.local\partages\informatique\logiciels'.


IV. DFSR

La réplication DFS ou DFSR est un système de réplication des fichiers s'appuyant sur DFS et utilisé en complément de celui-ci pour mettre en place de la haute disponibilité sur les partages de manière transparente pour les utilisateurs.

Un groupe de réplication est créé. Celui-ci contient les membres qui sont les serveurs partenaires de réplication.

Dans ce groupe, les dossiers partagés sont publiés avec des sources et des destinations. La réplication pourra se faire alors au choix en sens unique ou de façon bilatérale.

drawing-1-1777298411.png

Il existe deux types de topologie de réplication :

Hub and spoke
Full Mesh

image.png


image.png

Dans ce mode, un serveur central réplique de manière unilatérale vers les autres membres. Cela permet essentiellement de garder des copies des fichiers.

(nécessite 3 nœuds minimum)


Dans ce mode, chaque serveur réplique de manière bilatérale avec ses autres partenaires. Cela permet d'assurer de la haute disponibilité.

Il sera ensuite également possible de décider si les réplications doivent se faire de façon synchrone ou asynchrone (créneaux définis dans un planning).


V. Conclusion

En conclusion, de par son architecture même, le système de racine DFS permet une gestion simple et centralisée de l'accès aux données. Lorsqu'il est en plus couplé à la mise en cache et à la réplication, cela permet aussi :

Sécurité

Chapitre regroupant les cours théoriques sur les éléments relatifs à la cybersécurité.

Sécurité

Sécurité - Analyse de risque (méthode Ebios)

I. Introduction

La méthode EBIOS Risk Manager (EBIOS RM) est la méthode d’appréciation et de traitement du risque numérique publiée par l’Agence nationale de la sécurité et des systèmes d’information (ANSSI) avec le  soutien du Club EBIOS.

Elle propose une boite à outils adaptable, dont l’utilisation varie selon l’objectif du projet et est compatible avec les référentiels normatifs en vigueur, en matière de gestion des risques comme en matière de sécurité numérique4. EBIOS Risk Manager permet d’apprécier les risques numériques et d’identifier les mesures de sécurité à mettre en œuvre pour les maitriser.

Elle permet aussi de valider le niveau de risque acceptable et de s’inscrire à plus long terme dans une démarche d’amélioration continue.

Enfin, cette méthode permet de faire émerger les ressources et arguments utiles à la communication et à la prise de décision au sein de l’organisation et vis-à-vis de ses partenaires.


 La méthode EBIOS Risk Manager peut être utilisée à plusieurs fins :

 Elle s’applique aussi bien aux organisations publiques ou privées, quels que soient leur taille, leur secteur d’activité et que leurs systèmes d’information soient en cours d’élaboration ou déjà existants.

II. Principes de la méthode Ebios

La méthode EBIOS Risk Manager adopte une approche de management du risque numérique partant du plus haut niveau (grandes 
missions de l’objet étudié) pour atteindre progressivement les fonctions métier et techniques, par l’étude des scénarios de risque 
possibles. Elle vise à obtenir une synthèse entre « conformité » et « scénarios », en positionnant ces deux approches complémentaires 
là où elles apportent la plus forte valeur ajoutée.

Cette démarche est symbolisée par la pyramide du management du risque numérique (cf. figure 1).
 Avec EBIOS Risk Manager, l’ensemble des risques est appréhendé par la combinaison :

 Ces deux approches permettent d’éclairer les décideurs dans leurs choix de traitement du risque.

image.png

III. Fonctionnement de la méthode Ebios

La méthode Ebios s'articule autour de 5 ateliers de manière itérative (cf. figure 2).

image.png

3.1 Atelier 1 - Cadrage et socle de sécurité

Le premier atelier vise à identifier l’objet de l’étude, les participants aux ateliers et le cadre temporel.

Au cours de cet atelier, vous recensez les missions, valeurs métier5 et biens supports relatifs à l’objet étudié.

Vous identifiez les événements redoutés associés aux valeurs métier et estimez la gravité de leurs impacts.

Vous évaluez également la conformité au socle de sécurité.

NOTE : l’atelier 1 permet de suivre une approche par « conformité », correspondant aux deux premiers étages de la pyramide 
du management du risque numérique et d’aborder l’étude du point de vue de la « défense ».

3.2 Atelier 2 - Sources de risque

Dans le deuxième atelier, vous identifiez et caractérisez les sources de risque (SR) et leurs objectifs de haut niveau, appelés objectifs visés (OV).

Les couples SR/OV jugés les plus pertinents sont retenus au terme de cet atelier.

Les résultats sont formalisés dans une cartographie des sources de risque.

3.3 Atelier 3 - scénarios stratégiques

Dans l’atelier 3, vous allez acquérir une vision claire de l’écosystème et établir une cartographie du niveau de dangerosité induit par la relation avec les parties prenantes majeures de l’objet étudié.

Ceci va vous permettre de bâtir des scénarios de haut niveau, appelés scénarios stratégiques.

Ils représentent les chemins d’attaque qu’une source de risque est susceptible d’emprunter pour atteindre son objectif.

Ces scénarios se conçoivent à l’échelle de l’écosystème et des valeurs métier de l’objet étudié.

Leur gravité est ensuite estimée.

À l’issue de cet atelier, vous pouvez déjà définir des mesures de sécurité sur l’écosystème.

3.4 Atelier 4 - Scénarios Opérationnels

Le but de l’atelier 4 est de construire des scénarios techniques reprenant les modes opératoires susceptibles d’être utilisés par les sources de risque pour réaliser les scénarios stratégiques.

Cet atelier adopte une démarche similaire à celle de l’atelier précédent mais se concentre sur les biens supports critiques.

Vous estimez ensuite le niveau de vraisemblance des scénarios opérationnels obtenus.

Info : Les ateliers 3 et 4 s’alimentent naturellement au cours d’itérations successives.

Info : Les ateliers 2, 3 et 4 permettent d’apprécier les risques, ce qui constitue le dernier étage de la pyramide du management 
du risque numérique. Ils sollicitent le socle de sécurité selon des axes d’attaque différents, pertinents au regard des menaces 
considérées et en nombre limité pour en faciliter l’analyse.

3.5 Atelier 5 - Traitement du risque

Le dernier atelier consiste à synthétiser l’ensemble des risques étudiés et à définir une stratégie de traitement du risque. Cette dernière  
est ensuite déclinée en mesures de sécurité inscrites dans un plan de traitement du risque. Lors de cet atelier, vous établissez la synthèse des risques résiduels et définissez le cadre de suivi des risques.

image.png

Note : en général, chaque chemin d’attaque d’un scénario stratégique donne lieu à un scénario opérationnel. Un scénario de risque correspond à l’association d’un chemin d’attaque et de son scénario opérationnel.

IV. Conclusion

EBIOS Risk Manager est une méthode adaptable. Elle constitue une véritable boîte à outils, dont le niveau de détail et le séquencement  
des activités à réaliser pour chaque atelier, seront adaptés en fonction des objectifs.

La manière dont s’applique la méthode diffère selon le sujet étudié, les livrables attendus, le degré de connaissance du périmètre de l’étude ou encore le secteur auquel on l’applique.

La grille ci-après propose des cas d’usage selon l’objectif visé.

image.png

Sécurité

Sécurité - CIA Triad

image.png

Difficulté : Débutant


Notions : Principes fondamentaux en cybersécurité.



I. Introduction

Lorsque l'on parle de cybersécurité, il est important d'en saisir les objectifs principaux.

Pour cela, il a été créé un acronyme mnémotechnique : la triade CIA.

Il s'agit d'un modèle conceptuel où chaque lettre représente l'un des trois grands piliers de la cybersécurité :

Soit en français : Confidentialité, Intégrité, Disponibilité.

Ces piliers sont d'une importance équivalente.

image.pngSource : Try Hack Me

Cela découle dune application des normes suivantes :


II. Confidentialité

Le premier principe est d'assurer la confidentialité des données.

Cette confidentialité assure que des données sensibles ne sont accessibles qu'aux personnes explicitement autorisées.

Si jamais cette confidentialité n'était pas maintenue, des personnes non autorisées, voire mal intentionnées, pourraient accéder à ces données et les exploiter. Ce qui entraînerait à minima une perte de confiance, voire des conséquences plus graves :

image.png

Quelques exemples de perte de confidentialité de l'information :


III. Intégrité

Le second principe est d'assurer l'intégrité des données.

Cette intégrité assure que les données n'ont pas été altérées. Que la confiance que l'on peut leur accorer reste pleine et entière.

Mais également que celles-ci sont précises et fiables.

Si jamais cette intégrité n'était pas maintenue, altérée par des personnes malveillantes, les données ne pourraient plus être considérées comme fiables.

Dans le meilleur des cas, ces données pourraient être relevées et corrigées, n'entraînant qu'une perte de temps.

Dans des cas plus extrêmes, ces données altérées pourraient entraîner des conséquences plus graves :

image.png

Quelques exemples de perte d'intégrité de l'information :


IV. Disponibilité

Le troisième principe est d'assurer la disponibilité des données et des services.

La disponibilité vise à assurer que les utilisateurs de la donnée ou du service puissent y accéder où ils en ont besoin et quand ils en ont besoin.

En fonction du secteur d'activité de l'entreprise, il peut même s'agir de l'élément fondamental qui en permet le fonctionnement.

Par exemple les secteurs bancaire ou hospitalier. Dans ces deux cas, une perte de service, même momentanée, pourrait avoir des conséquences dramatiques. Comme par exemple :

image.png

Quelques exemples de perte de disponibilité des données :


V. Conclusion

La triade Confidentialité – Intégrité – Disponibilité constitue le socle fondamental de toute démarche de sécurité informatique. Elle permet d’évaluer, structurer et prioriser les protections nécessaires pour garantir que les données restent accessibles aux bonnes personnes, exactes, et disponibles lorsque les utilisateurs en ont besoin.

Comprendre ces trois piliers, leurs risques et leurs interactions est essentiel pour analyser un système d’information, identifier ses vulnérabilités et mettre en place des mesures adaptées.

Dans les cours et les environnements professionnels, la triade CIA sert de référence pour aborder les normes, les bonnes pratiques et les stratégies de défense qui composent la cybersécurité moderne.

Voici un tableau récapitulatif qui résume les piliers, leurs objectifs et les risques auxquels ils permettent de faire face.

Pilier Objectif Risques
Confidentialité Protéger les accès, gérer les permissions. Fuite, espionnage, vol de donnée.
Intégrité Garantir l'exactitude des données. Altération, fraude.
Disponibilité Assurer l'accès aux données. Pannes, DDoS.
Sécurité

Sécurité - Hash et chiffrement

image.png

Difficulté : Intermédiaire


Notions : Cybersécurité, Hashing, chiffrement.



I. Introduction

Afin de protéger les données sensibles et garantir la sécurité des échanges, les mécaniques cryptographiques jouent un rôle clé dans la cybersécurité. Elles permettent entre autres choses :

Il existe pléthore d'algorithmes et de méthodes pour cacher ou protéger de la donnée. On retiendra ici deux concepts majeurs :

Il sera également possible d'aborder la notion de stéganographie.

Trivia : Dû à l'évolution des puissances de calcul et des menaces croissantes, il est nécessaire de constamment adapter les algorithmes de chiffrements afin de les renforcer voire de les abandonner si une méthode a été trouvée pour les 'casser'.


II. Le Hash

2.1 Définition

Le Hash (ou hashing, hachage) est une fonction mathématique qui vise à transformer une donnée de taille variable en une empreinte de taille fixe.

Cette empreinte disposera de propriétés intrinsèques. En effet, par nature 

image.png

De par sa nature, cela rend cette méthode idéale pour le stockage sécurisé de mots de passe, la vérification d'intégrité des téléchargements, les signatures numériques et l'indexation rapide.

La vérification se fera par comparaison.

exemples :

Dans le cas d'un téléchargement, le fournisseur du téléchargement fournit le hash ou somme de contrôle du téléchargement.

Après téléchargement, il est possible de calculer à son tour le hash / checksum et de les comparer à celui fourni par l'éditeur sur la page de téléchargement. Cela permet de s'assurer de l'intégrité des données et de leur non-altération.

Dans le cas de l'authentification, l'utilisateur entre son mot de passe. Celui-ci est Haché et envoyé au serveur d'authentification, celui-ci compare alors le hash reçu et le hash présent en base de donnée pour confirmer que le mot de passe fourni est le bon.

2.2 Algorithmes courants

Algorithme
Statut Usage recommandé
MD5 Obsolète Aucun (présence de failles majeures)
SHA-1 Obsolète Aucun (collisions d'entrées)
SHA-256 Sûr  Intégrité des données, signatures
SHA-3 Sûr Applications
bcrypt / scrypt / Argon2 Très sûr Stockage de mots de passe

Le statut des algorithmes se base sur les données de 2025

Attention : Lors du stockage de mots de passe avec sha-256, il faudra utiliser en complément un KDF (Key Derivation Function) comme vu ci-dessus (bcrypt, scrypt, pbkdf2, argon2).


III. Le Chiffrement

3.1 Définition

Le chiffrement (Cypher / Encryption), à l'inverse du hash, a pour vocation à être déchiffré et pas seulement comparé.

Celui-ci sert essentiellement dans les échanges. Pour chiffrer ou déchiffrer de la donnée, il faudra utiliser une ou plusieurs clés.

Il existe deux types de chiffrement, le chiffrement Symétrique et le chiffrement Asymétrique.

Info : Plus la clé de chiffrement est longue, plus le chiffrement sera fort.

3.2 Le chiffrement symétrique

Le principe du chiffrement symétrique est d'utiliser une seule clé qui permettra à la fois de chiffrer et de déchiffrer la donnée.

L'avantage de ce type d'algorithme est qu'il est rapide à mettre en oeuvre. Cela le rend donc idéal pour le chiffrement de gros volumes comme des disques dur ou des bases de données.

L'inconvénient réside dans le fait que si la clé fuite, l'ensemble des données sera simple. Ce qui rend cette clé difficilement partageable.

Les algorithmes les plus courants sont :

Algorithme
Type Statut Usage recommandé
DES Bloc Obsolète aucun
3DES Bloc Déprécié Transition uniquement
AES (128,192,256) Bloc Standard moderne VPN, TLS, Chiffrement de disque
ChaCha20 Flux Très sûr réseau mobile, environnements connectés.

A noter que AES s'accompagne également de différentes méthodes pour chiffrer des blocs successifs.

Algorithme
Statut Sécurité Remarques
ECB Osolète Mauvais Révèle les motifs (patterns) de la donnée chiffrée.
CBC Sûr Bon Nécessite un IV (Initial Vector) aléatoire
CFB / OFB Sûr Bon Flux pseudo-aléatoire
GCM Très sûr Excellent Authentifié (AEAD), rapide

3.3 Le chiffrement asymétrique

Le principe du chiffrement asymétrique est qu'il dépends de deux clé. La première sert à chiffrer la donnée, la seconde à la déchiffrer.

Il s'agit du fameux couple Clé privée / Clé publique que l'on retrouve dans l'architecture PKI.

image.png

L'on s'en sert pour échanger des clé de chiffrement de manière sécurisée, pour vérifier les certificats et signatures numériques ainsi que pour de l'authentification par certificats.

Les algorithmes les plus courants sont :

Algorithme
Type Usage recommandé
DSA Signature Aucun (déprécié)
ECDSA Curve (courbes elliptiques) Signatures
RSA (2048, 3072,4096) Facteurs premiers Chiffrement, signature
Ed25519 Curve (courbes elliptiques) multiple (rapide et sûr)
DH (Diffie-Hellman) / ECDH Echange de clés TLS, VPN


IV. Les signatures numériques

4.1 Définition

Le principe de la signature numérique est de garantir authenticité (qui), l'intégrité (non altération) et la non-répudiation.

Le processus de signature et de validation se déroule comme suit :

drawing-1-1769173434.png


V. Limitations et bonnes pratiques

5.1 Considérations générales

Lors de l'application des concepts ci-dessus, il conviendra de respecter quelques principes élémentaires :

5.2 Considérations particulières

5.2.1 Pour le hachage

Un Salt est un élément aléatoire introduit dans le processus de hachage des mots de passes pour éviter que si plusieurs utilisateurs utilisent le même mot de passe, le hash soit exactement le même.

Exemple sans salt :

Username String to be hashed Hashed value = SHA256
user1 password123 EF92B778BAFE771E89245B89ECBC08A44A4E166C06659911881F383D4473E94F
user2 password123 EF92B778BAFE771E89245B89ECBC08A44A4E166C06659911881F383D4473E94F

Exemple avec salt :

Username Salt value String to be hashed Hashed value = SHA256 (Password + Salt value)
user1 D;%yL9TS:5PalS/d password123D;%yL9TS:5PalS/d 9C9B913EB1B6254F4737CE947EFD16F16E916F9D6EE5C1102A2002E48D4C88BD
user2 )<,-<U(jLezy4j>* password123)<,-<U(jLezy4j>* 6058B4EB46BD6487298B59440EC8E70EAE482239FF2B4E7CA69950DFBD5532F2

5.2.2 Pour le chiffrement symétrique

Le vecteur d'initialisation (IV) est un bloc de bits utilisé dans le chiffrement pour initialiser le processus de chiffrement.

Il est généralement généré aléatoirement ou pseudo-aléatoirement et est utilisé pour initialiser le premier bloc de donnée lors d'une opération de chiffrement.

Cela garantit que lors du chiffrement, deux blocs identiques en entrée donne des résultats différents en sortie.

Trivia : Cela rend plus difficile les attaques par cryptanalyse en évitant les pattern récurrents.

5.2.3 Pour le chiffrement asymétrique

5.2.4 Autres recommandations


Conclusion

En conclusion, dans le monde d'aujourd'hui, la cryptographie n'est pas seulement un moyen technique permettant d'assurer la confidentialité des échanges. C'est un pilier essentiel de la confiance numérique garantissant également l'intégrité et l'authenticité des échanges, d'autant plus primordiale dans une logique d'architecture Zero Trust.

Les méthodes utilisées vont dépendre grandement du besoin à adresser :

Objectif Technique Algorithmes à privilégier
Intégrité des données Hash SHA-256, SHA-3
Stockage de mots de passe KDF

bcrypt, Argon2

Confidentialité Chiffrement symétrique AES‑GCM, ChaCha20
Echange de clé Asymétrique Diffie‑Hellman, ECDH
Signature Asymétrique + Hash RSA, Ed25519

Trivia : Bitlocker utilise un chiffrement asymétrique AES256 en mode XTS et s'appuie sur un chiffrement matériel grâce à la puce TPM si disponible.

Sécurité

Sécurité - La sauvegarde

image.png

Difficulté : Novice


Notions : Sauvegardes, stratégies de sauvegarde, gestion du risque.



I. Introduction

1.1 Principe de la sauvegarde

Le but d'une sauvegarde est de garder une copie de la donnée à un instant T.

Combiné à une stratégie de sauvegarde, cela permet de garder un historique de la donnée ou d'un système à des fins de restauration ultérieure en cas de perte ou d'altération.

Cela peut se produire dans plusieurs situations :

1.2 Types de sauvegarde

Là ou la sauvegarde diffère de la simple copie, c'est dans sa régularité et dans le fait d'en garder des copies à des dates antérieures.

En effet, bien qu'une copie seule permettrait de se prémunir contre une défaillance matérielle, si l'on en a un seul exemplaire et que la donnée d'origine est corrompue ou altérée, cette corruption ou altération sera également copiée.

Plusieurs types de sauvegardes existent.

1.2.1 Full backup

Sauvegarde complète du système, de la machine virtuelle ou du jeu de donnée.

AVANTAGES INCONVENIENTS
  • Copie complète.
  • Ne nécessite pas de rassembler plusieurs jeu de sauvegardes.
  • Restauration simple en l'état.
  • Peut être très (trop) longue.
  • Nécessite beaucoup d'espace.


1.2.2 Incrémental

Une première sauvegarde complète est faite en début de cycle.

Puis chaque jour, une sauvegarde uniquement des données modifiées ou ajoutées depuis la dernière sauvegarde qui peut être une sauvegarde complète ou une sauvegarde incrémentielle..

image.png

AVANTAGES INCONVENIENTS
  • Sauvegarde rapide
  • Nécessite beaucoup moins d'espace
  • Nécessite d'avoir l'ensemble du jeu de sauvegarde


1.2.3 Différentiel

Une première sauvegarde complète est faite en début de cycle.

Puis, chaque jour, une sauvegarde des données modifiées ou nouvellement ajoutées sur la base de la dernière sauvegarde complète.

image.png

Pour cette méthode, les avantages et inconvénients sont un compromis sur les deux méthodes précédentes.

En résumé, c'est un bon compromis entre les deux méthodes.

Mais l'important est avant tout d'avoir la méthode la plus adaptée aux contraintes de productions et aux budgets.

1.3 Supports de sauvegardes

Les supports de sauvegardes sont multiples et se divisent en 3 catégories majeures :

  1. Le stockage local ( HDD, SSD, NAS, SAN, ...).
  2. Le stockage Offsite ou externalisé ( Bande, disque externe ).
  3. Le stockage Cloud.

Comme il sera vu plus tard, il est nécessaire de mixer au moins deux types de sauvegardes afin de pérenniser la solution et anticiper le plus de risques possible.


II. Définir un plan de sauvegarde

2.1 Composantes de la stratégie

Pour créer une stratégie de sauvegarde pertinente, il est avant tout nécessaire de se poser certaines question :

Conseil : Répondre à ces questions est essentiel et il faudra le faire dans cet ordre car les réponses aux premières conditionneront les réponses aux suivantes.

Exemple

Scope : je dois sauvegarder une serveur de fichiers contenant des données de production tels que des bons de commande et de la facturation d'une volumétrie d'environ 400Go (+ ou - 500Mo par jours)

Fréquence : les données sont vitales dans l'activité de l'entreprise et changent tous les jours. Il faudra donc à minima une sauvegarde journalière. Au vu du volume et des temps de sauvegarde, on pourra opter pour une complète hebdomadaire dans la nuit de samedi à dimanche et des incrémentales ou des différentielles quotidiennes 

Responsabilité : le service informatique en assurera le fonctionnement et la restauration éventuelle. Le suivi se fera par le service informatique également et des mails d'alerte et de rapports seront envoyés au service informatique et au responsable de production pour suivi.

Stockage : le volume étant important, un disque est a exclure, il faudra donc opter pour un NAS en local avec suffisamment d'espace. D'autant que pour des raisons juridiques, il faudra garder un historique long. Le plan de sauvegarde pourrait ainsi s'accompagner d'un plan d'archivage sur un cold Storage (stockage à froid) pour les sauvegardes les plus anciennes.

On peut par exemple envisager une sauvegarde NAS pour un cycle d'une semaine, puis basculer les sauvegardes les plus anciennes sur des bandes externalisées pour plus de sécurité.

Sécurité : Le NAS qui contiendra les sauvegardes des cycles les plus récents devra être isolé du réseau autant que faire se peut pour limiter les risques de cyber attaque.

Les volumes seront montés si pas de traces d'activité suspectes en début de travail (job) et seront démontés à la fin après validation.

Les bandes devront être stockées dans un local adapté en dehors du site de production principal pour palier au risque d'incendie.

L'ensemble des locaux contenant les données seront munies de portes coupe-feu, situé à un étage pour éviter les dommages en cas d'inondation et équipés de serrures à codes et d'alarmes pour limiter les disques d'intrusion.

2.2 Bonnes pratiques


II. Rétention et conformité

2.1 Stratégies de rétention

En plus des stratégies de rétention interne, des politiques règlementaires et normatives peuvent s'appliquer.

Voire dans certains cas, des contraintes d'ordre juridique (données liées au douanes, rétention à vie des bulletin de paye).

Il faudra donc adapter les politiques de sauvegarde et moyens de rétention de la donnée afin d'adresser ces problématique.

On distinguera ainsi deux types de stratégies de rétention :


On distinguera également deux types de stockage :

image.png

image.png

Stockage sur bande LTO

Evolution de la capacité de stockage des bandes LTO

Basés sur ces deux éléments, le principe d'une bonne politique de rétention est d'obtenir le meilleurs compromis possible entre la durée de rétention, et l'optimisation des coûts de celle-ci.

2.2 Sauvegarde vs archivage

La rétention de sauvegarde peut être mise en place en vue de pouvoir restaurer à des dates antérieures en cas de compromission silencieuse.

Info : Il est arrivé par exemple qu'un serveur soit 'cryptolocké' par un virus, mais que celui-ci ai en fait compromis le serveur 1 mois avant et soit resté en dormance.

Un exemple de stratégie de rétention :

drawing-1-1756725332.png

L'archivage quand à lui est prévu à plus ou moins long terme et consistera à garder la donnée en vue d'une utilité ou consultation ultérieure, sans forcément attendre un sinistre. C'est le cas des documents où la loi exige de garder un historique, pour le fournir à l'administration sur demande.

2.2 Politique de suppression et d'audit

Dans les deux cas, il faudra prévoir une politique de suppression, sans quoi le besoin en stockage ne fera que croitre indéfiniment.

Dans le cas des sauvegardes, cela pourra être géré automatiquement par la solution de sauvegarde qui supprimera automatiquement les points de restauration les plus anciens.

Info : Il faudra également prendre en compte le point à partir duquel on considèrera qu'une sauvegarde est trop vielle et qu'une récupération de celle-ci sera de toute façon inutile tant ses données seront obsolètes.

Dans le cas de l'archivage, cela se fera en fonction des contraintes légales. Il s'agira alors de purger les n plus vieux fichiers ou les fichiers plus vieux que n jours, mois, années.

Info : Tout comme il sera parfois nécessaire juridiquement de garder des fichiers sur une certaine période de temps, il pourra être obligatoire de les supprimer après une certaine période. Par exemple les données à caractère personnel dans le cadre de la RGPD.

Enfin, il faudra s'assurer régulièrement que ces données sauvegardées ou archivées soient lisibles et exploitables en mettant en place des politiques d'audit et de tests. Au travers par exemple de tests réguliers de restauration ou de lecture, ou bien des tests de vérification d'intégrité.


III. Restauration des données

3.1 RPO, RTO et MTD

L'objectif de restauration pourra être découpé comme suit :

image.png

Le RPO (Objectif de récupération) est la durée maximale de perte de donnée acceptable. Elle correspond à la période entre la dernière sauvegarde et l'incident. En effet, toute donnée sur cette période est définitivement perdue.

Le RTO (Objectif de temps de récupération) est la durée visée pour la récupération de la donnée et le retour à un fonctionnement nominal.

Le MTD (Temps de rupture de service maximum toléré) est le temps total de coupure de service tolérable entre l'incident et le retour à la normale avant que les conséquences de cette absence de service deviennent critique (perte de production, pénalité financières, ...)

Il faudra ajouter aux estimations, la perte sèche de données ainsi que le temps passé à les reconstruire (si c'est possible).

Ces indicateurs, sont importants, car ils permettront de définir les stratégies de sauvegarde, cibler et prioriser les systèmes critiques et évaluer les risques financiers et opérationnels liés à l'interruption de service.

3.2 Scénarii de restauration

Dans le cadre d'une restauration, il faudra définir ce que l'on restaure :

Le scénario de récupération dépendra principalement de plusieurs facteurs :

Il faudra donc faire une estimation du temps de récupération de chaque scénario afin de calculer le RTO, voir si cela rentre dans le MTD.

Ce qui amènera donc à faire des simulations et estimations afin de prévoir à l'avance le scénario le plus adapté à l'incident.

3.3 Tests et validation

Au vu de l'ensemble des éléments présentés, il est donc crucial de procéder régulièrement à des tests et auditer scrupuleusement la consistance des sauvegardes et archives.

Cela permettra de répondre à l'ensemble des questions essentielles :

Il faudra donc organiser ces audits avec la participations des décideurs. Ils seront à même de fournir les contraintes métiers, définir l'acceptabilité de la perte, les conséquences d'une interruption de service et sa limite.

Faire l'exercice de restauration ou consultation des archives régulièrement permet de :

Sécurité

Sécurité - PCA, PRA et DRP

image.png

Difficulté : Novice


Notions : PCA, PRA, stratégies de survie.



I. Introduction

Dans certains secteurs d'activité (médicaux, bancaires, défense, etc...), une simple coupure de service peut avoir des conséquences graves. Et même pour des secteurs moins sous tensions, cela peut avoir des conséquences financières directes.

exemple : dans le secteur de l'agroalimentaire ou du médicament, le moindre doute sur la gestion de la chaîne du froid peut signifier une destruction de la production ).

Afin d'assurer la pérennité du service informatique de l'organisation, Il est nécessaire d'anticiper ces problèmes et de prévoir des solutions.

La sauvegarde, bien que répondant en partie à ces points, doit être intégrée dans des plans plus larges.

On distingue 2 scenarii principaux dans la gestion de crise :


II. Notions fondamentales

Lors de l'établissement de ces plans, un certain nombres de points sont à retenir :

La résilience : Il s'agit de la capacité de l'organisation à résister à un incident qui pourrait entraîner une rupture d'activité.

La disponibilité (Availability) : Il s'agit du temps de disponibilité du service. Certaines entreprises (opérateurs télécom, datacenters, doivent assurer une disponibilité et garantissent souvent celle-ci. Elle est défini en pourcentage de disponibilité sur 1 année (par exemple, un datacenter peut assurer une disponibilité de 98% ce qui signifie que sur une année de 365 jours, ce qui signifie que l'entreprise garantit que sur une année, il n'y aura jamais plus de 7jours d'indisponibilité cumulés, consécutifs ou non)

La récupération (recovery) : En cas d'incident, la capacité à repartir en production et de récupérer les données de l'entreprise.

La continuité (continuity) : La continuité de l'activité ou du service. La capacité à assurer la fourniture de celui-ci même en cas d'incident.

Ces points seront étudiés, définis et des solutions seront apportées pour atteindre les objectifs fixés.


III. Le PCA

3.1 But du PCA

Le PCA (Plan de Continuité d'Activité) est un ensemble de mesures prises pour s'assurer de la continuité des services essentiels et minimiser au maximum l'impact d'un dysfonctionnement ou d'un incident.

Cela se réalise à tous les niveaux de votre infrastructure.

Sur la couche matérielle par exemple, on trouve sur les serveurs 2 alimentations électriques indépendantes, deux processeurs, des contrôleurs RAID pour s'assurer que le serveur continue de fonctionner même en cas de défaillance matérielle.

Sur la couche réseau, un certain nombres de protocoles permettent une redondance des équipements (STP, RSTP, LACP sur les switch, HSRP, VRRP pour les routeurs). Cela permet de palier à la perte d'un équipement réseau ou la défaillance d'une interface.

Ou sur des couches plus haute, des mises en place de redondances de services (2 AD, 2 filers, hébergés sur des nodes différents).

Ainsi, grâce à la combinaison de toutes ces mesures, on assure un certain niveau de fiabilité et de continuité.

Le service peut continuer à fonctionner malgré un problème ou une situation de crise.

3.2 Méthodologie de mise en place

Basés sur une étude de risque (voir Sécurité - Analyse de risque (méthode Ebios) ), l'on devra suivre le schéma de réflexion suivant :

  1. Définir les points critiques à protéger. Les "fonctions vitales" de l'entreprise.
  2. Etablir les scénarii qui entraineraient une rupture de service.
  3. Proposer, pour chaque point, une solution adaptée pour y répondre
  4. Définir les responsabilité et rôles dans la mise en œuvre et le suivi du PCA
  5. Rédiger les process
  6. Effectuer des test réguliers après mise en œuvre 

Exemple : Une société agroalimentaire fabrique des tourtes à la viande, elle doit gérer des stocks de matières première et s'assurer du bon fonctionnement de la chaîne du froid. Dans ce cadre là, elle a déployé une solution de supervision à travers un réseau de capteurs dans les frigo et les entrepôts, ainsi que des outils de traçabilité des stocks et du temps passé hors stockage.

Scénario 1 : un dysfonctionnement suite à une coupure de courant, à mis HS certains équipements réseaux. Cela empêcherai la lecture des capteurs, ce qui ferait que l'entreprise n'aurai plus de moyen de remonter les données, ni d'être avertie en cas de problème. La chaîne de production devrait être bloquée et l'ensemble des stocks vérifiés. En cas de doute, cela entrainerai une destruction des stocks. Donc pertes financières directes, délai d'approvisionnement pour renouveler le stock.

Solutions proposées : Adopter une topologie réseau full mesh, redonder les équipements critiques, mettre en place des onduleurs afin de palier aux futures coupures électriques. Cela permettra en cas de rupture d'un chemin réseau, de panne d'un équipement ou d'une coupure électrique, de continuer à assurer la traçabilité des informations.

Scénario 2 : Les données des capteurs sont enregistrés dans une base de donnée, suite à une corruption système due à un disque plein, celle-ci est mise à l'arrêt. De fait, les données ne sont plus enregistrées et les conséquences seraient les mêmes que dans le scénario d'avant.

Solutions proposées : Séparer les données de la bases du système en les mettant sur des disques séparés. Cela réduira les pertes et empêchera une production future. Superviser l'espace disque afin de pouvoir entreprendre des actions préventives. Redonder le serveur de base de donnée sur un second nœud de la ferme de serveurs. Si l'un des serveurs tombe en panne, le second prendra le relai, assurant la continuité de l'enregistrement des mesures.

3.3 Bonne pratiques

Tout comme pour la sauvegarde, Il faut s'assurer que le PCA sera fonctionnel le jour où celui-ci doit servir.

Il faut donc tester régulièrement celui-ci, valider les process et/ou les faire évoluer.

Il faut également mettre en place un plan de communication interne, s'assurer que les personnes qui sont responsables de ces points sont informées.

Vérifier la conformité avec les standards ISO 22301 et 27001.


IV. Le PRA

4.1 But du PRA

Le PRA (Plan de Reprise d'Activité) est un ensemble de mesures visant à reprendre le plus rapidement possible une activité normale suite à un incident majeur ayant entrainé une rupture de l'activité.

Cela peut consister à disposer d'équipements de rechange, d'un site où les machines virtuelles sont répliquées, de locaux déportés.

Contrairement au PCA où le but est d'éviter la rupture, le PRA part du principe que cette rupture est survenue et qu'il faut donc faire reprendre l'activité.


4.2 Méthodologie de mise en place

Basés sur une étude de risque (voir Sécurité - Analyse de risque (méthode Ebios) ), l'on devra suivre le schéma de réflexion suivant :

  1. Définir les points critiques à rétablir en priorité. Les "fonctions vitales" de l'entreprise.
  2. Etablir les scénarii qui entraineraient une rupture de service.
  3. Proposer, pour chaque point, une solution adaptée pour y répondre
  4. Définir les responsabilité et rôles dans la mise en œuvre et le suivi du PRA
  5. Rédiger les process
  6. Effectuer des test réguliers après mise en œuvre 

Exemple : Une société de gestion d'autoroute dispose d'un centre de contrôle assurant la surveillance du réseau autoroutier et la coordination des interventions de maintenance et le contact avec les services d'urgences.

Scénario 1 : Suite à un accident, un incendie s'est déclenché à côté du site du PC. L'incendie se propage jusqu'aux locaux du PC. Une évacuation est demandée.

Solutions proposées : Construire un second bâtiment de PC de l'autre côté du réseau autoroutier géré et y disposer tout l'équipement nécessaire au fonctionnement du PC. Répliquer l'ensemble des serveurs et baies de stockages sur le site de secours. La procédure de démarrage est lancée au moment de l'ordre d'évacuation. Quand le personnel investit le site de secours, les équipements sont démarrés, fonctionnels, les données sont accessibles. La reprise de l'activité normale peut reprendre.

Scénario 2: Suite à une compromission des serveurs, un cryptolocker à infecté le réseau informatique et a chiffré les données. Le système est hors service.

Solutions proposées : Mettre ne place un système de sauvegarde hors ligne éprouvé et testé régulièrement. Disposer de réseaux isolés permettant une reprise de l'activité sans risquer une nouvelle compromission. Mettre en place un plan, au moins partiellement automatisé, de reconstruction des services et de récupération de la donnée.

4.3 Bonne pratiques

Tout comme pour la sauvegarde et le PCA, Il faut s'assurer que le PRA sera fonctionnel le jour où celui-ci doit servir.

Il faut donc tester régulièrement celui-ci, valider les process et/ou les faire évoluer.

Il faut également mettre en place un plan de communication interne, s'assurer que les personnes qui sont responsables de ces points sont informées.

Les outils principaux du PRA à mettre en place et valider sont :

Info : Là où auparavant, les efforts du PRA se concentraient sur la réplication des machines, une sauvegarde complète des VM et de leur contenu, l'évolution des menaces en terme de cybersécurité fait qu'aujourd'hui on aura plus tendance à partir du principe que les réplicas et les sauvegardes du système sont potentiellement corrompu(e)s.

Astuce : Découlant du constat ci-dessus, la méthode aujourd'hui privilégiée est une reconstruction complète du système et de l'infrastructure. Suivi d'une restauration des données conservées à part. Une bonne partie de la reconstruction est partiellement, voire entièrement automatisée.

Définir correctement le RTO et le RPO.

D1mimage.png

Si il y a une possibilité lors de la conception de choisir le placement du site de PRA.

Table des distances - risques naturels et anthropiques

Dans la conception d'un centre de données, le choix du site est l'une des étapes les plus cruciales et constitue la toute première étape. Nous nous concentrons principalement sur deux sous-domaines : les risques naturels et anthropiques.

Objet fabriqué par l'homme Distance minimale (KM)
Stations-service/carburant 1.6
Lignes de transmission à haute tension 1.6
Les fugues des aéroports 1.6
Petits lacs et zones de débordement 1.6
Chemins de fer 1.6
Grand complexe de magasins 1.6
Tours de stockage d'eau 1.6
Canaux 3.2
Ports et ports 3.2
Lacs et barrages 3.2
Carrières 3.2
Stations radar 5
Laboratoires de recherche 5
Stations de radio/télévision 5
Ambassades 5
Aéroports 8
Usines chimiques et électriques 8
Stations et installations militaires 13
centrales nucléaires 80

 

Distance entre deux sites
Distance Buts et considérations Sources
1-5 km Protection contre les menaces locales (feu, explosion, crash aérien, etc...) Internal safety design
50-160 km Compromis entre un temps de latence correct et une distance optimale prévenant les risques régionaux. ,
320+km Assure une dépendance régionale (Grille énergétiques différentes, régions sismiques différentes, etc...) mais peut probablement introduire de la latence.  


V. Conclusion

Pour des stratégies efficaces, il faudra mettre en place à la fois un PCA et un PRA. Car les deux n'adressent pas les mêmes problèmes.

Voici un cours comparatif entre les deux : 

Fonction  pca pra
timing Pendant et immédiatement après incident Après incident, en réponse.
focus Continuité des opérations vitales Restauration de l'ensemble des opérations.
nature Proactive Réactive
exemple Garder un portail client accessible. Restaurer un service après une cyberattaque.

Et évidement, le tout devra être documenté, testé et amélioré.

Complétés avec des études de nouveaux scenarii.

Sécurité

Sécurité - PKI et Certificats

image.png

Difficulté : Intermédiaire


Notions : certificats, identité, https, chiffrement.


I. Introduction

Lors d’échanges sur des protocoles standards non sécurisés, il est facile d’intercepter les données. Afin de sécuriser ces échanges, celles‑ci doivent être chiffrées à l’aide d’algorithmes adaptés.

Cependant, même si les données sont chiffrées, il reste essentiel de s’assurer que l’on communique avec un partenaire de confiance. Il devient donc nécessaire de pouvoir valider l’identité de ce partenaire.

Il faut également garantir que les données transmises n’ont pas été altérées pendant l’échange.

Pour répondre à ces trois besoins (confidentialité, authentification et intégrité) a été créée l’infrastructure à clés publiques, ou Public Key Infrastructure (PKI).

Une PKI est un ensemble de composants matériels, logiciels et de procédures permettant de gérer les clés publiques des utilisateurs et des systèmes, afin de garantir la fiabilité de leurs identités. Elle renforce ainsi la confiance dans les systèmes numériques.

Bien qu’il existe plusieurs modèles de PKI, ce cours se concentrera sur un modèle reposant sur trois composants principaux :

Le principe de fonctionnement est le suivant :

  1. Un utilisateur ou une machine génère une clé privée.
  2. À partir de cette clé, une requête de certificat (CSR) est créée.
  3. Cette requête est soumise à une autorité d’enregistrement.
  4. L’autorité d’enregistrement vérifie l’identité du demandeur et transmet la requête à l’autorité de certification.
  5. Une fois validée, l’autorité de certification signe la requête et génère le certificat, qui sera fourni à l’utilisateur ou à la machine.
  6. Lors des échanges entre deux tiers, le destinataire peut vérifier la validité du certificat et son état (non‑révocation) via un service de validation

image.png

Source : appViewx


II. Le protocole SSL/TLS

Info : Le protocole SSL/TLS intervient entre les couches transport (4) et application (7).

2.1 Qu'est ce que SSL/TLS

Pour chiffrer les communications, notamment web, il existe deux protocoles principalement utilisés :

Attention : l'usage de SSL est déprécié et remplacé par TLS.

Ceux-ci s'appuieront sur des certificats et des clés de chiffrement.

Plus les algorithmes de chiffrements utilisés sont performants, plus il sera difficile de déchiffrer la communication.

2.2 Le but des certificats SSL

L'utilisation des certificats poursuit un but triple :


III. Le fonctionnement de SSL/TLS

3.1 Application de Public Key Infrastructure (PKI)

Lors d’un échange d’informations utilisant SSL/TLS, le serveur possède une paire de clés composée d’une clé privée et d’une clé publique. La clé publique est intégrée dans un certificat numérique signé par une autorité de certification (CA).

Le client, quant à lui, ne possède généralement pas de clé privée : il utilise simplement les certificats des autorités de certification de confiance installés dans son système pour vérifier l’authenticité du certificat du serveur.

Lors de la connexion, le client peut :

Une fois ces vérifications effectuées, le client peut établir une connexion TLS sécurisée avec le serveur.


image.png
Source : Sectigo

3.2 Le processus du "Handshake" SSL

Une étape clé du fonctionnement de SSL/TLS est le 'handshake'. Cette phase permet au client et au serveur de négocier les paramètres de sécurité, d’authentifier le serveur et d’établir un secret partagé qui servira à chiffrer la session.

image.png

  1. Client Hello: Le client envoie un message contenant la version de TLS qu’il supporte, la liste des suites cryptographiques disponibles et des paramètres aléatoires.
  2. Server Hello: Le serveur répond en choisissant une version TLS et une suite de chiffrement parmi celles proposées. Il envoie également son certificat SSL/TLS.
  3. Certificate Verification: Le client vérifie le certificat du serveur à l’aide des autorités de certification de confiance (CA) et des mécanismes de révocation (CRL/OCSP).
  4. Pre-Master Secret: Le client génère un pré‑secret (Pre‑Master Secret), le chiffre avec la clé publique du serveur (présente dans le certificat) et l’envoie au serveur.
  5. Session Keys: Le client et le serveur dérivent indépendamment les clés de session à partir du Pre‑Master Secret et des valeurs aléatoires échangées.
  6. Secure Connection : Une fois les clés établies, la communication est chiffrée et l’échange sécurisé peut commencer.

Info : Dans la version 1.3 de TLS, le processus de handshake à été simplifié afin d'être plus rapide et sécurisé (suppression du Pré-master secret et utilisation obligatoire de ECDHE (Perfect Forward Security)).


IV. Les autorités de certifications

Comme vu plus haut, les autorité de certifications jouent un rôle déterminant dans une PKI. Elles sont responsables de la création, de la signature et de la gestion des certificats numériques.

4.1 Portée des autorités de certification

On les divise en deux groupes :

Par exemple : let's encrypt, Sectigo, Digicert, ...

Utilisés par exemple pour : VPN, interfaces web, applications, DNSsec, messagerie chiffrée, LDAPs, ...

4.2 Type des autorités de certification

Une chaîne de certificat est généralement construite comme suit et repose sur :

La confiance dans toute la PKI repose sur la sécurité de la Root CA.

La plupart des certificats SSL/TLS sont signés par une CA intermédiaire, pas par la racine.

4.3 Les certificats auto-signés

Un certificat autosigné est un certificat dont la clé publique appartient au même acteur que la clé privée et qui est signé par lui-même.

Il existe deux cas :

1. Certificat autosigné légitime

2. Certificat autosigné non reconnu

image.png


V. Les types de certificats


Validation Cas d'usage
Validation de domaine (DV)

L’autorité de certification vérifie que le demandeur contrôle bien le nom de domaine concerné. Cela peut se faire par e‑mail, en ajoutant un enregistrement DNS, ou via un fichier placé sur le serveur.

Sites web simples, blogs, pages d’information, environnements de test...


Ce type de certificat ne garantit pas l’identité de l’organisation derrière le site

Validation d'organisations (OV) En plus de la vérification du domaine, l’autorité de certification vérifie l’existence légale de l’organisation, son adresse, son numéro d’enregistrement, etc.

Sites professionnels, plateformes e‑commerce, services publics.


Le certificat affiche le nom de l’organisation, ce qui renforce la confiance des utilisateurs.

 

Validation étendue (EV)

Vérification approfondie de l’organisation (existence légale, physique et opérationnelle).

L’autorité de certification suit un processus strict et documenté.

Sites à haute sensibilité : banques, services financiers, plateformes de paiement, administrations.

 

Dans certains navigateurs, le nom de l’organisation apparaît en vert ou dans la barre d’adresse.


VI. Considérations de sécurité

L’utilisation de certificats SSL/TLS renforce la sécurité des échanges, mais elle n’est pas infaillible. En effet, une mauvaise configuration expose à des risques. Il est essentiel de connaître les principales vulnérabilités et d’adopter des bonnes pratiques pour garantir une protection efficace.

6.1 Faiblesses et attaques

Cette attaque est possible si le certificat n’est pas correctement vérifié ou si la connexion n’est pas chiffrée.

Cela peut survenir si une autorité de certification est compromise ou si l’utilisateur ignore les avertissements du navigateur.

6.2 Bonnes pratiques

6.3 Erreurs courantes

Les erreurs les plus courantes lors de l'utilisation des certificats qui peuvent empêcher l'affichage correcte d'un site sont :


Conclusion

Les certificats SSL/TLS et l’infrastructure à clés publiques (PKI) constituent la base de la confiance numérique moderne. Ils permettent de garantir la confidentialité des échanges, d’authentifier les acteurs et d’assurer l’intégrité des données. Leur efficacité repose autant sur la robustesse des algorithmes que sur la bonne gestion des autorités de certification, des chaînes de confiance et des mécanismes de validation.

Dans un contexte où les attaques deviennent plus sophistiquées, il est essentiel de maintenir des configurations TLS à jour, de surveiller l’état des certificats et d’adopter des pratiques de sécurité rigoureuses. Une PKI bien conçue et correctement administrée reste l’un des piliers les plus fiables pour sécuriser les communications et renforcer la confiance dans les systèmes d’information.

Systèmes

Contient les cours et notions théoriques sur les systèmes d'exploitations.

Systèmes

Linux - Gestion des permissions

image.png

Difficulté : Novice


Notions : Unix, Linux, gestion de droits.



I. Introduction

En gestion de droits sur les systèmes Unix, il y a 3 notions importantes :

Lorsque l'on gère les systèmes de fichier, si l'on fait une commande :

ls -al

image.png

Celui-ci est affiché de la façon suivante :

image.png

 

De gauche à droite :

Note : dans cet exemple, l'utilisateur et le groupe ont le même nom mais sont bien deux éléments séparés.

 


II. Types d'objets

Sur linux, le principe de base est que tout est fichier.

C'est ensuite l'attribut de l'objet qui déterminera son type; Les plus utilisés sont :

Mais il existe aussi :

Un socket est un type de fichier représentant un socket au niveau réseau.

Un lien symbolique est un lien logique permettant de cibler un répertoire / fichier qui se situe à un autre endroit afin de le rendre disponible dans le répertoire courant sans pour autant en créer un duplicata.


III. Propriété de l'objet

Les objets ont un couple de propriétaires.

Le premier est l'utilisateur propriétaire, le second est le groupe propriétaire.

Pour changer les propriétaires d'un objet, il faut utiliser la commande 

chown <nomDuOwner>:<NomDuGroupe>

Il est possible d'ajouter -R pour rendre la modification récursive.

Exemple :

chown www-data:root index.php

Info : Par défaut, lors de la création d'un objet, l'utilisateur ayant créé l'objet est défini en tant qu'utilisateur propriétaire et son groupe personnel en tant que groupe propriétaire.


IV. Droits de l'objet

4.1 Types de droits :

Les droits UNIX s'articulent autour de trois "actions" possibles :

4.2 Calculs des droits :

Ces lettres, appelés "flags" définiront les droits sur le répertoire. Ces droits sont basés sur un système en binaire sur 3 bits.

Lettre r w x
Valeur binaire 4 2 1

Pour calculer tous les droits, il faudra additionner les valeurs de chaque bits pour en définir la valeur totale.

par exemple, lecture + écriture = r+w = 2+4 = 6

Ainsi, on aura la correspondance suivante :

Valeur Décimale Droits
1 exécution ( --x )
2 écriture ( --w )
3 écriture + exécution ( -wx )
4 lecture ( r-- )
5 lecture + exécution ( r-x )
6 lecture + écriture ( rw- )
7 tous les droits ( rwx )

Attention : la valeur 7 confère tous les droits et doit être appliquée en connaissance de cause, sous peine de représenter une faille de sécurité.

4.3 Représentation des droits :

Les droits sur les objets seront ensuite représentés sous ce format :

drawing-1-1762958793.png

Le premier groupe de 3 lettres sont les permissions de l'utilisateur propriétaire.

Le second groupe représente les droits du groupe propriétaire.

Le 3ème groupe représente les droits appliqués à tout le monde.


4.4 Modification des droits :

Les permissions se modifient avec les commande ci-dessous :

chmod <notation décimale ou lettres> <objet>

Il est possible d'ajouter -R pour rendre la modification récursive.

Exemple :

chmod 755 /var/www/index.php

D'autres commandes existent pour modifier ou ajuster les droits, notamment avec les lettres ou pour ajouter/retirer un droit spécifique à l'utilisateur, au groupe ou à everyone.

Mais la méthode évoquée ci-dessus reste la plus simple et la plus rapide.


V. Droits spéciaux

5.1 Droits SUID :

Ce droit s'applique aux fichiers exécutables, il permet d'allouer temporairement à un utilisateur les droits du propriétaire du fichier, durant son exécution.

En effet, lorsqu'un programme est exécuté par un utilisateur, les tâches qu'il accomplira seront restreintes par ses propres droits, qui s'appliquent donc au programme.

Lorsque le droit SUID est appliqué à un exécutable et qu'un utilisateur quelconque l'exécute, le programme détiendra alors les droits du propriétaire du fichier durant son exécution.

Bien sûr, un utilisateur ne peut jouir du droit SUID que s'il détient par ailleurs les droits d'exécution du programme.

Ce droit est utilisé lorsqu'une tâche, bien que légitime pour un utilisateur classique, nécessite des droits supplémentaires (généralement ceux de root). Il est donc à utiliser avec précaution.

Pour des partitions supplémentaires, il faut activer le bit suid pour pouvoir l'utiliser en le spécifiant dans les options des partitions concernés dans le fichier fstab.

5.2 Droits SGID :

Ce droit fonctionne comme le droit SUID, mais appliqué aux groupes. Il donne à un utilisateur les droits du groupe auquel appartient le propriétaire de l'exécutable et non plus les droits du propriétaire.


VI. Conclusion

Le système de permission Unix est assez simple et équivoque. Mais en contrepartie, il est assez limité.

Il n'est possible, en effet, d'attribuer nativement des autorisation que pour 'utilisateur, groupe, tous les autres'.

Si l'on veut avoir une gestion plus fine et plus complexe, par exemple pour des serveurs de fichiers, il faudra utiliser des logiciels complémentaire qui prendront en charge les listes de contrôle d'accès.

Méthodologie