J'ai Apache configuré sur un serveur Linux et mod_security activé. J'ai quelques lignes qui ressemblent à:
SecRule REQUEST_URI "^/*admin" drop,phase:1
Parce qu'il n'y a pas de /admin
sur mon site Web et que je ne veux pas gaspiller les ressources du serveur pour servir une page 404 à un bot ou à un pirate informatique.
J'ai remarqué que chaque fois qu'une page telle que /admin
est visitée, je vois dans mes journaux d'accès Apache qu'un statut HTTP 301 avec 0 octet de contenu a été renvoyé (ce qui est exactement ce que je veux). Cependant, je reçois également une ligne ModSecurity: Access denied with connection close (phase 1). Pattern match "^/*admin" at REQUEST_URI.
dans mes journaux d'erreurs Apache.
Est-il possible de continuer à ce que mod_security ajoute ces abandons de connexion à mes journaux d'accès, sans rien ajouter à mes journaux d'erreurs?
Assurez-vous de ne pas avoir log spécifié - dans la documentation sur ModSecurity:
Description : Indique qu'une correspondance réussie de la règle doit être enregistrée.
Exemple:
SecAction phase:1,id:117,pass,initcol:ip=%{REMOTE_ADDR},log
Cette action consignera les correspondances dans le fichier Apache journal des erreurs et dans le journal d'audit de ModSecurity.
Au lieu de cela, spécifiez nolog :
Description : empêche les correspondances de règles d'apparaître dans les journaux error et d'audit.
Exemple :
SecRule REQUEST_HEADERS:User-Agent "Test" allow,nolog,id:121
Bien que nolog implique noauditlog, vous pouvez remplacer le premier en utilisant nolog, auditlog.