Apache Logs — Analyse forensic des logs web

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.