1 votes

Limiter la règle mod_security à un seul serveur virtuel (vhost)

Je gère plusieurs domaines (via des vhosts) avec la même installation apache. Certains domaines nécessitent des règles mod_security différentes de celles des autres. Dans un fichier exceptions.conf séparé, je rassemble toutes ces règles et j'utilise la syntaxe suivante :

<Location "/test">
    SecAuditEngine Off
    SecRuleRemoveById 950134
    SecRuleRemoveById 981265
    SecRuleRemoveById 981289
    SecRuleRemoveById 981244
    SecAuditEngine RelevantOnly     
</Location>

Mais cette règle correspondrait à tous les dossiers /test sur tous les domaines ! Mais je veux seulement la limiter à un hôte spécifique. Comment puis-je limiter ces règles à un seul serveur virtuel dans un fichier exceptions.conf global ?

1voto

Jenny D Points 26978

Voici quelques façons différentes de le faire :

  • au lieu d'avoir un fichier d'exceptions global, mettez les exceptions dans les définitions d'hôtes virtuels
  • si vous souhaitez avoir un fichier d'exception distinct de la définition de l'hôte virtuel, ne l'incluez pas dans la configuration du serveur principal, mais à l'intérieur de l'hôte virtuel.
  • au lieu d'utiliser <Location> , utiliser SecRule et le ctl:ruleRemoveByID action. Exemple :

SecRule SERVER_NAME "somedomain\.com$" "@streq /test/.*" "ctl:ruleRemoveByID=981244"

Si possible, la première serait de loin la plus simple.

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