2017-01-12 5 views
0

В нашей текущей среде у нас есть веб-приложение, ориентированное на Интернет, и весь входящий трафик на него направляется через обратный прокси-сервер apache. На этом обратном прокси мы также настроили ModSecurity.Настройка безопасности apache для принятия content-type = text/plain

Теперь некоторые из наших входящих запросов имеют content-type = text/plain. Все эти запросы блокируются правилом ModSec набор с ниже бревнами:

[Tue Jan 10 11:14:31 2017] [error] [client 175.45.116.65] ModSecurity: [file "/etc/httpd/conf/crs/activated_rules/modsecurity_crs_30_http_policy.conf"] [line "64"] [id "960010"] [rev "2"] [msg "Request content type is not allowed by policy"] [data "text/plain"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.6"] [maturity "9"] [accuracy "9"] [tag "OWASP_CRS/POLICY/ENCODING_NOT_ALLOWED"] [tag "WASCTC/WASC-20"] [tag "OWASP_TOP_10/A1"] [tag "OWASP_AppSensor/EE2"] [tag "PCI/12.1"] Access denied with code 403 (phase 1). Match of "rx ^%{tx.allowed_request_content_type}$" against "TX:0" required. [hostname "hadToRemove"] [uri "hadToRemove"] [unique_id "WHQnZwoMD1QAACBlB70AAAAN"] 

Теперь, если мы хотим, чтобы текст/равнина в качестве приемлемого типа контента, как мы должны добавить, что. У нас уже есть файл conf, в котором мы отключили/настроили некоторые правила. Я просто не знаю, как добавить этот.

PS: согласно этому сообщению (https://github.com/SpiderLabs/owasp-modsecurity-crs/issues/208), эта проблема уже исправлена, но для этого у нас будет апгрейд нашего набора правил.

ответ

1

У вас должен быть файл modsecurity_crs_10_setup.conf, где эти типы данных настроены, а затем используются различными другими правилами.

Этот файл имеет строку следующее:

# 
# Set the following policy settings here and they will be propagated to the 30 rules 
# file (modsecurity_crs_30_http_policy.conf) by using macro expansion. 
# If you run into false positves, you can adjust the settings here. 
# 
SecAction \ 
    "id:'900012', \ 
    phase:1, \ 
    t:none, \ 
    setvar:'tx.allowed_methods=GET HEAD POST OPTIONS', \ 
    setvar:'tx.allowed_request_content_type=application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf|application/json', \ 

Вы можете изменить эту последнюю строку, чтобы текст/равнина

setvar:'tx.allowed_request_content_type=application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf|application/json|text/plain', \ 

И затем перезапустить Apache.

+0

только маленький вопрос сейчас, правильно ли изменить этот файл? Я имею в виду, если мы перейдем к новой CRS, не будут ли эти изменения потеряны? (я новый bie в mod-security) – buch11

+1

Как правило, у вас есть проблема, и вы не должны изменять файлы CRS, но вместо этого используйте команды, такие как SecUpdateTargetById, в отдельный файл, чтобы добавить свои переопределения, чтобы упростить обновление, как вы говорите. Файл modsecurity_crs_10_setup.conf является единственным исключением, так как содержит все переменные, используемые другими правилами. На самом деле это целая цель - использовать это для настройки вашего конкретного экземпляра. Обратите внимание, что когда вы загружаете CRS, это называется modsecurity_crs_10_setup.conf.example, чтобы показать это. Нужно персонализировать. –

+0

Спасибо за объяснение! – buch11