Как включить одни и те же правила modsecurity в несколько виртуальных хостов без изменения идентификатора для каждого правила и каждого хоста?

У меня есть несколько виртуальных хостов с включенной Modsecurity. Я хочу назначить несколько правил OWASP (из папки base_rules), таких как SQL-инъекция, для несколько виртуальных хостов. Я включил их в свои файлы виртуального хоста, но при перезагрузке apache получаю следующее сообщение:

ModSecurity: Found another rule with the same id Action '-t' failed. 

The Apache error log may have more information.

Как я могу включить эти базовые правила в несколько виртуальных хостов, не меняя идентификатор для каждого правила? Сервер предназначен для проксирования множества виртуальных хостов, поэтому изменение идентификатора для каждого правила и каждого хоста потребует много работы вручную.


person Community    schedule 22.02.2016    source источник


Ответы (2)


Включение правил на уровне VHOST помогло.
Конфигурация, вызывающая ошибку:

IncludeOptional folder_to_rules/modsecurity_crs_41_xss_attacks.conf
<VirtualHost *:80>
    ServerName example.com
    SecRuleEngine On

</VirtualHost>

Решение:

<VirtualHost *:80>
    ServerName example.com
    SecRuleEngine On
    IncludeOptional folder_to_rules/modsecurity_crs_41_xss_attacks.conf
</VirtualHost>
person Community    schedule 23.02.2016

Включите их на уровне сервера, а не на уровне виртуального хоста.

Если они вам не нужны для определенных виртуальных хостов, вы можете написать правила ModSecurity, чтобы исключить некоторые или все правила на основе входящего заголовка хоста.

person Barry Pollard    schedule 22.02.2016
comment
Вы указали мне правильное направление! Спасибо! Единственная разница в том, что вы должны включить его на уровне vhost (противоположное тому, что вы сказали). Но это действительно указало мне правильное направление! - person ; 23.02.2016