É um pouco confuso, mas algumas das ações especificadas na primeira regra serão executadas para cada regra correspondida na cadeia e algumas somente se todas as regras corresponderem (o autor do ModSecurity declarou em retrospectiva que seria melhor colocar a regras sobre a última regra encadeada em vez da primeira). Veja aqui para mais detalhes: link :
Special rules control the usage of actions in chained rules:
- Any actions that affect the rule flow (i.e., the disruptive actions, skip and skipAfter) can be used only in the chain starter. They will be executed only if the entire chain matches.
- Non-disruptive rules can be used in any rule; they will be executed if the rule that contains them matches and not only when the entire chain matches.
- The metadata actions (e.g., id, rev, msg) can be used only in the chain starter.
Portanto, a regra deve ser isso, portanto, o registro em log só é ativado quando a segunda e segunda regra corresponde:
SecRule REQUEST_METHOD "^POST$" "id:'1234',phase:2,chain,allow"
SecRule REQUEST_URI "^\/en\/us\/$" "ctl:auditEngine=On"
Observe também que isso permitirá a regra e ignorará todas as regras futuras. Você pode ser melhor para passar a regra. Dessa forma, ele definitivamente será registrado, mas ainda executará outras regras. No entanto, se esta é a sua única regra de acordo com a configuração que você mostrou, isso realmente não importa, mas ainda é uma boa prática.