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

Что на самом деле означают записи журнала аудита для ModSecurity?

У нас есть настройка ModSecurity для входа в modsec_audit.log для Apache2. Сегодня в этом журнале было создано 2259 записей с реферером:

Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)

Означают ли эти записи, что bingbot не может сканировать наш сайт? В записи H для этой записи журнала указано (нет ссылки на серьезность или тег:

Message: Rule execution error - PCRE limits exceeded (-8): (null).

Код результата HTTP для этой записи - 200 OK.

Я пытаюсь понять, что означают записи в этих журналах, чтобы создать какую-либо форму отчетности. Например, я понимаю, что если в разделе H записи журнала указано:

[severity "CRITICAL"]

Этот ModSecurity заблокировал запрос страницы. Прав ли я в этом понимании?

Надеюсь, кто-нибудь поможет мне разобраться в этом. :)

Первое, что нужно проверить, - это действительно бот Bing или нет. Подделать заголовок вашего User-Agent банально легко, и всевозможные вредоносные боты делают это постоянно. Истинные боты Bing всегда приходят с IP-адреса, на который выполняется обратный поиск. <something>.search.msn.com. Затем вы должны проверить прямой поиск возвращенного домена:

$ dig +short -x 157.55.16.222
msnbot-157-55-16-222.search.msn.com.
$ dig +short msnbot-157-55-16-222.search.msn.com
157.55.16.222

Есть некоторая хороший совет здесь о вашей проблеме с ограничениями PCRE. Посмотрите, сможете ли вы отследить, какое правило вызывает проблему, и действовать дальше.

[severity "CRITICAL"] недостаточно, чтобы определить, был ли запрос заблокирован или нет. Запросы могут быть заблокированы для [severity "NOTICE"] и разрешено для [severity "CRITICAL"] в зависимости от вашей конфигурации и причины серьезности. Строка, которую я вижу, когда запрос заблокирован, это Access denied with code 403 (phase 2). (Или иногда (phase 1).)

Если вы можете отследить тот же запрос в журналах доступа, вы можете проверить там код возврата, чтобы быть абсолютно уверенным. Вы можете сделать это либо с IP-адресом и меткой времени (которая немного нечеткая, потому что IP-адрес может легко сделать более одного запроса за одну секунду), либо, если у вас есть mod_unique_id вы можете добавить это в свои журналы доступа, чтобы вы могли сопоставить любую строку в журналах mod_security. Для этого добавьте %{UNIQUE_ID}e на ваш LogFormat линия.