Триггер mod_sec для правила CSR _23 - PullRequest
3 голосов
/ 21 июля 2010

Я использую mod_security с последними основными правилами.

Он срабатывает на всех моих страницах всякий раз, когда я использую строку запроса .. т.е..

www.mypage.com / index.php? querystring = 1

Я получаю предупреждение о том, что он превышает максимально допустимое количество аргументов, однако базовый конфиг определяет max_numb_args = 255, что, конечно, не превышает.

Есть идеи, почему?

Базовый conf:

SecRuleEngine On
SecAuditEngine RelevantOnly
SecAuditLog /var/log/apache2/modsec_audit.log
SecDebugLog / var / log / apache2/ modsec_debug_log
SecDebugLogLevel 3
SecDefaultAction "фаза: 2, проход, журнал, статус: 500"
SecRule REMOTE_ADDR "^ 127.0.0.1 $" nolog, разрешить
SecRequestBodyAccess On
SecResponseBase1022 * SecResponseBodyMimeType (null) текст / html текст / простой текст / xml
SecResponseBodyLimit 2621440
SecServerSignature Apache
SecUploadDir / tmp
SecUploadKeepFiles Off
SecAHIFHITAHIFBHIFAHIFAHITAHIFABHIFABHIFABHIFEBHIFEBHEF!mentSeparator "&"
SecCookieFormat 0
SecRequestBodyInMemoryLimit 131072
SecDataDir / tmp
SecTmpDir / tmp
SecAuditLogStorageDir / var / log / apache2 / аудита * 1034-секционная секция
секция второго уровня1, t: none, nolog, pass, setvar: tx.max_num_args = 255 "

Правило, которое запускает:

# Maximum number of arguments in request limited  
SecRule &TX:MAX_NUM_ARGS "@eq 1" "chain,phase:2,t:none,pass,nolog,auditlog,msg:'Maximum number of arguments in request reached',id:'960335',severity:'4',rev:'2.0.7'"
    SecRule &ARGS "@gt %{tx.max_num_args}" "t:none,setvar:'tx.msg=%{rule.msg}',setvar:tx.anomaly_score=+%{tx.notice_anomaly_score},setvar:tx.policy_score=+%{tx.notice_anomaly_score},setvar:tx.%{rule.id}-POLICY/SIZE_LIMIT-%{matched_var_name}=%{matched_var}"

И вывод журнала:

- ad5dc005-C-- queryString = 2 --ad5dc005-F-- HTTP / 1.1 200 OK
X-Powered-By: PHP / 5.3
Истекает: чт, 19 ноября 1981 г. 08:52:00 по Гринвичу
Cache-Control: без хранения, без кэширования, обязательная повторная проверка, пост-проверка = 0, предварительная проверка = 0
Прагма: отсутствие кэширования
Set-Cookie: SESSION= ak19oq36gpi94rco2qbi6j2k20;путь = /
Варьируется: Accept-Encoding
Content-Encoding: gzip
Content-Length: 1272
Keep-Alive: время ожидания = 15, макс = 99
Соединение: Keep-Alive
Content-Type: text / html;charset = utf-8

- ad5dc005-H -
Сообщение: оператор GT соответствует 0 в ARGS.[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_23_request_limits.conf"] [line "30"] [id "960335"] [rev "2.0.7"] [msg "Максимальное количество аргументов в запросе достигнуто"] [серьезность «ПРЕДУПРЕЖДЕНИЕ»]
Сообщение: оператор GE сопоставил 0 в TX: anomaly_score.[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_49_inbound_blocking.conf"] [строка "18"] [msg "Превышен показатель входящей аномалии (общий счет: 5, SQLi =, XSS =): максимальное количество аргументов взапрос достигнут "]
Сообщение: Предупреждение.Оператор GE соответствует 0 в TX: inbound_anomaly_score.[file "/etc/apache2/conf/modsecurity_crs/base_rules/modsecurity_crs_60_correlation.conf"] [строка "35"] [msg "Превышен показатель входящих аномалий (общий счетчик входящих: 5, SQLi =, XSS =): максимальное количество аргументовдостигнут запрос "]
Apache-Handler: application / x-httpd-php
Секундомер: 1279667800315092 76979 (1546 * 7522 72931)
Производитель: ModSeurity для Apache / 2.5.11 (http://www.modsecurity.org/); основной набор правил / 2.0.7. Сервер: Apache

1 Ответ

3 голосов
/ 21 июля 2010

Я использовал библиотеку Ubuntu .., которая имела версию .11.Я удалил его, скомпилировал из исходной версии .12 и теперь он жив, бьет и кричит!

Последним правилам CSR требуется версия .12.Приветствия.

...