Настройка XML-профилей происходит в режиме конфигурации на уровне xml-profiles.
Для создания XML-профиля используется следующая команда:
Admin@nodename# create security-policy xml-profiles <parameter>
Далее необходимо задать следующие параметры.
|
Параметр |
Описание |
|---|---|
|
name |
Название XML-профиля |
|
description |
Описание XML-профиля |
| log |
Включение/отключение журналирования:
|
| content-types |
Указание одного или нескольких значений заголовка Content-type |
|
action |
Выбор действия XML-профиля:
|
|
response-profile |
Добавление профиля ответа. Необходимо указать название заранее созданного профиля ответа |
|
xml-schemas |
Выбор проверки на соответствие любой или всем XML-схемам:
|
| xml-schemas |
Добавление XML-схем. Необходимо указать одно или несколько названий заранее созданных XML-схем |
| check-limits |
Включение/отключение проверки лимитов:
|
|
max-body-size |
Лимит на размер тела формата XML в байтах. Максимальное значение — 10240000. Значение по умолчанию — 0 |
|
max-depth |
Лимит на глубину вложенности элементов. Максимальное значение — 256. Значение по умолчанию — 0 |
|
max-elements |
Лимит на количество элементов «ключ: значение» в объекте. Максимальное значение — 4096. Значение по умолчанию — 0 |
|
max-attributes |
Лимит на количество атрибутов. Максимальное значение: 4096 — Значение по умолчанию — 0 |
|
max-tag-len |
Лимит на количество символов в имени ключа. Максимальное значение — 1024. Значение по умолчанию — 0 |
|
max-attr-name-len |
Лимит на длину имени атрибута. Максимальное значение — 1024. Значение по умолчанию — 0 |
|
max-attr-value-len |
Лимит на длину текстового значения. Максимальное значение — 4096. Значение по умолчанию — 0 |
|
max-data-len |
Лимит на длину значения атрибута. Максимальное значение — 10485760. Значение по умолчанию — 0 |
Пример команды создания XML-профиля:
Admin@nodename# create security-policy xml-profiles name xml_test action deny check-limits on max-body-size 5000
Команда для редактирования параметров XML-профиля:
Admin@nodename# set security-policy xml-profiles <xml-profile_name> <parameter>
Команда для отображения информации о всех XML-профилях:
Admin@nodename# show security-policy xml-profiles
Команда для отображения информации об определенном XML-профиле:
Admin@nodename# show security-policy xml-profiles <profile_name>
Команда для удаления существующего XML-профиля используется следующая команда:
Admin@nodename# delete security-policy xml-profiles <profile_name>
Настройка JSON-профилей происходит в режиме конфигурации на уровне json-profiles.
Для создания JSON-профиля используется следующая команда:
Admin@nodename# create security-policy json-profiles <parameter>
Далее необходимо задать следующие параметры.
|
Параметр |
Описание |
|---|---|
|
name |
Название JSON-профиля |
|
description |
Описание JSON-профиля |
| log |
Включение/отключение журналирования:
|
| content-types |
Указание одного или нескольких значений заголовка Content-type |
|
action |
Выбор действия JSON-профиля:
|
|
response-profile |
Добавление профиля ответа. Необходимо указать название заранее созданного профиля ответа |
|
json-schemas |
Выбор проверки на соответствие любой или всем JSON-схемам:
|
| json-schemas |
Добавление JSON-схем. Необходимо указать одно или несколько названий заранее созданных JSON-схем |
| check-limits |
Включение/отключение проверки лимитов:
|
|
max-body-size |
Лимит на размер тела формата JSON в байтах. Максимальное значение — 10240000. Значение по умолчанию — 0 |
|
max-depth |
Лимит на глубину вложенности элементов. Максимальное значение — 256. Значение по умолчанию — 0 |
| max-array-elements |
Лимит на количество элементов «ключ: значение» в объекте. Максимальное значение — 4096. Значение по умолчанию — 0 |
| max-object-members |
Лимит на количество элементов (значений) в массиве. Максимальное значение — 4096. Значение по умолчанию — 0 |
| max-string-length |
Лимит на количество символов в значении типа «строка». Максимальное значение — 4096. Значение по умолчанию — 0 |
| max-key-length |
Лимит на количество символов в имени ключа. Максимальное значение: 1024. Значение по умолчанию — 0 |
Пример команды создания JSON-профиля:
Admin@nodename# create security-policy json-profiles name json_test action deny check-limits on max-body-size 5000
Команда для редактирования параметров JSON-профиля:
Admin@nodename# set security-policy json-profiles <json-profile_name> <parameter>
Команда для отображения информации о всех JSON-профилях:
Admin@nodename# show security-policy json-profiles
Команда для отображения информации об определенном JSON-профиле:
Admin@nodename# show security-policy json-profiles <profile_name>
Команда для удаления существующего JSON-профиля используется следующая команда:
Admin@nodename# delete security-policy json-profiles <profile_name>
Настройка WebSocket-профилей происходит на уровне websocket-profiles.
Для создания WebSocket-профилей используется следующая команда:
Admin@nodename# create security-policy websocket-profiles <parameter>
Далее необходимо задать следующие параметры.
|
Параметр |
Описание |
|---|---|
|
name |
Название WebSocket-профиля |
|
description |
Описание WebSocket-профиля |
|
block |
Включение/отключение блокирования любого WebSocket-трафика, который приходит в UserGate WAF:
|
|
check-request |
Проверка целостности handshake-запроса:
|
|
log |
Включение/отключение журналирования событий:
|
|
check-origin |
Проверка наличия в запросе заголовка Origin:
|
|
origin |
Добавление списка URL источников, с которыми разрешается устанавливать WebSocket-соединение. Подробнее о создании списков URL в разделе — «Настройка списков URL» |
|
origin-negate |
Добавление списка URL нежелательных источников. WebSocket-соединения с ними будут игнорироваться |
|
check-extension |
Включение/отключение проверки расширений в заголовке Sec-WebSocket-Extensions:
|
|
extension |
Добавление списка разрешенных расширений. WebSocket-соединения будут устанавливаться только по тем запросам, в заголовках которых указаны разрешенные расширения |
|
extension-negate |
Инвертация проверки по списку, указанному в параметре extension:
WebSocket-соединения по запросам, в заголовках которых указаны расширения из списка, будут игнорироваться |
|
check-protocol |
Включение/отключение проверки субпротоколов в заголовке Sec-WebSocket-Protocols:
|
|
protocol |
Добавление списка разрешенных субпротоколов. WebSocket-соединения будут устанавливаться только по тем запросам, в заголовках которых указаны разрешенные субпротоколы |
|
protocol-negate |
Инвертация проверки по списку, указанному в параметре protocol:
WebSocket-соединения по запросам, в заголовках которых указаны субпротоколы из списка, будут игнорироваться |
Команда для редактирования параметров WebSocket-профиля:
Admin@nodename# set security-policy websocket-profiles <websocket-profile_name> <parameter>
Команда для отображения информации о всех WebSocket-профилях:
Admin@nodename# show security-policy websocket-profiles
Команда для отображения информации об определенном WebSocket-профиле:
Admin@nodename# show security-policy websocket-profiles <profile_name>
Команда для удаления существующего WebSocket-профиля используется следующая команда:
Admin@nodename# delete security-policy websocket-profiles <profile_name>
Настройка профиля ответа выполняется на уровне response-profiles.
Для создания профиля ответа используется следующая команда:
Admin@nodename# create security-policy response-profiles <parameter>
Далее необходимо задать следующие параметры.
|
Параметр |
Описание |
|---|---|
|
name |
Название профиля ответа |
| response-type |
Выбор политики, определяющей, какой ответ будет возвращен клиенту при срабатывании блокирующего WAF-правила:
|
|
description |
Описание профиля ответа |
Команда для редактирования параметров профиля ответа:
Admin@nodename# set security-policy response-profiles <response-profile_name> <parameter>
Параметры, доступные для обновления, представлены в таблице выше.
Команда для удаления профиля ответа:
Admin@nodename# delete security-policy response-profiles <response-profile_name>
Команда для отображения информации о всех профилях ответа:
Admin@nodename# show security-policy response-profiles
Команда для отображения информации об определенном профиле ответа:
Admin@nodename# show security-policy response-profiles <response-profile_name>
Персональные WAF-слои настраиваются на уровне waf custom-layers с использованием языка описания политик UPL. Подробнее о структуре команд — в разделе «UserGate Policy Language».
Для создания персонального слоя используется команда:
Admin@nodename# create waf custom-layers name <custom_layer_name> description <description> upl-rule
Команда для изменения параметров персонального слоя:
Admin@nodename# set waf custom-layers <custom_layer_name> upl-rule
Команда для отображения информации о всех персональных слоях:
Admin@nodename# show waf custom-layers
Команда для отображения информации об определенном персональном слое:
Admin@nodename# show waf custom-layers <custom_layer_name>
Пример создания тестового персонального слоя с использованием UPL:
Admin@nodename# create waf custom-layers name "Layer 2" upl-rule DENY src.ip = lib.network("Bad ips", "Test ips")
DENY dst.ip = lib.network("Bad ips")
PASS request.header.User-Agent = lib.useragent(Browsers)
DENY time = lib.time(Weekends)
Admin@nodename#
Admin@nodename# show waf custom-layers "Layer 2"
name : Layer 2
upl-rule : DENY src.ip = lib.network("Bad ips", "Test ips")
DENY dst.ip = lib.network("Bad ips")
PASS request.header.User-Agent = lib.useragent(Browsers)
DENY time = lib.time(Weekends)
Admin@nodename#
Команда для удаления существующего персонального слоя:
Admin@nodename# delete waf custom-layers <custom_layer_name>
WAF-профили настраиваются на уровне waf profiles.
Для создания WAF-профиля используется команда:
Admin@nodename# create waf profiles name <profile_name> description <description> enable-layers [ layer_1 layer_2 layer_n ]
Команда для изменения параметров WAF-профиля:
Admin@nodename# set waf profiles <profile_name> name <new_name> description <new_description> enable-layers [ list of layers to enable ] system <change_system_layer>
Команда для изменения профиля ответа в WAF-профиле:
Admin@nodename# set waf profiles
По умолчанию выбрано значение Do not use. Другие значения станут доступны после того, как будут созданы профили ответов.
Команда для отображения информации о всех WAF-профилях:
Admin@nodename# show waf profiles
Команда для изменения размера анализируемого тела запроса/ответа:
set waf profiles ProfileName max-body-inspection-size 200000
Команда для отображения информации об определенном WAF-профиле:
Admin@nodename# show waf profiles <profile_name>
Пример создания WAF-профиля:
Admin@nodename# create waf profiles name "Test profile 1" description "Test profile #1" enable-layers [ "Layer 4 (custom)" "HTTP Constraint" ]
Admin@nodename#
Admin@nodename# show waf profiles "Test profile 1"
name : Test profile 1
description : Test profile #1
enable-layers : Layer 4 (custom); HTTP Constraint
Admin@nodename#
Команда для удаления существующего WAF-профиля:
Admin@nodename# delete waf profiles <profile_name>
Параметры системных WAF-правил настраиваются на уровне waf system-rules.
У системных WAF-правил могут быть изменены следующие параметры:
состояние (enabled) — on/off;
журналирование (enable-logging) — on/off;
действие (action) — pass, deny, force-pass, force-deny;
профиль ответа (response-profile) — do not use, <response-profile name>.
Пример команды настройки системного WAF-правила:
Admin@nodename# set waf system-rules rules ["#RefRef DoS tool (1)"] enabled on enable-logging on action deny response-profile "<response-profile name>"
В квадратных скобках указывается название одного или нескольких системных WAF-правил, к которым применяются изменения параметров. Названия WAF-правил указываются в кавычках и разделяются пробелами.
Пример команды изменения параметров нескольких системных WAF-правил:
Admin@oulineeladin# set waf system-rules rules ["#RefRef DoS tool (1)" "#RefRef DoS tool (2)"] enabled off
Команда для отображения информации о всех системных WAF-правилах:
Admin@nodename# show waf system-rules
Пример отображения информации об определенном системном WAF-правиле:
Admin@oulineeladin# show waf system-rules "#RefRef DoS tool (1)"
name : #RefRef DoS tool (1)
enabled : on
action : deny
description : This event is trigerred when a malicious/suspicious user-agent is detected in the request.
reference : https://www.owasp.org/index.php/Denial_of_Service
threat-level : medium
technology : All systems
layer : Denial of Service
enable-logging : on
last-update : 2016-03-17T00:00Z
response-profile : Do not use
Команда для отображения информации об имеющихся системных WAF-слоях:
Admin@nodename# show waf system-layers
Команда для отображения информации о конкретном системном WAF-слое:
Admin@minhanhicont# show waf system-layers <system_layer_name>