FilterMds#
Действие FilterMds предназначено для отправки сообщения, полученного на любом этапе преобразования в цепочке в фильтр ModSecurity. Собственно, основное назначение - проверка тех данных, которые не могут быть проверены напрямую в исходном запросе, либо получаются путем преобразований.
Параметры:
Название |
Обязательность |
Допустимые значения |
Описание |
|---|---|---|---|
filter_mds |
+ |
см. параметр filter_mds |
Задает описание фильтров ModSecurity. |
connect_timeout |
- |
Число с суффиксом: ms - миллисекунды; s - секунды; m - минуты; h - часы; d - дни; w - недели; M - месяцы, 30 дней; y - годы, 365 дней |
Время ожидания подключения к фильтру, по умолчанию параметр не задан. |
read_timeout |
- |
Число с суффиксом: ms - миллисекунды; s - секунды; m - минуты; h - часы; d - дни; w - недели; M - месяцы, 30 дней; y - годы, 365 дней |
Время ожидания между двумя последовательными попытками чтения, по умолчанию параметр не задан. |
write_timeout |
- |
Число с суффиксом: ms - миллисекунды; s - секунды; m - минуты; h - часы; d - дни; w - недели; M - месяцы, 30 дней; y - годы, 365 дней |
Время ожидания между двумя последовательными попытками записи, по умолчанию параметр не задан. |
request_method |
- |
Строковое значение: "put"; "post"; "options"; "get"; "delete"; "trace". |
Содержит HTTP-метод, который будет использоваться для отправки запроса на фильтр Modsecurity, по умолчанию POST. |
protocol_version |
- |
Строковое значение: "HTTP/1.0", "HTTP/1.1", "HTTP2" |
Содержит версию протокола, который будет использоваться для отправки запроса на фильтр Modsecurity, по умолчанию HTTP/1.1. |
headers |
- |
Последовательность вида "name: имя заголовка, value: значение заголовка" |
Содержит последовательность заголовков , которые будут сформированы для отправки на фильтрацию, в value можно использовать переменные. |
response_header_set_variable |
- |
Последовательность вида "header: имя заголовка, var: название переменной" |
Позволяет пробрасывать заголовки ответа от фильтра MDS в значения переменной. В header задается название заголовка, в var название переменной. |
conditions |
- |
Последовательность вида "var: имя_переменной, val: значение_переменной, operator: оператор" |
Список условий по которым определяется, заблокировал фильтр запрос или нет. По умолчанию: 'filter_status < 400'. В качестве условий могут использоваться дополнительные переменные. filter_status - HTTP статус ответа от фильтра MDS; filter_hdr_имя_заголовка - заголовок ответа от фильтра (важно - в отличии от стандартного NGinx поведения в именах заголовков в названиях переменных, здесь символы "-" не преобразуются в "_", а сохраняются как есть. |
Пример:
chains:
request_chains:
- actions:
- action: FilterMds
params:
filter_mds:
enabled: true
config:
SecAuditLogRelevantStatus: "500"
rules:
- sowa-http
connect_timeout: 10s
message: $clj_request_body