5 votes

Comment inclure l'action finale de la requête ModSecurity dans le fichier access.log d'Apache

Je suis actuellement en train d'utiliser ModSecurity 2.7 et Apache 2.4.7 sur Ubuntu Trusty.

J'aimerais utiliser les directives LogFormat et CustomLog d'Apache afin de pouvoir inclure un champ indiquant si ModSecurity a décidé d'autoriser une requête à continuer ou si elle a bloqué une requête.

J'aimerais également inclure un champ indiquant si une requête autorisée a déclenché des règles de ModSecurity en mode avertissement uniquement. Peu importe s'il s'agit de deux champs différents ou d'un seul, tant que l'information est présente sur chaque ligne de journal Apache.

Il y a documentation qui suggère que je peux utiliser mod_log_config et la syntaxe %{...}M pour inclure des variables ModSecurity dans le journal Apache, mais je ne sais pas quelles variables me donneraient l'information nécessaire.

J'essaie explicitement de maintenir SecAuditEngine RelevantOnly et de ne pas exiger un journal d'audit complet pour chaque requête. J'espère également éviter le besoin de corrélation entre les journaux en utilisant mod_unique_id ou similaire.

Est-ce possible. Comment faire?

0voto

blcArmadillo Points 1872

Essayez de bloquer avec un statut de réponse inhabituel, puis de le journaliser dans le journal. Pour les avertissements, utilisez HIGHEST_SEVERITY.

(via https://twitter.com/ivanristic/status/632098551603052544)

-1voto

lapo Points 1471

http://resources.infosecinstitute.com/analyzing-mod-security-logs/

SecAuditLogParts : Le journal d'audit est assez volumineux car il enregistre tout sur la demande, comme l'en-tête de la demande, l'en-tête de la réponse, le corps de la demande et la réponse du corps, etc. Ainsi, grâce à cette option, nous pouvons réellement dire à Mod Security ce qui doit être enregistré dans les journaux d'erreurs et ce qui doit être ignoré. Pour ce faire, chaque partie est attribuée à un alphabet. Voici le tableau dans lequel le sens de chaque alphabet est défini.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X