Назад | Перейти на главную страницу

Правило Modsecurity не сканировать URI

Доброе утро,

В настоящее время я создаю новое правило 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"

В итоге мы решили эту проблему, применив другое правило, чтобы не сканировать URI.

SecRuleUpdateTargetById 950120! ARGS: REQUEST_URI

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

Насколько мне известно, невозможно полностью игнорировать какую-либо конкретную часть запроса (будь то URI или любые параметры) из все настроил правила ModSecurity. Хотя это может быть полезно, но, вероятно, откроет ряд дыр в безопасности.

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

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