Настройка персональных слоёв 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.
Для создания профиля:
Admin@nodename# create waf profiles name <profile_name> description <description> enable-layers [ layer_1 layer_2 layer_n ]
Команда для редактирования параметров профиля:
Admin@nodename# set waf profiles <profile_name> name <new_name> description <new_description> enable-layers [ list of layers to enable ] system <change_system_layer>
Команды для отображения информации о всех профилях:
Admin@nodename# show waf profiles
Для отображения информации об определённом профиле:
Admin@nodename# show waf profiles <profile_name>
Пример создания профиля:
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#
Для удаления существующего профиля используется следующая команда:
Admin@nodename# delete waf profiles <profile_name>
Настройка параметров системных правил происходит на уровне waf system-rules (доступно в версии ПО 7.4.0 и выше).
У системных правил могут быть изменены следующие параметры:
состояние (enabled) — on/off;
журналирование (enable-logging) — on/off;
действие (action) — pass, deny, force-pass, force-deny.
Пример команды настройки системного правила:
Admin@nodename# set waf system-rules rules ["#RefRef DoS tool (1)"] enabled on enable-logging on action deny
В квадратных скобках указывается название одного или нескольких системных правил, к которым применяются изменения параметров. Названия правил указываются в кавычках и разделяются пробелами.
Пример команды изменения настроек нескольких системных правил:
Admin@oulineeladin# set waf system-rules rules ["#RefRef DoS tool (1)" "#RefRef DoS tool (2)"] enabled off
Команда для отображения информации о всех системных правилах:
Admin@nodename# show waf system-rules
Пример отображения информации об определённом системном правиле:
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
Для отображения информации об имеющихся системных слоях:
Admin@nodename# show waf system-layers
Для отображения информации о конкретном системном слое:
Admin@minhanhicont# show waf system-layers <system_layer_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>