Фильтр ModSecurity#
Фильтр ModSecurity позволяет проверить исходящий и входящий трафик на наличие угроз (например, sql-injection), содержащихся в методе, заголовках, теле и др. Использование mds в SOWA описано в отдельном разделе. Фильтр ModSecurity представляет собой группу параметров.
filter_mds - параметры#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Опциональный |
Вкл./Откл. фильтрация с помощью mds. Для параметров последовательностей |
|
|
|
Опциональный |
Уровень логирования записей в журналы событий |
|
|
|
Опциональный |
Настройки ModSecurity |
Параметры, описанные в разделе «filter_mds - config» |
— |
|
Опциональный |
Последовательность стандартных групп правил, поставляемых вместе с дистрибутивом. После конфигурирования профиля, если в профиле используются правила mds, расположение правил будет следующим: |
Последовательность строковых значений: |
— |
|
Опциональный |
Последовательность пользовательских правил. В отличие от директивы |
Последовательность строковых значений |
— |
Примечание
При подключении по абсолютному пути нужно помнить про наличие прав на чтение для пользовательских правил.
filter_mds - config#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Опциональный |
Вкл./Откл. mds |
|
|
|
Опциональный |
Необходимо ли обрабатывать тело запроса |
|
|
|
Опциональный |
Настройка PCRE. Предел совпадений регулярного выражения, для защиты от DoS PCRE |
Целочисленное значение |
|
|
Опциональный |
Настройка PCRE. Предел рекурсивных возвратов, для защиты от DoS PCRE |
Целочисленное значение |
|
|
Опциональный |
Следует ли обрабатывать тело ответа |
|
|
|
Опциональный |
Типы MIME, проверяемые mds |
Строковое значение |
|
|
Опциональный |
Не рекомендовано к использованию. Параметр будет удален в ближайших релизах. Вкл./Откл. проверка потока данных исходящего запроса в перераспределяемом буфере. По соображениям безопасности поток все еще буферизируется |
|
|
|
Опциональный |
Вкл./Откл. хранение файлов, при передаче которых произошла блокировка |
|
|
|
Опциональный |
Вкл./Откл. аудит логов |
|
|
|
Опциональный |
Статус транзакций, которые будут помечены как relevant |
Строковое значение |
|
|
Опциональный |
Какие части транзакции будут записаны в аудит лог. Не рекомендуется менять настройки по умолчанию, если нет уверенности в результате. Элементы запроса: B — заголовки запроса; C — тело запроса; D — зарезервировано для промежуточных заголовков ответа; I — аналогично C, кроме multipart/form-data; J — информация о загруженных файлах multipart/form-data. Элементы ответа: E — тело промежуточного ответа; F — заголовки окончательного ответа; G — зарезервировано для фактического тела ответа; H — информация о разрешении/блокировке запроса. Специальные элементы: A — начало регистрации событий; K — список всех правил, соответствующих событиям (с v2.5.0); Z — конец регистрации событий |
Строковое значение |
|
|
Опциональный |
Механизм, используемый при записи аудит логов |
|
|
|
Опциональный |
Хост, в syslog которого будут отправлены аудит логи modsecurity |
Текстовое значение |
|
|
Опциональный |
Порт, используемый для отправки в syslog |
Текстовое значение |
|
|
Опциональный |
Протокол отправки аудит логов |
|
|
|
Опциональный |
Таймаут для соединения с host:port для отправки аудит логов (в секундах). 0 — не установлено |
Целочисленное значение |
|
|
Опциональный |
Разделитель аргументов по умолчанию |
Строковое значение |
|
|
Опциональный |
Версия cookie |
|
|
|
Опциональный |
Путь к файлу, используемому для трансформации urlDecodeUni, и кодировка |
Строковое значение |
|
|
Опциональный |
Вкл./Откл. возможности кэширования в mds трансформаций |
|
|
|
Опциональный |
Таймаут обработки тела запроса в секундах (подробнее в разделе «Таймауты обработки тела сообщений ModSecurity») |
Целочисленное значение |
не используется |
|
Опциональный |
Таймаут обработки тела ответа в секундах (подробнее в разделе «Таймауты обработки тела сообщений ModSecurity») |
Целочисленное значение |
не используется |
|
Опциональный |
Если true, то запрос, по которому сработал таймаут обработки, не блокируется, а пропускается далее. Не рекомендуется значение true |
|
|
|
Опциональный |
Если true, то ответ, по которому сработал таймаут обработки, не блокируется, а пропускается далее. Не рекомендуется значение true |
|
|
|
Опциональный |
По умолчанию в переменные request|response_timeout_error_msg, доступные для использования в логе, записываются только первые 200 символов тела сообщения. При включении данной директивы в переменные будет записываться полное тело сообщения |
|
|
Пример использования фильтра mds:
filters:
filter_mds:
enabled: true
debug: true
config:
SecRuleEngine: true
SecRequestBodyAccess: true
SecPcreMatchLimit: 1000000
SecPcreMatchLimitRecursion: 1000000
SecResponseBodyAccess: true
SecResponseBodyMimeType: text/plain text/html text/xml
SecStreamOutBodyInspection: true
SecUploadKeepFiles: RelevantOnly
SecAuditEngine: RelevantOnly
SecAuditLogRelevantStatus: "^(?:5|4(?!04))"
SecAuditLogParts: ABIJDEFHZ
SecAuditLogType: Concurrent
SecArgumentSeparator: "&"
SecCookieFormat: 0
SecUnicodeMapFile: common/rules/modsecurity/unicode.mapping 20127
rules:
- base
- owasp-crs
- comodo
custom_rules:
- ufs_rules/rules.conf