ложные срабатывания mod_security - PullRequest
12 голосов
/ 23 ноября 2011

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

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

Request Missing a User Agent Header
Request Missing an Accept Header

Что здесь лучше всего делать? Должен ли я отключить эти фильтры? Можно ли установить серьезность ниже, чтобы запросы не блокировались?

Вот полная запись

[22/Nov/2011:21:32:37 --0500] u6t6IX8AAAEAAHSiwYMAAAAG 72.47.232.216 38543 72.47.232.216 80
--5fcb9215-B--
GET /Assets/XHTML/mainMenu.html HTTP/1.0
Host: www.domain.com
Content-type: text/html
Cookie: pdgcomm-babble=413300:451807c5d49b8f61024afdd94e57bdc3; __utma=100306584.1343043347.1321115981.1321478968.1321851203.4; __utmz=100306584.1321115981.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=XXXXXXXX%20clip%20ons

--5fcb9215-F--
HTTP/1.1 200 OK
Last-Modified: Wed, 23 Nov 2011 02:01:02 GMT
ETag: "21e2a7a-816d"
Accept-Ranges: bytes
Content-Length: 33133
Vary: Accept-Encoding
Connection: close
Content-Type: text/html

--5fcb9215-H--
Message: Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "2.2.1"] [msg "Request Missing an Accept Header"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"]
Message: Operator EQ matched 0 at REQUEST_HEADERS. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_21_protocol_anomalies.conf"] [line "66"] [id "960009"] [rev "2.2.1"] [msg "Request Missing a User Agent Header"] [severity "NOTICE"] [tag "PROTOCOL_VIOLATION/MISSING_HEADER_UA"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"]
Message: Warning. Operator LT matched 5 at TX:inbound_anomaly_score. [file "/etc/httpd/modsecurity_crs/base_rules/modsecurity_crs_60_correlation.conf"] [line "33"] [id "981203"] [msg "Inbound Anomaly Score (Total Inbound Score: 4, SQLi=5, XSS=): Request Missing a User Agent Header"]
Stopwatch: 1322015557122593 24656 (- - -)
Stopwatch2: 1322015557122593 24656; combined=23703, p1=214, p2=23251, p3=2, p4=67, p5=168, sr=88, sw=1, l=0, gc=0
Producer: ModSecurity for Apache/2.6.1 (http://www.modsecurity.org/); core ruleset/2.2.1.
Server: Apache/2.2.3 (CentOS)

Ответы [ 2 ]

21 голосов
/ 23 ноября 2011

Если вы загляните в раздел H записи журнала аудита, которую вы показывали в строке Producer, вы увидите, что вы используете OWASP ModSecurity Core Rule Set (CRS) v2.2.1.В этом случае я предлагаю вам просмотреть информацию о документации на странице проекта -

https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project#tab=Documentation

В частности, вам следует просмотреть эти два сообщения в блоге, которые я сделал -

  1. http://blog.spiderlabs.com/2010/11/advanced-topic-of-the-week-traditional-vs-anomaly-scoring-detection-modes.html
  2. http://blog.spiderlabs.com/2011/08/modsecurity-advanced-topic-of-the-week-exception-handling.html

Блог № 1 полезен для понимания того, какой «режим работы» вы используете для CRS.Просматривая журнал аудита, вы обнаруживаете, что вы работаете в режиме оценки аномалий.Именно здесь правила выполняют обнаружение, но решение о блокировке принимается отдельно путем проверки общего показателя аномалии в файле modsecurity_crs_49_inbound_blocking.conf.

Блог № 2 полезен для того, чтобы вы могли точно решить, как вы будете обрабатывать эти два правила.Если вы считаете, что они не важны для вас, я бы предложил использовать директиву SecRuleRemoveById, чтобы отключить эти правила из вашего собственного файла modsecurity_crs_60_exceptions.conf.В настоящее время эти два оповещения генерируют только оценку входящих аномалий, равную 4, что ниже порогового значения по умолчанию 5, установленного в файле modsecurity_crs_10_config.conf, поэтому оно не блокируется.

Просмотр вашегоПример журнала аудита, хотя этот запрос генерировал предупреждения, транзакция не была заблокирована.Если бы это было так, данные сообщения в разделе H указывали бы: «Доступ запрещен ...».

Что касается целей настоящих правил - они предназначены для отметки запросов, которые не генерируются стандартными веб-браузерами (IE, Chrome, Firefox и т. Д.), Поскольку все эти браузеры будут отправлять какЗаголовки запросов Агента и Принять согласно спецификации RFC HTTP.

Последний комментарий - я бы посоветовал вам использовать официальный список рассылки OWASP ModSecurity CRS для этих типов вопросов - https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set

Вы также можете найти в архивах ответы на эти вопросы.

Приветствия, Райан Барнетт, руководитель проекта ModSecurity, руководитель проекта OWASP ModSecurity CRS

5 голосов
/ 13 апреля 2012

Это не ложные срабатывания.В заголовках вашего запроса отсутствуют заголовки User-Agent и Accept.Обычно они отправляются с помощью сканера или хакерских утилит.

...