Base de connaissances

Machines virtuelles Expert 31 min

Segmenter le réseau de plusieurs services sur VM

Limiter les communications internes pour éviter qu’un service compromis expose tout le reste.

Objectif pratique

Isoler les services d’une VM avancée afin qu’un composant exposé ne donne pas accès à tout le reste.

Distribution utilisée

Debian / Ubuntu

Sommaire

  1. Cartographier les flux métier
  2. Séparer les zones de confiance
  3. Bloquer par défaut les flux latéraux
  4. Tester chaque règle
  5. Prévoir l’exploitation
  6. Rejouer un scénario de panne

Guide détaillé

Étape 1

Cartographier les flux métier

Avant firewall ou VLAN, listez les communications indispensables entre applications, bases, files et administration.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Tester l’isolation réseau

On teste la passerelle autorisée, puis une cible LAN qui doit rester bloquée. Remplacez les IP par votre plan réseau.

Debian / Ubuntu
ip route
ping -c 3 10.31.254.254
ping -c 3 192.168.4.8
curl -m 3 http://192.168.4.8:8006
sudo nft list ruleset
Ce que font les commandes
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `ping -c 3 10.31.254.254` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `ping -c 3 192.168.4.8` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `curl` teste une URL depuis la machine elle-même.
  • `nft list ruleset` affiche les règles nftables réellement chargées.

Créer un accès administrateur et limiter le réseau

On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.

Debian / Ubuntu
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `adduser` crée un compte utilisateur interactif.
  • `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
  • `install -d` crée le dossier avec les bons droits en une seule commande.
  • `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
  • `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Pare-feu avec UFW

Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.

Debian / Ubuntu
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Tracer le changement pour audit

Pour un guide expert, gardez une preuve simple de l’état avant/après et du moment exact de l’intervention.

Debian / Ubuntu
mkdir -p ~/change-log
{
  date -Iseconds
  hostnamectl
  ip route
  df -h
  free -h
} > ~/change-log/avant-$(date +%F-%H%M).txt
# Après intervention, relancez le même bloc en remplaçant avant par apres.
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `date -Iseconds` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `df -h` indique l’espace disque libre par point de montage.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • Après intervention, relancez le même bloc en remplaçant avant par apres..

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau expert : mesurez avant/après, conservez les traces, et préparez un rollback. Une commande correcte hors contexte peut rester dangereuse si elle est lancée au mauvais endroit.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
  • Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.

Étape 2

Séparer les zones de confiance

Public, privé, administration et sauvegarde ne doivent pas partager les mêmes permissions par défaut.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Séparer les zones de confiance" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer un accès administrateur et limiter le réseau

On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.

Debian / Ubuntu
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `adduser` crée un compte utilisateur interactif.
  • `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
  • `install -d` crée le dossier avec les bons droits en une seule commande.
  • `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
  • `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Pare-feu avec UFW

Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.

Debian / Ubuntu
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Tracer le changement pour audit

Pour un guide expert, gardez une preuve simple de l’état avant/après et du moment exact de l’intervention.

Debian / Ubuntu
mkdir -p ~/change-log
{
  date -Iseconds
  hostnamectl
  ip route
  df -h
  free -h
} > ~/change-log/avant-$(date +%F-%H%M).txt
# Après intervention, relancez le même bloc en remplaçant avant par apres.
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `date -Iseconds` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `df -h` indique l’espace disque libre par point de montage.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • Après intervention, relancez le même bloc en remplaçant avant par apres..

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau expert : mesurez avant/après, conservez les traces, et préparez un rollback. Une commande correcte hors contexte peut rester dangereuse si elle est lancée au mauvais endroit.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
  • Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.

Étape 3

Bloquer par défaut les flux latéraux

Un service compromis ne doit pas pouvoir explorer tous les autres. Ouvrez seulement les communications justifiées.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Tester l’isolation réseau

On teste la passerelle autorisée, puis une cible LAN qui doit rester bloquée. Remplacez les IP par votre plan réseau.

Debian / Ubuntu
ip route
ping -c 3 10.31.254.254
ping -c 3 192.168.4.8
curl -m 3 http://192.168.4.8:8006
sudo nft list ruleset
Ce que font les commandes
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `ping -c 3 10.31.254.254` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `ping -c 3 192.168.4.8` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `curl` teste une URL depuis la machine elle-même.
  • `nft list ruleset` affiche les règles nftables réellement chargées.

Créer un accès administrateur et limiter le réseau

On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.

Debian / Ubuntu
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `adduser` crée un compte utilisateur interactif.
  • `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
  • `install -d` crée le dossier avec les bons droits en une seule commande.
  • `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
  • `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Pare-feu avec UFW

Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.

Debian / Ubuntu
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Tracer le changement pour audit

Pour un guide expert, gardez une preuve simple de l’état avant/après et du moment exact de l’intervention.

Debian / Ubuntu
mkdir -p ~/change-log
{
  date -Iseconds
  hostnamectl
  ip route
  df -h
  free -h
} > ~/change-log/avant-$(date +%F-%H%M).txt
# Après intervention, relancez le même bloc en remplaçant avant par apres.
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `date -Iseconds` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `df -h` indique l’espace disque libre par point de montage.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • Après intervention, relancez le même bloc en remplaçant avant par apres..

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau expert : mesurez avant/après, conservez les traces, et préparez un rollback. Une commande correcte hors contexte peut rester dangereuse si elle est lancée au mauvais endroit.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
  • Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.

Étape 4

Tester chaque règle

Un test doit confirmer ce qui est autorisé et ce qui est refusé. Les deux résultats comptent.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Tester chaque règle" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer un accès administrateur et limiter le réseau

On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.

Debian / Ubuntu
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `adduser` crée un compte utilisateur interactif.
  • `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
  • `install -d` crée le dossier avec les bons droits en une seule commande.
  • `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
  • `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Pare-feu avec UFW

Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.

Debian / Ubuntu
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Tracer le changement pour audit

Pour un guide expert, gardez une preuve simple de l’état avant/après et du moment exact de l’intervention.

Debian / Ubuntu
mkdir -p ~/change-log
{
  date -Iseconds
  hostnamectl
  ip route
  df -h
  free -h
} > ~/change-log/avant-$(date +%F-%H%M).txt
# Après intervention, relancez le même bloc en remplaçant avant par apres.
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `date -Iseconds` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `df -h` indique l’espace disque libre par point de montage.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • Après intervention, relancez le même bloc en remplaçant avant par apres..

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau expert : mesurez avant/après, conservez les traces, et préparez un rollback. Une commande correcte hors contexte peut rester dangereuse si elle est lancée au mauvais endroit.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
  • Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.

Étape 5

Prévoir l’exploitation

La segmentation doit rester compréhensible pour dépanner. Documentez routes, règles et exceptions.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Prévoir l’exploitation" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer un accès administrateur et limiter le réseau

On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.

Debian / Ubuntu
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `adduser` crée un compte utilisateur interactif.
  • `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
  • `install -d` crée le dossier avec les bons droits en une seule commande.
  • `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
  • `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Pare-feu avec UFW

Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.

Debian / Ubuntu
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Tracer le changement pour audit

Pour un guide expert, gardez une preuve simple de l’état avant/après et du moment exact de l’intervention.

Debian / Ubuntu
mkdir -p ~/change-log
{
  date -Iseconds
  hostnamectl
  ip route
  df -h
  free -h
} > ~/change-log/avant-$(date +%F-%H%M).txt
# Après intervention, relancez le même bloc en remplaçant avant par apres.
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `date -Iseconds` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `df -h` indique l’espace disque libre par point de montage.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • Après intervention, relancez le même bloc en remplaçant avant par apres..

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau expert : mesurez avant/après, conservez les traces, et préparez un rollback. Une commande correcte hors contexte peut rester dangereuse si elle est lancée au mauvais endroit.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
  • Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.

Étape 6

Rejouer un scénario de panne

Simulez un service indisponible et vérifiez que la segmentation n’empêche pas le diagnostic.

Observer la machine avant de changer quoi que ce soit

Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.

Debian / Ubuntu
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
  • `cat /etc/os-release` affiche la distribution et sa version exacte.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • `df -h` indique l’espace disque libre par point de montage.

Appliquer cette étape avec une trace simple

Pour cette machine virtuelle, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.

Debian / Ubuntu
mkdir -p ~/newscloud-notes
printf '%s\n' "Rejouer un scénario de panne" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
  • `systemctl --failed` liste les services en échec pour repérer un problème global.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.

Créer un accès administrateur et limiter le réseau

On crée un utilisateur, on prépare SSH, puis on ouvre seulement les ports nécessaires. Gardez votre session actuelle ouverte pendant le test.

Debian / Ubuntu
sudo adduser deploy
sudo usermod -aG sudo deploy
sudo install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown deploy:deploy /home/deploy/.ssh/authorized_keys
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `adduser` crée un compte utilisateur interactif.
  • `usermod -aG sudo` ajoute l’utilisateur au groupe d’administration sudo.
  • `install -d` crée le dossier avec les bons droits en une seule commande.
  • `nano` ouvre le fichier à modifier ; remplacez les valeurs exemples avant d’enregistrer.
  • `chmod` fixe les permissions pour éviter un refus SSH ou une exposition inutile.
  • `chown` remet la propriété des fichiers au bon utilisateur de service.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Pare-feu avec UFW

Sur Debian ou Ubuntu, UFW simplifie les règles courantes tout en gardant une lecture facile des ports ouverts.

Debian / Ubuntu
sudo apt update
sudo apt install -y ufw
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw enable
sudo ufw status verbose
Ce que font les commandes
  • `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
  • `apt install` installe les paquets indiqués depuis les dépôts configurés.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.
  • `ufw` applique ou affiche les règles de pare-feu simples.

Tracer le changement pour audit

Pour un guide expert, gardez une preuve simple de l’état avant/après et du moment exact de l’intervention.

Debian / Ubuntu
mkdir -p ~/change-log
{
  date -Iseconds
  hostnamectl
  ip route
  df -h
  free -h
} > ~/change-log/avant-$(date +%F-%H%M).txt
# Après intervention, relancez le même bloc en remplaçant avant par apres.
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `date -Iseconds` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
  • `hostnamectl` affiche le nom, le type de machine et quelques informations système.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `df -h` indique l’espace disque libre par point de montage.
  • `free -h` affiche RAM et swap dans une unité lisible.
  • Après intervention, relancez le même bloc en remplaçant avant par apres..

Variantes et attention

  • Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
  • En VM, vous contrôlez le système complet. Vous pouvez agir sur le noyau, le pare-feu et les volumes, mais vous êtes aussi responsable des mises à jour et de l’exposition réseau.
  • Niveau expert : mesurez avant/après, conservez les traces, et préparez un rollback. Une commande correcte hors contexte peut rester dangereuse si elle est lancée au mauvais endroit.

Vérifications

  • La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
  • La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
  • Votre nouvelle session SSH doit fonctionner avant de fermer l’ancienne.
  • Les ports ouverts doivent correspondre à la liste prévue, vérifiable avec `ss -tulpn`.

Checklist finale

  • Flux cartographiés
  • Segments séparés
  • Règles testées