
Доброе утро,
В настоящее время я создаю новое правило безопасности мода 2.5.
Мое развертывание: У меня есть сервер Apache в режиме обратного прокси. Этот сервер Apacheнехостинг веб-сайтов. Вместо этого я проксирую запросы на другой сервер, который отвечает на веб-запросы.
Веб-сервер использует токены аутентификации для перезаписи URL-адреса веб-сайта на безопасный URL-адрес.
75.75.75.75 - - [01/May/2015:10:55:14 -0400] "GET /record/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"
Проблема:
В настоящее время Modsecurity сканирует URI. Из-за природы случайных URI было получено много ложных срабатываний. Чтобы предотвратить это, я хочу исключить все URI из сканирования.
Поскольку токен перезаписи, перенаправления и аутентификации генерируется на веб-сервере (и мы хотим сохранить его таким), как мне сообщить службе безопасности модератора, что эти заголовки являются легитимными, и не сканировать их?
75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /thing.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328 HTTP/1.1" 200 15100 "https://example.org/example.aspx?XOW%5eLdz%3c2%2f1%2f42%2527kbmhtbffJfx%3e0%2527qpkf%5ejc%3e2%2527Cfruho%60uhpmXOW%5eLdz%3c2%2f1%2f42%2527RptsbfVQU%60Jfx%3e193%2527qpkf%5ejc%3e2%2527RptsbfVQU%60Ejqts%60Bihmc%60Mblf%3cSdrtfru%1fTbpqjmh"
75.75.75.75 - - [01/May/2015:10:55:52 -0400] "GET /example/example.svc/js HTTP/1.1" 200 1786 "https://example.org/example.aspx?XOW%5eLdz%3c375%25cddnnd%60ttds%5ebt%60he%3c5%2f58328"
решение1
Насколько мне известно, невозможно полностью игнорировать какую-либо конкретную часть запроса (будь то URI или какие-либо параметры) извсенастроенные правила ModSecurity. Хотя это может быть полезно, это, скорее всего, откроет ряд дыр в безопасности.
Поэтому вам просто нужно посмотреть, какие правила не работают, и добавить исключения в белый список для этих правил.
Если вы приведете примеры некоторых неэффективных правил, я, возможно, смогу подсказать, как с этим справиться, если вам нужна помощь.
решение2
В итоге мы решили эту проблему, применив другое правило, чтобы не сканировать URI.
SecRuleUpdateTargetById 950120 !ARGS:REQUEST_URI
Таким образом, это конкретное правило не будет сканировать URI, но все равно будет сканировать остальную часть пакета. Следует отметить, что это правило должно быть реплицировано для каждого правила, которое у вас есть.