La réponse aux incidents (IR – Incident Response) est le processus structuré qui permet de détecter, contenir, éradiquer et récupérer d’une compromission. Ce dernier chapitre vous présente les étapes clés, les outils de collecte de preuves et les premières techniques de forensique numérique.
Les 6 phases de la réponse aux incidents (NIST)
1. PRÉPARATION → Politiques, outils, équipes, communication
2. DÉTECTION → SIEM, alertes, rapports utilisateurs
3. CONTAINMENT → Isoler les systèmes compromis
4. ÉRADICATION → Supprimer la menace (malware, backdoor)
5. RÉCUPÉRATION → Restaurer depuis backups sains, patcher
6. POST-MORTEM → Rapport, retour d'expérience, amélioration
Détection avec un SIEM (Wazuh)
Un SIEM agrège et corrèle les logs de toute l’infrastructure pour détecter des patterns d’attaque.
# Wazuh : installation de l'agent
curl -so wazuh-agent.deb https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.7.0-1_amd64.deb
sudo dpkg -i wazuh-agent.deb
sudo systemctl enable --now wazuh-agent
# Règles personnalisées (Wazuh)
# /var/ossec/etc/rules/local_rules.xml
<rule id="100001" level="10">
<if_sid>5710</if_sid>
<match>Failed password for root</match>
<description>Brute force SSH root</description>
</rule>
Collecte de preuves (préserver l’intégrité)
# Règle d'or : NE PAS modifier les preuves originales — travailler sur des copies
# Créer une image forensique d'un disque
sudo dcfldd if=/dev/sda of=/media/externe/image.dd hash=md5 hashlog=/media/externe/hash.txt
# Vérifier l'intégrité de l'image
md5sum /dev/sda
md5sum /media/externe/image.dd
# Les deux hash doivent correspondre
# Monter l'image en lecture seule
sudo mount -o ro,loop /media/externe/image.dd /mnt/forensique
Analyse de la mémoire vive
# Capturer la RAM avec LiME (Linux Memory Extractor)
sudo insmod lime.ko "path=/media/externe/ram.lime format=lime"
# Analyser avec Volatility 3
python3 vol.py -f ram.lime linux.pslist # Processus actifs
python3 vol.py -f ram.lime linux.netstat # Connexions réseau
python3 vol.py -f ram.lime linux.bash # Historique bash en mémoire
python3 vol.py -f ram.lime linux.malfind # Code injecté suspect
Analyse de logs Linux
# Connexions SSH réussies et échouées
grep "Accepted" /var/log/auth.log | tail -50
grep "Failed" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -20
# Commandes exécutées par un utilisateur
grep "sudo" /var/log/auth.log | grep "username"
cat /home/user/.bash_history
# Logs Apache/Nginx : chercher des patterns d'attaque
grep "UNION SELECT\|../../../\|
