Apache Logs — Analyse forensic des logs web
★★★★★
Emplacements et format
/var/log/apache2/access.log
/var/log/apache2/error.log
# Format combined
192.0.2.1 - - [10/Oct/2024:13:55:36 +0000] "GET /admin HTTP/1.1" 200 1043 "-" "curl/8.0" Détection d'attaques
# Codes d erreur en rafale (scan/brute force)
awk '{print $9}' access.log | sort | uniq -c | sort -rn
# Tentatives d injection / traversal
grep -iE "union select|\.\./|<script|/etc/passwd" access.log
# Top IPs
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head
# User-agents suspects (outils)
grep -iE 'sqlmap|nikto|nmap|gobuster' access.log Corrélation
Croiser l'access.log (requêtes) et l'error.log (PHP/erreurs), repérer le passage de la reconnaissance à l'exploitation, et identifier les webshells par des POST récurrents vers un fichier inattendu.