Base de connaissances

Machines virtuelles Expert 35 min

Auditer une VM après incident de sécurité

Analyser sans effacer les traces puis repartir d’une base saine si nécessaire.

Objectif pratique

Analyser une machine virtuelle compromise sans détruire les traces nécessaires au diagnostic et à la reconstruction.

Distribution utilisée

Debian / Ubuntu

Sommaire

  1. Figer l’état avant correction
  2. Rechercher le vecteur probable
  3. Évaluer la confiance dans la VM
  4. Renouveler les accès
  5. Documenter impact et prévention
  6. Décider de la reconstruction

Guide détaillé

Étape 1

Figer l’état avant correction

Copiez journaux, processus, connexions et fichiers modifiés avant nettoyage. L’audit commence par la conservation.

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' "Figer l’état avant correction" > ~/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.

Collecter les traces avant correction

En incident, ne nettoyez pas trop vite. Ces commandes figent un premier état exploitable.

Debian / Ubuntu
sudo mkdir -p /root/incident-$(date +%F-%H%M)
sudo ss -tulpn > /root/incident-$(date +%F-%H%M)/sockets.txt
sudo ps auxf > /root/incident-$(date +%F-%H%M)/processes.txt
sudo journalctl --since "24 hours ago" > /root/incident-$(date +%F-%H%M)/journal.txt
sudo find /etc /srv /var/www -mtime -2 -type f > /root/incident-$(date +%F-%H%M)/recent-files.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
  • `ps` affiche les processus pour repérer ceux qui consomment le plus.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `find` recherche des fichiers selon des critères comme taille ou date de modification.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
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.
  • `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.

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.
  • Les traces doivent être copiées avant nettoyage.
  • Les secrets exposés doivent être renouvelés après restauration.

Étape 2

Rechercher le vecteur probable

Compte compromis, faille applicative, secret exposé ou service non patché : la correction dépend de l’entrée réelle.

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' "Rechercher le vecteur probable" > ~/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.

Collecter les traces avant correction

En incident, ne nettoyez pas trop vite. Ces commandes figent un premier état exploitable.

Debian / Ubuntu
sudo mkdir -p /root/incident-$(date +%F-%H%M)
sudo ss -tulpn > /root/incident-$(date +%F-%H%M)/sockets.txt
sudo ps auxf > /root/incident-$(date +%F-%H%M)/processes.txt
sudo journalctl --since "24 hours ago" > /root/incident-$(date +%F-%H%M)/journal.txt
sudo find /etc /srv /var/www -mtime -2 -type f > /root/incident-$(date +%F-%H%M)/recent-files.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
  • `ps` affiche les processus pour repérer ceux qui consomment le plus.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `find` recherche des fichiers selon des critères comme taille ou date de modification.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
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.
  • `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.

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.
  • Les traces doivent être copiées avant nettoyage.
  • Les secrets exposés doivent être renouvelés après restauration.

Étape 3

Évaluer la confiance dans la VM

Si l’intégrité système est douteuse, reconstruire depuis une image saine est souvent plus sûr que réparer.

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' "Évaluer la confiance dans la VM" > ~/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.

Collecter les traces avant correction

En incident, ne nettoyez pas trop vite. Ces commandes figent un premier état exploitable.

Debian / Ubuntu
sudo mkdir -p /root/incident-$(date +%F-%H%M)
sudo ss -tulpn > /root/incident-$(date +%F-%H%M)/sockets.txt
sudo ps auxf > /root/incident-$(date +%F-%H%M)/processes.txt
sudo journalctl --since "24 hours ago" > /root/incident-$(date +%F-%H%M)/journal.txt
sudo find /etc /srv /var/www -mtime -2 -type f > /root/incident-$(date +%F-%H%M)/recent-files.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
  • `ps` affiche les processus pour repérer ceux qui consomment le plus.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `find` recherche des fichiers selon des critères comme taille ou date de modification.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
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.
  • `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.

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.
  • Les traces doivent être copiées avant nettoyage.
  • Les secrets exposés doivent être renouvelés après restauration.

Étape 4

Renouveler les accès

Clés, mots de passe, tokens et secrets applicatifs doivent être changés après exposition possible.

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.

Lister les ports et tester le réseau

On vérifie ce qui écoute réellement et on teste localement avant de chercher une erreur côté DNS ou routeur.

Debian / Ubuntu
ip -br addr
ip route
sudo ss -tulpn
curl -I http://127.0.0.1
nc -vz 127.0.0.1 80
Ce que font les commandes
  • `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
  • `ip route` montre la passerelle utilisée et les routes connues.
  • `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
  • `curl` teste une URL depuis la machine elle-même.
  • `nc -vz` teste si un port TCP répond sans envoyer de données applicatives.

Collecter les traces avant correction

En incident, ne nettoyez pas trop vite. Ces commandes figent un premier état exploitable.

Debian / Ubuntu
sudo mkdir -p /root/incident-$(date +%F-%H%M)
sudo ss -tulpn > /root/incident-$(date +%F-%H%M)/sockets.txt
sudo ps auxf > /root/incident-$(date +%F-%H%M)/processes.txt
sudo journalctl --since "24 hours ago" > /root/incident-$(date +%F-%H%M)/journal.txt
sudo find /etc /srv /var/www -mtime -2 -type f > /root/incident-$(date +%F-%H%M)/recent-files.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
  • `ps` affiche les processus pour repérer ceux qui consomment le plus.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `find` recherche des fichiers selon des critères comme taille ou date de modification.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
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.
  • `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.

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.
  • Les traces doivent être copiées avant nettoyage.
  • Les secrets exposés doivent être renouvelés après restauration.

Étape 5

Documenter impact et prévention

Le rapport doit dire ce qui s’est passé, ce qui a été touché, ce qui a changé et comment éviter la répétition.

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' "Documenter impact et prévention" > ~/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.

Collecter les traces avant correction

En incident, ne nettoyez pas trop vite. Ces commandes figent un premier état exploitable.

Debian / Ubuntu
sudo mkdir -p /root/incident-$(date +%F-%H%M)
sudo ss -tulpn > /root/incident-$(date +%F-%H%M)/sockets.txt
sudo ps auxf > /root/incident-$(date +%F-%H%M)/processes.txt
sudo journalctl --since "24 hours ago" > /root/incident-$(date +%F-%H%M)/journal.txt
sudo find /etc /srv /var/www -mtime -2 -type f > /root/incident-$(date +%F-%H%M)/recent-files.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
  • `ps` affiche les processus pour repérer ceux qui consomment le plus.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `find` recherche des fichiers selon des critères comme taille ou date de modification.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
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.
  • `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.

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.
  • Les traces doivent être copiées avant nettoyage.
  • Les secrets exposés doivent être renouvelés après restauration.

Étape 6

Décider de la reconstruction

Si le doute persiste, planifiez une reconstruction propre plutôt qu’un durcissement cosmétique.

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' "Décider de la reconstruction" > ~/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.

Collecter les traces avant correction

En incident, ne nettoyez pas trop vite. Ces commandes figent un premier état exploitable.

Debian / Ubuntu
sudo mkdir -p /root/incident-$(date +%F-%H%M)
sudo ss -tulpn > /root/incident-$(date +%F-%H%M)/sockets.txt
sudo ps auxf > /root/incident-$(date +%F-%H%M)/processes.txt
sudo journalctl --since "24 hours ago" > /root/incident-$(date +%F-%H%M)/journal.txt
sudo find /etc /srv /var/www -mtime -2 -type f > /root/incident-$(date +%F-%H%M)/recent-files.txt
Ce que font les commandes
  • `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
  • `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
  • `ps` affiche les processus pour repérer ceux qui consomment le plus.
  • `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
  • `find` recherche des fichiers selon des critères comme taille ou date de modification.

Base outils Debian / Ubuntu

apt installe les utilitaires utiles, puis systemctl et journalctl vérifient que la machine reste saine.

Debian / Ubuntu
sudo apt update
sudo apt install -y curl vim rsync
systemctl --failed
journalctl -p warning -n 50 --no-pager
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.
  • `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.

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.
  • Les traces doivent être copiées avant nettoyage.
  • Les secrets exposés doivent être renouvelés après restauration.

Checklist finale

  • Traces conservées
  • Vecteur identifié
  • Secrets renouvelés