# Proxmox

# 01- Introduction

<span style="color: rgb(230, 126, 35);">Proxmox Virtual Environment</span> est un hyperviseur open‑source qui combine deux technologies de virtualisation majeures :

- **KVM** (Kernel-based Virtual Machine) pour la **virtualisation** complète de machines virtuelles
- **LXC** (Linux Containers) pour des **conteneurs** système légers

Grâce à cette double approche, **Proxmox** VE permet de déployer un environnement flexible, performant et hautement disponible pour héberger toutes sortes de services, du simple conteneur applicatif à l'infrastructure multi‑VM complète.

1. **Debian** est réputée pour sa robustesse et constitue un excellent choix pour des services critiques. Ici, on installera **centreon**, une solution complète de supervision réseau, système et applicative.
2. **Ubuntu** **Server** 24.04 sert de machine virtuelle dédiée à l’hébergement du serveur web, offrant stabilité et simplicité de gestion. Ici, il servira à héberger un **broker** de messages (ex. : Mosquitto MQTT) ainsi qu'un **serveur** web.

 L’utilisation d’une VM dédiée permet **d’isoler** complètement les **services** **critiques** et d’assurer un meilleur contrôle des performances notamment sur l'aspect **cybersécurité**.[![cyber.gif](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/cyber.gif)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/cyber.gif)

##### 1. Préparation


`Navigateur → https://192.168.42.XX:8006`  
`Login : root@pam / mot_de_passe_proxmox`

[![image.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/scaled-1680-/image.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/image.png)

*Image 1 : Page d’accueil de l'environnement Proxmox*

# 02- Installation

##### 2.1 Virtualisation 

Avant de pouvoir installer une machine virtuelle, nous devons d'abord télécharger le support ISO sur notre <span style="color: rgb(230, 126, 35);">**Proxmox**</span> <span style="color: rgb(230, 126, 35);">VE</span>

- <span style="color: rgb(230, 126, 35);">Allez dans le menu stockage pour identifier l'emplacement où **télécharger** les images **ISO** :</span>

[![image.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/scaled-1680-/HlDimage.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/HlDimage.png)

*Image 2 : Exemple non contractuel*

- <span style="color: rgb(230, 126, 35);">Accédez à l'un des **stockages** identifiés précédemment et cliquez sur **Upload** :</span>

[![image.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/scaled-1680-/6cOimage.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/6cOimage.png)

*Image 3 : Exemple non contractuel*

- <span style="color: rgb(230, 126, 35);">Téléchargez chaque fichier ISO du système pour lequel vous souhaitez **créer** une machine virtuelle :</span>

[![image.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/scaled-1680-/Vfsimage.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/Vfsimage.png)

*Image 4 : Exemple non contractuel*

Les **images ISO** devraient apparaître après leur téléchargement**.**

Assurez-vous de faire la comparaison avec la commande suivante à saisir dans un terminal :

```
sha256sum 
```

[![Capture d’écran du 2026-03-02 10-52-13.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/scaled-1680-/capture-decran-du-2026-03-02-10-52-13.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/capture-decran-du-2026-03-02-10-52-13.png)*Image 5 : Comparaison pour ubuntu*

L’intérêt de cette commande est de comparer **l'empreinte** qu'elle retourne avec celle présente sur le site, ici nous avons exactement le même retour ce qui signifie qu'il n'y a pas eu d’erreur lors de la **transmission**.

##### 2.2 Création d'une Machine Virtuelle 

- <span style="color: rgb(230, 126, 35);">Configurez les paramètres selon vos besoins, puis cliquez sur Finish</span>

[![Capture d’écran du 2026-03-02 15-45-14.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/scaled-1680-/capture-decran-du-2026-03-02-15-45-14.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/capture-decran-du-2026-03-02-15-45-14.png)

*Image 6 : Exemple de paramètres pour une VM*

##### 2.3 Installation de Debian

- <span style="color: rgb(230, 126, 35);">Une fois créée, démarrez la machine virtuelle depuis le menu **Console**. Elle démarrera automatiquement à partir du média d'installation de **Debian** :</span>

[![image.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/scaled-1680-/0rwimage.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-03/0rwimage.png)

*Image 7 : Exemple non contractuel*

# 03- Serveurs applicatifs

Dans le cadre du projet **SIGACS** (Système informatique de gestion automatisée d'un complexe de serres), trois machines virtuelles ont été déployées sur <span style="color: rgb(230, 126, 35);">**Proxmox**</span> <span style="color: rgb(230, 126, 35);">VE</span> pour gérer la branche applicative du système. Cette architecture est conforme à la répartition des tâches *E1* (hébergement web, base de données, broker MQTT). Les VM sont connectées au réseau 192.168.42.0/24 via le bridge `vmbr0`, intégrées avec le routeur pfSense (192.168.42.55) gérant NTP et la sécurité.

##### 3.1 VM ubuntu-broker-server

Le rôle de la VM est de récupérer des données des capteurs, le broker MQTT central lui reçoit les publications des capteurs.

<table id="bkmrk-param%C3%A8tre-valeur-os-" style="border-collapse: collapse; width: 100%; font-family: Arial, sans-serif; height: 202.3px;"><tbody><tr style="height: 33.7167px;"><td class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Paramètre</td><td class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Valeur</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">OS</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Ubuntu Server 24.04 LTS</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">CPU</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">1 vCPU</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">RAM</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">8 Go</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">Disque</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">32 Go (local-lvm)</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">Réseau</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">IP 192.168.42.130/26, bridge vmbr0, gw 192.168.42.129</td></tr></tbody></table>

##### 3.2 VM ubuntu-web-serveur

Le rôle de la VM est d'héberger et de sauvegarder des données. Elle reçoit les mesures MQTT du broker, les stocke en base de données relationnelle, puis les transmets avec un site web.​

<table id="bkmrk-param%C3%A8tre-valeur-os--1" style="border-collapse: collapse; width: 100%; font-family: Arial, sans-serif; height: 202.3px;"><thead class=""><tr style="height: 33.7167px;"><th class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Paramètre</th><th class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Valeur</th></tr></thead><tbody><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">OS</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Ubuntu Server 24.04 LTS</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">CPU</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">1 vCPU</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">RAM</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">8 Go</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">Disque</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">32 Go (local-lvm)</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">Réseau</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">IP 192.168.42.131/26, bridge vmbr0, gw 192.168.42.129</td></tr></tbody></table>

##### 3.3. VM debian-centreon 

Le rôle de la VM est la génération d'alertes ainsi que de la surveillance au niveau du réseau.

<table id="bkmrk-param%C3%A8tre-valeur-os--2" style="border-collapse: collapse; width: 100%; font-family: Arial, sans-serif; height: 202.3px;"><thead class=""><tr style="height: 33.7167px;"><th class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Paramètre</th><th class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Valeur</th></tr></thead><tbody><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">OS</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">Debian 12.1.3</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">CPU</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">1 vCPU</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">RAM</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">4 Go</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">Disque</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">32 Go (local-lvm)</td></tr><tr style="height: 33.7167px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;"><span style="color: rgb(230, 126, 35);">Réseau</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.7167px;">IP 192.168.42.132/26, bridge vmbr0, gw 192.168.42.129</td></tr></tbody></table>

# 04- Utilisateurs

Dans <span style="color: rgb(230, 126, 35);">**Proxmox**</span> VE, la gestion des **utilisateurs** permet de contrôler les accès à l'hyperviseur et aux ressources virtualisées. Il est essentiel, dans une logique de **cybersécurité**, de ne pas utiliser le compte `<em>root</em>` pour les opérations courantes, mais de créer des comptes dédiés avec des droits limités au strict nécessaire.

##### 4.1 Création d'un utilisateur

Accédez à `Datacenter` → `Permissions` → `Users`, puis cliquez sur `Add` :

[![Capture d’écran du 2026-04-02 14-30-13.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-04/scaled-1680-/capture-decran-du-2026-04-02-14-30-13.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-04/capture-decran-du-2026-04-02-14-30-13.png)

*Image 8 : Exemple d'une page d'accueil*

Ensuite vous renseignez les champs suivants :

<table id="bkmrk-champ-valeur-exemple" style="border-collapse: collapse; width: 100%; font-family: Arial, sans-serif; height: 203.133px;"><thead><tr style="height: 33.8px;"><th class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" scope="col" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.8px;"><span style="background-color: rgb(255, 255, 255);">Champ</span></th><th class="border-subtlest p-sm min-w-[48px] break-normal border-b text-left align-bottom border-r last:border-r-0 font-bold bg-subtle first:border-radius-tl-lg last:border-radius-tr-lg" scope="col" style="background-color: rgb(242, 242, 242); border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.8px;">Valeur exemple</th></tr></thead><tbody><tr style="height: 34.4667px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 34.4667px;"><span style="color: rgb(230, 126, 35);">User name</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 34.4667px;">`admin-sigacs`</td></tr><tr style="height: 34.4667px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 34.4667px;"><span style="color: rgb(230, 126, 35);">Realm</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 34.4667px;">`pve`</td></tr><tr style="height: 33.8px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.8px;"><span style="color: rgb(230, 126, 35);">Password</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 33.8px;">*(mot de passe fort)*</td></tr><tr style="height: 32.8px;"><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 32.8px;"><span style="color: rgb(230, 126, 35);">Group</span></td><td class="border-subtlest px-sm min-w-[48px] break-normal border-b border-r last:border-r-0" style="border: 1px solid rgb(221, 221, 221); padding: 8px; text-align: left; height: 32.8px;">*(optionnel)*</td></tr></tbody></table>

##### 4.3 Attribution des rôles  


Accédez à `Datacenter` → `Permissions` → `Add`, puis cliquez sur `User Permission` :

[![Capture d’écran du 2026-04-02 14-28-40.png](https://book.clement-hervouet.fr/uploads/images/gallery/2026-04/scaled-1680-/capture-decran-du-2026-04-02-14-28-40.png)](https://book.clement-hervouet.fr/uploads/images/gallery/2026-04/capture-decran-du-2026-04-02-14-28-40.png)

Image 9 : Exemple d'une configuration admin

L’attribution des rôles repose sur le principe du moindre privilège, qui consiste à accorder à chaque utilisateur uniquement les droits nécessaires à ses tâches. Cette approche limite les risques d’erreur, de mauvaise manipulation ou d’accès non autorisé aux ressources de l’infrastructure Proxmox. Dans le cadre du projet SIGACS, elle permet de renforcer la sécurité tout en conservant une gestion claire et adaptée des différents comptes utilisateurs.