IPDS | WAF | Обновить

Просмотр категорий

IPDS | WAF | Обновить

20 min read

В этом разделе показаны все параметры, доступные для текущего набора правил WAF, организованные на трех вкладках. Глобальный, Правила и Фермы. Имейте в виду, что изменения в этом разделе должны быть применены, нажав на кнопку Применить .

Глобальные настройки WAF Rule Set #

Эта конфигурация управляет поведением всех правил, содержащихся в наборе.

обновление idps

Имя. Метка, которая легко идентифицирует правило. Метка, которую вы выберете для названия своего набора правил, нельзя будет изменить.
Проверить тело запроса. Это флаг, который устанавливает, следует ли анализировать тело HTTP-запроса. Если этот флаг отключен, тело будет пропущено, и совпадение правила с параметрами тела запроса не будет обработано.
Запрашивать лимит тела. Это максимальное количество байтов тела запроса, сохраненное для проверки тела запроса. Если этот параметр имеет значение 0, WAF полностью сохранит размер содержимого. Рекомендуется установить любое предельное значение.
Проверьте тело ответа. Это флаг, который необходимо установить, если тело ответа HTTP должно быть проанализировано. Если этот флаг отключен, тело будет пропущено, и совпадения правил с параметрами тела ответа не будут обрабатываться. Ответ больше, чем 524288 (512KB) будет игнорироваться.
Действие по умолчанию. Это поле выбора используется в качестве разрешения по умолчанию, когда разрешение не указано в правиле. Все совпадения правила успешны. Вот краткое описание каждого действия.

  • Разрешить. Включит обработку текущего WAF, пока он не завершит транзакцию HTTP.
  • Проходить. WAF продолжит оценку следующего правила, не прерывая транзакцию HTTP.
  • Отказать. Завершите текущую транзакцию HTTP. Оценка большего количества правил не допускается. Если правило совпадает на этапе 1 или 2 (анализ запроса), запрос не будет доставлен на серверную часть. Если правило совпадает на этапе 3 или 4 (анализ ответа), ответ не будет доставлен клиенту.
  • переадресовывать, Транзакция HTTP будет остановлена, а перенаправление HTTP будет отправлено клиенту.

URL-адрес перенаправления. Это URL-адрес, отправляемый клиенту при совпадении правила. Для этого URL настроено разрешение перенаправления.
Фаза по умолчанию. Это поле выбора используется в качестве фазы по умолчанию, когда фаза не указана в правиле. Фаза — это шаг HTTP, который позволяет вам подключить правило WAF. Это определенные фазы:

  • Заголовки запросов получены, Правило будет выполнено, как только все заголовки запроса от клиента будут считаны балансировщиком нагрузки.
  • Тело запроса получено, Правило будет выполнено, когда полное тело запроса от клиента буферизируется в балансировщике нагрузки.
  • Ответ читателей получен, Правило будет выполнено, как только все заголовки ответа с сервера будут считаны балансировщиком нагрузки.
  • Тело ответа получено, Правило будет выполнено, когда балансировщик нагрузки прочитает полное тело ответа с сервера.
  • Перед чем регистрация, Правило выполняется, когда процесс WAF завершает задачу регистрации.

Журнал по умолчанию. Это действие журнала по умолчанию. Это значение используется, если в настройках правила не указано действие над логами.
Только логирование. Если этот флажок установлен, параметр разрешения правил в наборе никогда не будет выполняться. Этот рабочий режим доступен только во время работы установки.

Отключить правила #

Эти таблицы позволяют отключить правила набора без их изменения.

idps отключить наборы правил

Включенные правила, Это список правил, включенных в данный момент в наборе. Правила определены его идентификатор правила и ее описание параметры.
Отключенные правила, Это список правил, которые в настоящее время отключены в наборе.

Список правил WAF #

Правила Раздел позволяет создавать и изменять правила WAF, которые обнаруживают и защищают от HTTP-атак.

Эти правила являются директивами, которые оцениваются последовательно, т.е. в том же порядке, что и на этом экране. Если необходимо отсортировать правила, включите Сортировать кнопку затем и перетащите в нужное место.

Ниже описаны возможные параметры правил.

правила idps

ID. Это идентификатор для идентификации правила внутри набора правил. Этот идентификатор соответствует положению правила в наборе.
ID правила. Это уникальный идентификатор правила. Невозможно связать ферму с набором waf, который содержит два правила с одинаковым идентификатором правила.
Описание. Это описательное сообщение для идентификации правила. Это сообщение будет зарегистрировано при успешном совпадении.
Фаза. Фаза представляет собой шаг HTTP-запроса, на котором будет выполняться правило. Возможные фазы:

  • Заголовки запросов получены, Правило будет выполнено, как только все заголовки запроса от клиента будут считаны балансировщиком нагрузки.
  • Тело запроса получено, Правило будет выполнено, когда полное тело запроса от клиента буферизируется в балансировщике нагрузки.
  • Ответ читателей получен, Правило будет выполнено, как только все заголовки ответа с сервера будут считаны балансировщиком нагрузки.
  • Тело ответа получено, Правило будет выполнено, когда балансировщик нагрузки прочитает полное тело ответа с сервера.
  • Перед чем регистрация, Правило выполняется, когда процесс WAF завершает задачу регистрации.

Разрешение. Это поле выбора представляет собой действие, выбранное для выполнения, если все условия совпадения достигнуты.

  • Разрешить, Больше правил не будет оцениваться (для текущей транзакции HTTP), если правило с этим действием совпадает.
  • Проходить. WAF продолжит оценку следующего правила, не прерывая транзакцию HTTP.
  • Отказать. Завершите текущую транзакцию HTTP. Оценки правил больше не будет. Если правило совпадает на этапе 1 или 2 (анализ запроса), запрос не будет доставлен на серверную часть. Если правило совпадает на этапе 3 или 4 (анализ ответа), ответ не будет доставлен клиенту.
  • переадресовывать, Транзакция HTTP будет остановлена, а перенаправление HTTP будет отправлено клиенту.
  • Действие по умолчанию. Разрешение будет установлено, если вы его не примените. Как правило, это будет Разрешить разрешающая способность

URL перенаправления. Это URL-адрес, на который будет перенаправлен клиент в случае, если правило выполнит перенаправление. Этот параметр появится при выборе перенаправления в поле разрешения.
Пропускать. Если достигнуты все совпадения, правило пропустит число правил, указанное в этом поле.
Пропустить после. Если все совпадения достигнуты, правило перейдет на другую позицию брандмауэра. Правило может перейти к «метке» или другому идентификатору правила. Идентификатор правила выполняется после перехода и будет находиться в той же фазе, что и текущее правило.
Выполнить. Это путь к скрипту LUA. Скрипт должен быть предварительно загружен в балансировщик нагрузки. Он будет выполнен после достижения первого совпадения.
Журнал. Если этот параметр включен, правило будет зарегистрировано при достижении первого совпадения.

Редактирование правила WAF в raw #

Если форма неадекватно описывает данное правило WAF, а администратор не знаком с SecLang синтаксис, можно создавать правила или набор правил с помощью опции редактирования. Это поле принимает любые инструкции. Если инструкции и параметры поддерживаются SecLang синтаксис, параметры, которые выражены в форме, не будут показаны. Однако они будут отображаться в форме редактирования и обрабатываться во время выполнения.

Вот примеры как в режиме формы, так и в режиме необработанных данных.

Режим формы #

Этот режим более удобен для редактирования правила WAF.
правило редактирования zevenet ipds

Необработанный режим #

Этот режим предназначен для более продвинутых пользователей.
правило редактирования zevenet ipds

Создание правила WAF #

Когда добавляется новое правило, оно добавляется путем добавления его к другим правилам наборов. Существует три способа создания нового правила.

правило создания zevenet ipds
Тип правила:

  • Экшн. Он создаст базовое правило, используя форму. Параметры формы те же, что описаны в Список правил WAF раздел. Если выполнение правила является условным, нажмите кнопку Добавить условие кнопка, чтобы установить условия выполнения.zevenet ipds создает действие правила
  • Mark. Он устанавливает метку брандмауэра. Эти метки используются после достижения условия совпадения. Ожидаемый параметр — это имя, которое идентифицирует метку.zevenet ipds создает отметку правила
  • На заказ. Эта форма принимает правила (и набор правил) синтаксиса SecLang. Для получения дополнительной информации о SecLang синтаксис, посетите проектная документация libmodsecurity.zevenet ipds создание пользовательского правила

Список условий #

В таблице на изображении ниже показан список условий, при которых проанализированный HTTP-пакет должен соответствовать правилу, которое будет применено. Все эти совпадения будут выполняться в фазе, определенной в правиле. Совпадения будут проверены последовательно, и правило будет применено, если все они выполнены.

список условий idps

Для оценки совпадения WAF выполнит операцию (параметры оператор и Операционный) против списка переменных. Если некоторые переменные в списке соответствуют операции, они будут считаться успешными. Например, на следующем изображении заголовок ИЗОБРАЖЕНИЙ ищутся в списке заголовков запросов, отправляемых клиентом. Сначала он декодирует каждые 64 основания каждого заголовка, а затем преобразует заголовки в символы нижнего регистра. Когда преобразование переменных завершено, применяется регулярное выражение, которое ищет строку изображений в списке преобразованных переменных. мульти матч опция будет пытаться найти совпадение для каждой операции преобразования (после базового декодирования 64 и после преобразования в нижнем регистре).

Создание условий #

Соответствие создает условие, которое необходимо выполнить для выполнения правила WAF. Для оценки совпадения WAF выполнит операцию (параметры оператор и операционный) против списка переменных. Если есть совпадение между операциями и переменными списка, совпадение считается успешным. Например, для поиска местный хост (127.0.0.1) в списке заголовков запроса и в поле HTTP виртуального хоста его можно оценить с помощью следующей конфигурации.

условие создания idps

Это параметры конфигурации для настройки условий:

Технология. Он предлагает, какой части HTTP-транзакции будет соответствовать правило. Вы можете выбрать из перечисленных переменных, и совпадения будут считаться действительными, если некоторые из них совпадают. Выпадающее меню появится, когда вы щелкнете по полю переменных. Информацию о конфигурации переменных можно найти в Создание переменных .
Преобразования. Преобразование представляет собой список модификаций, применяемых к переменным. Преобразования применяются последовательно, в том же порядке, что и в поле, и можно попытаться найти совпадение для каждого примененного преобразования, используя опцию множественного сопоставления. Преобразование не изменяет никакой информации о транзакции HTTP, они сохраняются во временном контексте и удаляются после завершения операции. Здесь список преобразований. Этот параметр используется для удаления методов предотвращения избегания или для удаления данных кодирования.
оператор. Вот как правило пытается найти совпадение. Этот параметр обычно сочетается с Операционный. Здесь это список операторов.
Операционный. Это то, что правила пытаются в матче. Параметр обычно сочетается с оператором. Тип ожидаемого значения должен соответствовать оператору.
Мульти-матч. Этот параметр используется, когда настроено более одного преобразования. Правило попытается сопоставить переменные, оператор, и Операционный для каждого значения преобразований. Возможные значения: true, что включает множественное совпадение, или false, что отключает функцию множественного совпадения.
Не соответствует. Если этот флажок установлен, результат совпадения будет инвертирован и преобразован в правда когда результат ложный или преобразование в ложный когда результат правда.

Создание переменных #

Переменные являются обязательными параметрами в условии совпадения. Они выбирают часть HTTP запросить/ответ искать информацию.

Переменные показатели. Этот параметр указывает поле HTTP-запроса/ответа для поиска информации (время, сервер…)

переменные, создающие условие

Аргумент переменной. При выборе переменной иногда необходимо указать элемент из нее. Например, на изображении ниже показано, как заголовок запроса кашель выбран проверено.

число переменных idps

Подсчет элементов переменных. Этот флажок подсчитывает количество элементов в переменной. Эта функция полезна, когда переменная представляет собой список.

условия idps игнорируют переменную

Игнорировать эту переменную для совпадения. Если этот флажок установлен, переменная не будет проверяться на совпадение. Эта функция полезна, когда нужно проверить переменную, содержащую список значений, но при этом требуется исключить одно из них.

 

Таблица переменных #

Технология Описание
ARGS Это набор значений аргументов в запросе.
ARGS_JSON Это коллекция со значениями аргументов в запросе JSON. Эта переменная будет доступна в случае, если WAF анализирует аргументы JSON. Набор правил REQUEST-901-INITIALIZATION должен быть включен.
ARGS_COMBINED_SIZE общий размер параметров запроса. Файлы исключены.
ARGS_NAMES Это набор имен аргументов в запросе.
FILES Он содержит имена файлов в пользовательских файловых системах. Только когда данные являются multipart / form-data.
FILES_COMBINED_SIZE Это общий размер файлов в запросе. Только когда данные являются multipart / form-data.
FILES_NAMES Это список имен файлов, используемых для загрузки файлов. Только когда данные являются multipart / form-data.
FILES_SIZES Он содержит список отдельных размеров файлов. Только когда данные являются multipart / form-data.
REQBODY_ERROR Эта переменная - 1, если формат тела запроса не является правильным для JSON или XML, иначе он имеет значение 0.
request_body Это необработанный запрос тела. Если запрос не имеет заголовка «application/x-www-form-urlencoded», необходимо использовать «ctl:forceRequestBodyVariable» на этапе REQUEST_HEADER.
REQUEST_BODY_LENGTH Это количество байтов тела запроса.
REQUEST_COOKIES Это список со всеми значениями cookie запроса.
REQUEST_COOKIES_NAMES Это список со всеми именами файлов cookie запросов.
request_headers Эта переменная имеет все заголовки запроса.
REQUEST_HEADERS_NAMES Эта переменная имеет список с именами заголовков запроса.
REQUEST_METHOD Это метод запроса.
REQUEST_PROTOCOL Эта переменная содержит протокол HTTP версии запроса.
REQUEST_URI Это путь запроса URI. Виртуальный хост исключен.
PATH_INFO Это информация до пути URI.
FULL_REQUEST Это полный запрос.
FULL_REQUEST_LENGTH Это количество байтов, которое может иметь полный запрос.
RESPONSE_BODY Это грубая реакция тела.
RESPONSE_CONTENT_LENGTH Это количество байтов тела ответа.
RESPONSE_HEADERS Эта переменная имеет все заголовки ответа.
RESPONSE_HEADERS_NAMES Эта переменная имеет список с именами заголовков ответа.
RESPONSE_PROTOCOL Эта переменная содержит протокол версии HTTP ответа.
RESPONSE_STATUS Это ответный HTTP-код.
REMOTE_ADDR Это IP-адрес клиента.
REMOTE_PORT Это порт, где клиент инициализирует соединение.
REMOTE_USER Это имя аутентифицированного пользователя.
ВРЕМЯ Это время сервера. Формат: часы: минуты: секунды.
Длительность сезона Это количество миллисекунд, начиная с момента инициации текущей транзакции.
MULTIPART_FILENAME Это имя файла поля в многочастном запросе.
MULTIPART_NAME Это имя поля в многочастном запросе.
MATCHED_VAR Это сопоставленное значение в последней операции сопоставления. Это значение не нуждается в параметре захвата, но оно заменяется в каждой операции сопоставления.
MATCHED_VARS Это список всех совпадающих значений.
Server_addr Это IP-адрес сервера.
НАЗВАНИЕ СЕРВЕРА Это виртуальный хост, который он получает из URI запроса.
ENV Это переменные среды WAF.
TX Это набор переменных для текущей транзакции. Эти переменные будут удалены после завершения транзакции. Переменные TX:0-TX:9 сохраняют значения, полученные с помощью операторов strRegex или фраз.

 

Таблица операторов #

Операторы могут иметь разные контексты. Этот контекст обозначается префиксом, например, int для целого числа, IP для IP-операций, str для строк или validate для проверки данных.

Технология Описание
strBegins Правило будет соответствовать, если любая из переменных начинается со значения операции.
strContains Правило будет соответствовать, если любая из переменных содержит значение операции.
strContainsWord Правило сработает, если какая-либо из переменных содержит слово или значение операции.
стрЭнд Правило будет соответствовать, если любая из переменных заканчивается значением операции.
strWithin Правило сработает, если любая из переменных начинается со значения Operating.
strMatch Правило сработает, если какая-либо из переменных соответствует значению операции. Эта операция может быть списком строк, разделенных символом |
strEq Правило сработает, если какая-либо из переменных будет идентична значению операционной.
strRegex Правило будет соответствовать, если какая-либо из переменных соответствует регулярному выражению, используемому при работе.
strPhrases Правило сработает, если какая-либо из переменных соответствует любому из значений рабочего списка.
strPhrasesFromFile Почти аналогичен оператору strPhrases, но здесь он определяется как список фраз.
INTEQ Правило будет соответствовать, если любая из переменных равна числу, используемому в работе.
intGE Правило будет соответствовать, если любая из переменных больше или равна числу, используемому в работе.
intGT Правило будет соответствовать, если любая из переменных больше, чем число, используемое в работе.
intLE Правило будет соответствовать, если любая из переменных меньше или равна числу, используемому в работе.
intLT Правило будет соответствовать, если любая из переменных меньше, чем число, используемое в работе.
detectSQLi Обнаруживает SQL-инъекцию в списке переменных. Этот оператор не ожидает никаких операций.
detectXSS Применяет обнаружение внедрения XSS к списку переменных. Этот оператор не ожидает никаких операций.
ipMatch Попытки сопоставления IP или сегментов сети оперируют списком переменных. При добавлении списка IP-адресов или сегментов используйте запятую в качестве разделителя.
ipMatchFromFile Это то же самое, что и оператор ipMatch, но он пытается сопоставить переменные с файлом со списком IP-адресов и сегментов сети.
validateByteRange Это гарантирует, что количество байтов переменных находится в одном из рабочих значений. Пример работы «10, 13, 32-126».
validateUrlEncoding Он проверяет закодированные данные. Этот оператор должен использоваться только для данных, которые обычно не кодируются, или для данных, которые кодируются несколько раз.
validateUtf8Encoding Он проверяет переменные, которые являются UTF-8. Этот оператор не ожидает никаких операций.
verifyCreditCard Он проверяет, являются ли переменные номерами кредитных карт. Этот параметр принимает регулярное выражение как рабочее. Если он совпадает, то он успешно проверит карту.
verifySSN Он проверяет, являются ли переменные номером социального страхования США. Этот параметр принимает регулярное выражение как работающее, если оно совпадает, то применяется проверка SSN.
matchAllways Он всегда возвращает true, заставляя совпадение.
matchNever Он всегда возвращает false, вызывая несоответствие.

 

Таблица трансформации #

трансформация Описание
base64Decode Декодирует строку в кодировке Base64.
base64DecodeExt Декодирует строку в кодировке Base64, игнорируя недопустимые символы.
sqlHexDecode Декодирует шестнадцатеричные данные SQL.
base64Encode Кодирует, используя кодировку Base64.
командная_строка Избегает проблем, связанных с экранированной командной строкой.
compressWhitespace Преобразует любые пробельные символы (0x20, \ f, \ t, \ n, \ r, \ v, 0xa0) в пробелы (ASCII 0x20), сжимая несколько последовательных пробельных символов в один.
cssDecode Декодирует символы, закодированные с помощью escape-правил CSS 2.x. Эта функция использует только до двух байтов в процессе декодирования, что означает, что она используется для раскрытия символов ASCII, закодированных с помощью кодировки CSS (которые обычно не кодируются), или для противодействия уклонению, которое представляет собой комбинацию обратной косой черты и не -шестнадцатеричные символы (например, ja\vascript эквивалентен javascript).
escapeSeqDecode Декодирует управляющие последовательности ANSI C: \ a, \ b, \ f, \ n, \ r, \ t, \ v, \\, \ ?, \ ', \ ”, \ xHH (шестнадцатеричный), \ 0OOO (восьмеричный) . В выводе остаются недопустимые кодировки.
hexDecode Декодирует строку, которая была закодирована с использованием того же алгоритма, который использовался в hexEncode (см. Следующую запись).
hexEncode Кодирует строку (возможно, содержащую двоичные символы), заменяя каждый входной байт двумя шестнадцатеричными символами. Например, xyz кодируется как 78797a.
htmlEntityDecode Декодирует символы, закодированные как объекты HTML.
jsDecode Декодирует escape-последовательности JavaScript.
Ищет длину входной строки в байтах, помещая ее (как строку) в выход.
в нижнем регистре Преобразует все символы в нижний регистр, используя текущую локаль C
md5 Вычисляет хэш MD5 из входных данных. Вычисленный хэш находится в необработанной двоичной форме, и его может потребоваться закодировать в текст для печати (или регистрации). Хэш-функции обычно используются в сочетании с hexEncode.
нет Не фактическая функция преобразования, а инструкция для удаления предыдущих функций преобразования, связанных с текущим правилом.
normalizePath Удаляет множественные косые черты, самоссылки на каталоги и обратные ссылки на каталоги (кроме случаев, когда они находятся в начале ввода) из входной строки.
normalizePathWin То же, что и normalizePath, но сначала преобразует символы обратной косой черты в прямые.
parityEven7bit Вычисляет четность 7-битных данных, заменяя 8-й бит каждого целевого байта вычисленным битом четности.
parityOdd7bit Вычисляет нечетную четность 7-битных данных, заменяя 8-й бит каждого целевого байта вычисленным битом четности.
parityZero7bit Вычисляет нулевую четность 7-битных данных, заменяя 8-й бит каждого целевого байта битом нулевой четности, что позволяет проверять 7-битные данные четности/нечетности как данные ASCII7.
removeNulls Удаляет все байты NUL из ввода.
removeWhitespace Удаляет все пробельные символы из ввода.
replaceComments Заменяет каждое вхождение комментария в стиле C (/ *… * /) на один пробел (несколько последовательных вхождений, которые не будут сжаты) Неопределенные комментарии также будут заменены пробелом (ASCII 0x20). Однако отдельное завершение комментария (* /) не будет выполнено.
removeCommentsChar Удаляет общие символы комментариев (/ *, * /, -, #).
replaceNulls Заменяет байты NUL при вводе пробелами (ASCII 0x20).
urlDecode Декодирует URL-кодированную строку ввода. Неверные кодировки (т. Е. Те, которые используют не шестнадцатеричные символы или те, которые находятся в конце строки и у которых отсутствует один или два байта) не преобразуются, но ошибки не возникает.
верхний регистр Преобразует все символы в верхний регистр, используя текущую локаль C
urlDecodeUni Подобно urlDecode, но с поддержкой специфичной для Microsoft кодировки %, u.
UrlEncode Кодирует входную строку, используя кодировку URL.
utf8toUnicode Преобразует все последовательности символов UTF-8 в Unicode. Это помогает нормализовать ввод, особенно для языков, отличных от английского, сводя к минимуму ложные срабатывания и ложные отрицания.
sha1 Вычисляет хеш SHA1 из входной строки. Вычисленный хэш находится в необработанном двоичном виде и, возможно, должен быть закодирован в текст, который будет напечатан (или зарегистрирован). Хеш-функции обычно используются в сочетании с hexEncode.
trimLeft Удаляет пробелы с левой стороны входной строки.
trimRight Удаляет пробелы с правой стороны входной строки.
отделка Удаляет пробелы как с левой, так и с правой стороны входной строки.

 

Настройки фермы WAF #

Этот раздел позволяет назначить текущий набор правил WAF для ферм HTTP (s).

фермы наборов правил zevenet ipds

В этом разделе можно будет выбрать одну или несколько ферм (удерживая нажатой кнопку Shift на клавиатуре), а затем назначить набор правил WAF или удалить их. Также можно назначить или удалить его из всех доступных ферм с помощью кнопок с двойной стрелкой.

📄 Загрузите этот документ в формате PDF #

    EMAIL: *

    Powered by BetterDocs