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

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

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

17 min read

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

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

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

балансировщик нагрузки relianoid v8 idps waf обновление

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

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

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

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

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

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

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

балансировщик нагрузки relianoid v8 idps waf отключить наборы правил

Включенные правила. Список правил, включенных в данный момент в наборе, идентифицированных по их идентификатор правила и описание.
Отключенные правила. Список правил, отключенных в данный момент в наборе.

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

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

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

Параметры правила #

Ниже приведены возможные параметры правил:

балансировщик нагрузки relianoid v8 idps правила waf

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

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

Разрешение. Действие, выбранное для выполнения, если соблюдены все условия соответствия. Опции включают в себя:

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

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

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

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

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

Режим формы #

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

relianoid load balancer v8 ipds waf edit rule

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

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

relianoid load balancer v8 ipds waf edit rule

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

При добавлении нового правила оно будет добавлено к другим правилам в наборе. Создать новое правило можно тремя способами:

relianoid load balancer v8 ipds waf создающий правило
Тип правила:

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

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

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

балансировщик нагрузки relianoid v8 idps waf список условий

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

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

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

балансировщик нагрузки relianoid v8 idps waf создает условие

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

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

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

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

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

балансировщик нагрузки relianoid v8 ipds waf переменные создание условия

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

балансировщик нагрузки relianoid v8 idps waf переменные количество

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

балансировщик нагрузки relianoid v8 idps waf условия игнорируют переменную

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

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

Технология Описание
ARGS Сбор значений аргументов в запросе.
ARGS_JSON Коллекция значений аргументов в запросе JSON. Доступно, когда WAF анализирует аргументы JSON; требует включения набора правил REQUEST-901-INITIALIZATION.
ARGS_COMBINED_SIZE Общий размер параметров запроса без учета файлов.
ARGS_NAMES Коллекция имен аргументов в запросе.
FILES Имена файлов в файловой системе пользователя. Применимо только для многочастному / форм-данных, запросы.
FILES_COMBINED_SIZE Общий размер файлов в запросе. Применимо только для запросов multipart/form-data.
FILES_NAMES Список имен файлов, используемых для загрузки файлов. Применимо только для запросов multipart/form-data.
FILES_SIZES Список отдельных размеров файлов. Применимо только для запросов multipart/form-data.
REQBODY_ERROR Указывает, неверен ли формат тела запроса для JSON или XML (1, если true, 0, если false).
request_body Необработанное тело запроса. Если в запросе нет применение / х-WWW-форм-urlencoded заголовок, необходимо использовать ctl:forceRequestBodyVariable на этапе REQUEST_HEADER.
REQUEST_BODY_LENGTH Количество байтов в теле запроса.
REQUEST_COOKIES Список всех значений файлов cookie запроса.
REQUEST_COOKIES_NAMES Список всех значений файлов cookie запроса.
request_headers Все заголовки запросов.
REQUEST_HEADERS_NAMES Список имен заголовков запроса.
REQUEST_METHOD Метод запроса (например, GET, POST).
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 Коллекция переменных для текущей транзакции. Удаляется после завершения транзакции. Переменные ТХ:0-ТХ:9 хранить значения, полученные с помощью strRegex или операторы фраз.

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

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

Технология Описание
strBegins Соответствует, если какая-либо переменная начинается с указанного рабочего значения.
strContains Соответствует, если какая-либо переменная содержит указанное рабочее значение.
strContainsWord Соответствует, если какая-либо переменная содержит указанное слово или значение операции.
стрЭнд Соответствует, если какая-либо переменная заканчивается указанным рабочим значением.
strWithin Соответствует, если какая-либо переменная начинается с указанного рабочего значения.
strMatch Соответствует, если какая-либо переменная соответствует любой из строк в рабочем списке (разделенная символом |).
strEq Соответствует, если какая-либо переменная идентична указанному рабочему значению.
strRegex Соответствует, если какая-либо переменная соответствует регулярному выражению, указанному в операторе.
strPhrases Соответствует, если какая-либо переменная соответствует какому-либо значению в списке, указанном в операторе.
strPhrasesFromFile Аналогично strPhrases, но список фраз определяется в файле, указанном в файле операционный.
INTEQ Соответствует, если какая-либо переменная равна указанному числу в операционной.
intGE Соответствует, если какая-либо переменная больше или равна указанному числу в операции.
intGT Соответствует, если какая-либо переменная больше указанного числа в операции.
intLE Соответствует, если какая-либо переменная меньше или равна указанному числу в операции.
intLT Соответствует, если какая-либо переменная меньше указанного числа в операции.
detectSQLi Обнаруживает SQL-инъекцию в списке переменных.
detectXSS Обнаруживает внедрение XSS (межсайтовый скриптинг) в список переменных.
ipMatch Пытается сопоставить IP-адреса или сегменты сети, указанные в работе со списком переменных. Используйте запятую в качестве разделителя для нескольких IP-адресов или сегментов.
ipMatchFromFile Похожий на что ipMatch, но читает IP-адреса и сегменты сети из файла, указанного в файле Operation.
validateByteRange Гарантирует, что количество байт в переменных попадает в диапазон, указанный в эксплуатации (например, «10, 13, 32-126»).
validateUrlEncoding Проверяет закодированные данные. Используйте только для данных, которые обычно не кодируются, или для данных, которые кодируются несколько раз.
validateUtf8Encoding Проверяет переменные в кодировке UTF-8.
verifyCreditCard Проверяет, являются ли переменные действительными номерами кредитных карт, используя регулярное выражение, указанное в операции.
verifySSN Проверяет, являются ли переменные действительными номерами социального страхования США, используя регулярное выражение, указанное в операции.
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 Декодирует входные данные в URL-кодировке с поддержкой кодировки, специфичной для Microsoft (например, urlDecode, но с поддержкой специфичной для Microsoft кодировки %, u).
UrlEncode Кодирует входную строку, используя кодировку URL.
utf8toUnicode Преобразует последовательности символов UTF-8 в Юникод. Это помогает нормализовать ввод, особенно для языков, отличных от английского, сводя к минимуму ложноположительные и ложноотрицательные результаты.
sha1 Вычисляет хеш SHA1 на основе входных данных. Вычисленный хэш находится в необработанной двоичной форме, и его, возможно, потребуется закодировать в текст для печати (или регистрации). Хэш-функции обычно используются в сочетании с hexEncode.
trimLeft Удаляет пробелы с левой стороны входной строки.
trimRight Удаляет пробелы с правой стороны входной строки.
отделка Удаляет пробелы с обеих сторон входной строки.

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

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

балансировщик нагрузки relianoid v8 ipds waf rulesets farms

Здесь вы можете выбрать одну или несколько ферм (удерживайте кнопку Shift клавиша для выбора нескольких), чтобы назначить или удалить набор правил WAF. Используйте кнопки с двойными стрелками, чтобы назначить или удалить набор правил из всех доступных ферм.

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

    EMAIL: *

    Powered by BetterDocs