Les deux types de logs essentiels

access.log : l'historique complet de toutes les requêtes HTTP. Pour chaque ligne : adresse IP, date et heure, URL demandée, code de réponse, navigateur utilisé.

error.log : les erreurs serveur (codes 4xx, 5xx), les tentatives bloquées, les problèmes de configuration. C'est votre premier indicateur de problèmes.

Anatomie d'une ligne de log

185.220.101.42 - - [25/May/2026:03:15:22] "GET /wp-admin/setup-config.php HTTP/1.1" 403 0 "-" "python-requests/2.28.0"

Décodage : IP connue du réseau Tor · 3h15 du matin (horaire typique de scan) · tentative d'accès à un fichier d'installation WP inexistant · 403 = accès refusé (votre .htaccess fonctionne) · python-requests = bot automatisé, pas un humain.

Ce que vous devez surveiller

Commandes pratiques en SSH

Trouver toutes les tentatives d'accès bloquées à wp-admin :

grep "wp-admin" access.log | grep " 403 " | awk '{print $1}' | sort | uniq -c | sort -rn

Voir les 50 dernières lignes en temps réel :

tail -f -n 50 access.log

Cadre légal

Les logs contiennent des adresses IP — c'est-à-dire des données personnelles selon la LPD. Mentionnez leur collecte dans votre politique de confidentialité et définissez une durée de conservation (généralement 30 à 90 jours). Au-delà, suppression ou anonymisation.

Exercice pratique

À faire maintenant : connectez-vous en SSH à votre serveur. Exécutez tail -n 100 access.log pour voir les 100 dernières lignes. Identifiez trois patterns différents : un visiteur humain, un robot légitime (Googlebot), et une tentative automatisée.