Управление правилами трафика
API правил трафика Ideco Center описано в статье Центральная консоль.
Длина комментариев (comment
) при API-запросах ограничена 255 символами.
Файрвол
Получение статуса службы
GET /firewall/status
Ответ на успешный запрос:
[
{
"name": "rules-in-kernel",
"status": "active" | "activating" | "deactivating" | "failed" | "inactive" | "reloading",
"msg": [ "string" ]
},
{
"msg": [ "string" ],
"status": "active",
"name": "auto-snat"
}
]
msg
- список строк, поясняющих текущее состояние.
Получение настроек Файрвола
Включенность пользовательских правил
GET /firewall/state
Ответ на успешный запрос:
{
"enabled": "boolean"
}
enabled
- опция раздела Файрвол:true
- включена,false
- выключена.
Логирование правил
GET /firewall/settings
Ответ на успешный запрос:
{
"automatic_snat_enabled": "boolean",
"log_mode": "nothing" | "all" | "selected",
"log_actions": [ "accept" | "drop" | "dnat" | "snat" | "mark_log" | "mark_not_log" ]
}
automatic_snat_enabled
- включение автоматического SNAT:true
- включен,false
- выключен;log_mode
- режим логирования;log_actions
- события, которые будут логироваться.
Изменение настроек
PUT /firewall/settings
Json-тело запроса:
{
"automatic_snat_enabled": "boolean",
"log_mode": "nothing" | "all" | "selected",
"log_actions": [ "accept" | "drop" | "dnat" | "snat" | "mark_log" | "mark_not_log" ]
}
automatic_snat_enabled
- включение автоматического SNAT:true
- включен,false
- выключен;log_mode
- режим логирования;log_actions
- события, которые будут логироваться.
Ответ на успешный запрос: 200 ОК
Управление правилами
Получение списка правил
GET /firewall/rules/forward
- раздел FORWARD;GET /firewall/rules/input
- раздел INPUT;GET /firewall/rules/dnat
- раздел DNAT;GET /firewall/rules/snat
- раздел SNAT;GET /firewall/rules/log
- раздел Логирование.
Ответ на успешный запрос:
[
{
"action": "accept" | "drop" | "dnat" | "snat" ("mark_log" | "mark_not_log" для раздела Логирование),
"comment": "string",
"destination_addresses": [ "string" ],
"destination_addresses_negate": "boolean",
"destination_ports": [ "string" ],
"enabled": "boolean",
"hip_profiles": [ "string" ],
"incoming_interface": "string",
"outgoing_interface": "string",
"parent_id": "string",
"protocol": "string",
"source_addresses": [ "string" ],
"source_addresses_negate": "boolean",
"timetable": [ "string" ],
"id": "integer"
},
...
]
action
- действие:accept
- разрешить;drop
- запретить;dnat
- производить DNAT;snat
- производить SNAT;mark_log
- логировать;mark_not_log
- не логировать;
comment
- комментарий, может быть пустым;destination_addresses
- адрес назначения;destination_addresses_negate
- инвертировать адрес назначения;destination_ports
- порты назначения;enabled
- статус правила:true
- включено,false
- выключено;hip_profiles
- HIP-профили;incoming_interface
- зона источника;outgoing_interface
- зона назначения;parent_id
- идентификатор группы в Ideco Center, в которую входит сервер, или константаf3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);protocol
- протокол;source_addresses
- адрес источника;source_addresses_negate
- инвертировать адрес источника;timetable
- время действия;id
- идентификатор правила.
Добавление правила
POST /firewall/rules/forward?anchor_item_id=123&insert_after={true|false}
- раздел FORWARD;POST /firewall/rules/input?anchor_item_id=123&insert_after={true|false}
- раздел INPUT;POST /firewall/rules/dnat?anchor_item_id=123&insert_after={true|false}
- раздел DNAT;POST /firewall/rules/snat?anchor_item_id=123&insert_after={true|false}
- раздел SNAT;POST /firewall/rules/log?anchor_item_id=123&insert_after={true|false}
- раздел Логирование.anchor_item_id
- идентификатор правила, ниже или выше которого нужно создать новое. Если отсутствует, то новое правило будет добавлено в конец таблицы.insert_after
- вставка до или после. Если значениеtrue
или отсутствует, то новое правило будет добавлено сразу после указанного вanchor_item_id
. Еслиfalse
- на месте указанного вanchor_item_id
.
Json-тело запроса:
{
"action": "accept" | "drop" | "dnat" | "snat" ("mark_log" | "mark_not_log" для раздела Логирование),
"comment": "string",
"destination_addresses": [ "string" ],
"destination_addresses_negate": "boolean",
"destination_ports": [ "string" ],
"enabled": "boolean",
"hip_profiles": [ "string" ],
"incoming_interface": "string",
"outgoing_interface": "string",
"parent_id": "string",
"protocol": "string",
"source_addresses": [ "string" ],
"source_addresses_negate": "boolean",
"timetable": [ "string" ]
}
action
- действие:accept
- разрешить;drop
- запретить;dnat
- производить DNAT;snat
- производить SNAT;mark_log
- логировать;mark_not_log
- не логировать;
comment
- комментарий, может быть пустым;destination_addresses
- адрес назначения;destination_addresses_negate
- инвертировать адрес назначения;destination_ports
- порты назначения;enabled
- статус правила:true
- включено,false
- выключено;hip_profiles
- HIP-профили;incoming_interface
- зона источника;outgoing_interface
- зона назначения;parent_id
- идентификатор группы в Ideco Center, в которую входит сервер, или константаf3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);protocol
- протокол;source_addresses
- адрес источника;source_addresses_negate
- инвертировать адрес источника;timetable
- время действия.
Ответ на успешный запрос:
{
"id": "integer"
}
id
- идентификатор правила.
Редактирование правила
PUT /firewall/rules/forward/<id правила>
- раздел FORWARD;PUT /firewall/rules/input/<id правила>
- раздел INPUT;`PUT /firewall/rules/dnat/<id правила>
- раздел DNAT;PUT /firewall/rules/snat/<id правила>
- раздел SNAT;PUT /firewall/rules/log/<id правила>
- раздел Логирование.
Json-тело запроса:
{
"action": "accept" | "drop" | "dnat" | "snat" ("mark_log" | "mark_not_log" для раздела Логирование),
"comment": "string",
"destination_addresses": [ "string" ],
"destination_addresses_negate": "boolean",
"destination_ports": [ "string" ],
"enabled": "boolean",
"hip_profiles": [ "string" ],
"incoming_interface": "string",
"outgoing_interface": "string",
"parent_id": "string",
"protocol": "string",
"source_addresses": [ "string" ],
"source_addresses_negate": "boolean",
"timetable": [ "string" ]
}
action
- действие:accept
- разрешить;drop
- запретить;dnat
- производить DNAT;snat
- производить SNAT;mark_log
- логировать;mark_not_log
- не логировать;
comment
- комментарий, может быть пустым;destination_addresses
- адрес назначения;destination_addresses_negate
- инвертировать адрес назначения;destination_ports
- порты назначения;enabled
- статус правила:true
- включено,false
- выключено;hip_profiles
- HIP-профили;incoming_interface
- зона источника;outgoing_interface
- зона назначения;parent_id
- идентификатор группы в Ideco Center, в которую входит сервер, или константаf3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);protocol
- протокол;source_addresses
- адрес источника;source_addresses_negate
- инвертировать адрес источника;timetable
- время действия.
Ответ на успешный запрос: 200 ОК
Перемещение правила
PATCH /firewall/rules/forward/move
- раздел FORWARD;PATCH /firewall/rules/input/move
- раздел INPUT;PATCH /firewall/rules/dnat/move
- раздел DNAT;PATCH /firewall/rules/snat/move
- раздел SNAT;PATCH /firewall/rules/log/move
- раздел Логирование.
Json-тело запроса:
{
"params": {
"id": "integer",
"anchor_item_id": "integer",
"insert_after": "boolean"
}
}
id
- идентификатор перемещаемого правила;anchor_item_id
- идентификатор правила, ниже или выше которого нужно поместить перемещаемое правило;insert_after
- вставка до или после. Еслиtrue
, то вставить правило сразу после указанного вanchor_item_id
, еслиfalse
- на месте указанного вanchor_item_id
.
Удаление правила
DELETE /firewall/rules/forward/<id правила>
- раздел FORWARD;DELETE /firewall/rules/input/<id правила>
- раздел INPUT;DELETE /firewall/rules/dnat/<id правила>
- раздел DNAT;DELETE /firewall/rules/snat/<id правила>
- раздел SNAT;DELETE /firewall/rules/log/<id правила>
- раздел Логирование.
Ответ на успешный запрос: 200 ОК
Счетчик срабатывания правил
Проверка включенности счетчика срабатываний правил
GET /firewall/watch
Ответ на успешный запрос:
{
"enabled": "boolean"
}
enabled
- еслиtrue
, то счетчик включен, еслиfalse
- выключен.
Включение/выключение счетчика срабатывания правил
PUT /firewall/watch
Json-тело запроса:
{
"enabled": "boolean"
}
enabled
-true
для включения,false
для выключения.
Ответ на успешный запрос: 200 ОК
Получение счетчиков по правилам
GET /firewall/counters/forward
- раздел FORWARD;GET /firewall/counters/input
- раздел INPUT;GET /firewall/counters/dnat
- раздел DNAT;GET /firewall/counters/snat
- раздел SNAT;GET /firewall/rules/log
- раздел Логирование.
Ответ на успешный запрос:
[
{
"id": "integer",
"packets": "integer"
},
...
]
id
- идентификатор правила;packets
- количество сработок правила.
Контроль приложений
Получение списка правил
GET /application_control_backend/rules
Ответ на успешный запрос:
[
{
"action": "drop" | "accept",
"aliases": [ "string" ],
"comment": "string",
"enabled": "boolean",
"name": "string",
"parent_id": "string",
"protocols": [ "string" ],
"id": "integer"
},
...
]
action
- действие, применяемое к правилу;aliases
- объекты, которые используются в правиле (например, any. Список объектов доступен по ссылке);comment
- комментарий правила;enabled
- статус правила:true
- включено,false
- выключено;name
- имя правила;parent_id
- идентификатор родительской группы серверов;protocols
- список протоколов;id
- идентификатор правила.
Создание нового правила
POST /application_control_backend/rules
Json-тело запроса:
{
"parent_id": "string",
"name": "string",
"action": "drop" | "accept",
"comment": "string",
"aliases": [ "string" ],
"protocols": [ "string" ],
"enabled": "boolean"
}
parent_id
- идентификатор родительской группы серверов;name
- имя правила;action
- действие, применяемое к правилу;comment
- комментарий правила;aliases
- объекты, которые используются в правиле (например, any. Список объектов доступен по ссылке);protocols
- список протоколов;enabled
- статус правила:true
- включено,false
- выключено.
Ответ на успешный запрос:
{
"id": "integer"
}
id
- идентификатор созданного правила.
Изменение правила
PUT /application_control_backend/rules/<id правила>
Json-тело запроса:
{
"parent_id": "string",
"name": "string",
"comment": "string",
"aliases": [ "string" ],
"protocols": [ "string" ],
"action": "drop" | "accept",
"enabled": "boolean"
}
parent_id
- идентификатор родительской группы серверов;name
- имя правила;comment
- комментарий правила;aliases
- объекты, которые используются в правиле (например, any. Список объектов доступен по ссылке);protocols
- список протоколов;action
- действие, применяемое к правилу;enabled
- статус правила:true
- включено,false
- выключено.
Ответ на успешный запрос: 200 ОК
Изменение приоритета правила
PATCH /application_control_backend/rules/move
Json-тело запроса:
{
"params": {
"id": "integer",
"anchor_item_id": "integer",
"insert_after": "boolean",
},
}
id
- идентификатор правила;anchor_item_id
- идентификатор правила, ниже или выше которого нужно создать новое;insert_after
- вставка до или после. Еслиtrue
, то вставить правило сразу после указанного вanchor_item_id
, еслиfalse
, то на месте указанного вanchor_item_id
.
Удаление правила
DELETE /application_control_backend/rules/<id правила>
Ответ на успешный запрос: 200 OK
Предотвращение вторжений
Получение статуса модуля
GET /ips/status
Ответ на успешный запрос:
[
{
"name": "string",
"status": "active" | "activating" | "deactivating" | "failed" | "inactive" | "reloading",
"msg": [ "string" ]
},
...
]
name
- название домена;status
- статус;msg
- cписок сообщений, объясняющий текущее состояние.
Статус обновления баз правил Suricata и GeoIP
GET /ips/update
Ответ на успешный запрос:
{
"status": "up_to_date" | "updating" | "failed_to_update" | "disabled"],
"msg": "i18n_str",
"last_update": "float" | "null"
}
status
- текущий статус обновления баз:up_to_date
- базы успешно обновлены;updating
- скачиваем новые базы;failed_to_update
- последняя попытка обновления баз завершилась неудачно;disabled
- обновление баз выключено.
msg
- текстовое описание статуса обновления баз;last_update
- время последнего успешного обновления баз.
Получение статуса обновления расширенных баз правил Suricata и GeoIP
GET /ips/update_advanced
Ответ на успешный запрос:
{
"status": "up_to_date" | "updating" | "failed_to_update" | "disabled",
"msg": "i18n_str",
"last_update": "float" | "null"
}
status
- текущий статус обновления баз:up_to_date
- базы успешно обновлены;updating
- скачиваем новые базы;failed_to_update
- последняя попытка обновления баз завершилась неудачно;disabled
- обновление баз выключено.
msg
- текстовое описание статуса обновления баз;last_update
- время последнего успешного обновления баз.
Получение текущей настройки включенности модуля
GET /ips/state
Ответ на успешный запрос:
{
"enabled": "boolean"
}
enabled
-true
, если модуль включен,false
- выключен.
Изменение настройки включенности модуля
PUT /ips/state
Json-тело запроса:
{
"enabled": "boolean"
}
enabled
-true
если модуль включен,false
- выключен.
Ответ на успешный запрос: 200 OK
Получение списка локальных подсетей
GET /ips/nets
Ответ на успешный запрос:
[
{
"id": "string",
"address": "string"
},
...
]
id
- идентификатор подсети;address
- адрес подсети (например,192.168.0.0
).
Добавление новой локальной подсети
POST /ips/nets
Json-тело запроса:
{
"address": "string"
}
address
- адрес подсети (например,192.168.0.0
).
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор подсети.
Получение списка наборов правил
GET /ips/rules
Ответ на успешный запрос:
[
{
"id": "string",
"name": "string",
"enabled": "boolean"
},
...
]
id
- идентификатор набора правил;name
- название набора правил;enabled
- состояние набора правил:true
- включен,false
- выключен.
Включение/выключение набора правил
PATCH /ips/rules/<id набора правил>
Json-тело запроса:
{
"enabled": "boolean"
}
enabled
-true
для включения набора правил,false
для выключения.
Ответ на успешный запрос: 200 OK
Получение содержимого правила по sid
GET /ips/rules/sid/<sid правила>
Ответ на успешный запрос:
{
"rule": "string"
}
rule
- текст правила. Если правило не найдено, то пустая строка.
Получение списка исключений
GET /ips/disabled_rules
Ответ на успешный запрос:
[
{
"sid": "integer",
"comment": "string",
"id": "string"
},
...
]
sid
- идентификатор правила;comment
- описание, может быть пустым, максимальная длина - 255 символов;id
- идентификатор правила.
Добавление исключения
POST /ips/disabled_rules
Json-тело запроса:
{
"sid": "integer",
"comment": "string"
}
sid
- идентификатор правила;comment
- описание, может быть пустым, максимальная длина - 255 символов.
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор исключения.
Редактирование описания существующего исключения
PATCH /ips/disabled_rules/<id правила (не sid)>
Json-тело запроса:
{
"sid": "integer",
"comment": "string"
}
sid
- идентификатор правила;comment
- описание, может быть пустым, максимальная длина - 255 символов;
Ответ на успешный запрос: 200 OK
Удаление существующего исключения
DELETE /ips/disabled_rules/<id исключения>
Ответ на успешный запрос: 200 OK
Получение списка исключений объектов
GET /ips/bypass
Ответ на успешный запрос:
[
{
"id": "string",
"aliases": [ "string" ],
"comment": "string",
"enabled": "boolean",
},
...
]
id
- идентификатор исключения;aliases
- список идентификаторов объектов. Допустимые типы: IP-адрес, Диапазон IP-адресов, Список IP-объектов, Список IP-адресов, Подсеть, Домен, Пользователь, Группа;comment
- описание, может быть пустым, максимальная длина - 255 символов;enabled
- состояние исключения:true
- включено,false
- выключено.
Добавление исключения объектов
POST /ips/bypass
Json-тело запроса:
{
"aliases": [ "string" ],
"comment": "string",
"enabled": "boolean"
}
aliases
- список идентификаторов объектов. Допустимые типы: IP-адрес, Диапазон IP-адресов, Список IP-объектов, Список IP-адресов, Подсеть, Домен, Пользователь, Группа;comment
- описание, может быть пустым, максимальная длина - 255 символов;enabled
- состояние исключения:true
- включено,false
- выключено.
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор созданного исключения.
Изменение исключения объектов
PATCH /ips/bypass/<id исключения>
Json-тело запроса:
{
"aliases": [ "string" ],
"comment": "string",
"enabled": "boolean"
}
aliases
- список идентификаторов объектов. Допустимые типы: IP-адрес, Диапазон IP-адресов, Список IP-объектов, Список IP-адресов, Подсеть, Домен, Пользователь, Группа;comment
- описание, может быть пустым, максимальная длина - 255 символов;enabled
- состояние исключения:true
- включено,false
- выключено.
Ответ на успешный запрос: 200 OK
Удаление существующего исключения объектов
DELETE /ips/bypass/<id исключения>
Ответ на успешный запрос: 200 OK
Контент-фильтр
Включение/выключение Контент-фильтра
Проверить включенность
GET /content-filter/state
Ответ на успешный запрос:
{
"enabled": "boolean"
}
enabled
- состояние Контент-фильтра:true
- включен,false
- выключен.
Включить/выключить Контент-фильтр
PUT /content-filter/state
Json-тело запроса:
{
"enabled": "boolean"
}
enabled
-true
для включения Контент-фильтра,false
для выключения.
Ответ на успешный запрос: 200 ОК
Настройки
Получение настроек
GET /content-filter/settings
Ответ на успешный запрос:
{
"enabled_extended_categorizer": "boolean",
"quic_reject_enabled": "boolean"
}
enabled_extended_categorizer
- расширенная категоризация (SkyDNS):true
- включена,false
- выключена;quic_reject_enabled
- запрет трафика по протоколу QUIC:true
- включен,false
- выключен.
Изменение настроек
PATCH /content-filter/settings
Json-тело запроса:
{
"enabled_extended_categorizer": "boolean",
"quic_reject_enabled": "boolean"
}
enabled_extended_categorizer
- расширенная категоризация (SkyDNS):true
- включена,false
- выключена;quic_reject_enabled
- запрет трафика по протоколу QUIC:true
- включен,false
- выключен.
Ответ на успешный запрос: 200 OK
Получение настройки безопасного поиска
GET /proxy_backend/safe_search
Ответ на успешный запрос:
{
"enabled": "boolean"
}
enabled
- состояние безопасного поиска:true
- включен,false
- выключен.
Изменение настройки безопасного поиска
PUT /proxy_backend/safe_search
Json-тело запроса:
{
"enabled": "boolean"
}
enabled
-true
для включения,false
для выключения.
Ответ на успешный запрос: 200 OK
Категории Контент-фильтра
Получение списка категорий (предустановленных и пользовательских)
GET /content-filter/categories
Json-тело ответа:
[
{
"id": "string",
"type": "string",
"name": "string",
"comment": "string"
},
...
]
id
- номер категории в форматеusers.id.1
илиextended.id.1
;type
- тип категории:users
- пользовательские категории;extended
- расширенные категории (SkyDNS);files
- категории для файлов;special
- специальные предопределенные категории (Прямое обращение по IP, Все категоризированные запросы, Все некатегоризированные запросы, Все запросы);other
- остальные категории.
name
- имя категории;comment
- описание категории.
Получение списка пользовательских категорий
GET /content-filter/users_categories
Json-ответ на запрос:
[
{
"id": "string",
"name": "string",
"comment": "string",
"urls": [ "string" ]
},
...
]
id
- идентификатор категории в форматеusers.id.1
;name
- название категории, не пустая строка;comment
- комментарий;urls
- список адресов. Полный путь до страницы или только доменное имя, любое количество любых символов.
Создание пользовательской категории
POST /content-filter/users_categories
Json-тело запроса:
{
"name": "string",
"comment": "string",
"urls": [ "string" ]
}
name
- название категории, не пустая строка;comment
- комментарий;urls
- список адресов. Полный путь до страницы или только доменное имя, любое количество любых символов.
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор пользовательской категории.
Редактирование пользовательских категорий
PUT /content-filter/users_categories/<id категории>
Json-тело запроса:
{
"name": "string",
"comment": "string",
"urls": [ "string" ]
}
name
- название категории, не пустая строка;comment
- комментарий;urls
- список адресов. Полный путь до страницы или только доменное имя, любое количество любых символов.
Ответ на успешный запрос:
{
"id": "string",
"name": "string",
"comment": "string",
"urls": [ "string" ]
}
id
- идентификатор пользовательской категории.
Правила Контент-фильтра
Получение списка правил
GET /content-filter/rules
Json-тело ответа:
[
{
"access": "allow" | "deny" | "bump" | "redirect",
"aliases": [ "string" ],
"categories": [ "string" ],
"comment": "string",
"enabled": "boolean",
"name": "string",
"parent_id": "string",
"redirect_url": "string" | "null",
"timetable": [ "string" ],
"id": "integer"
},
...
]
access
- действие, которое необходимо выполнить в правиле:allow
- разрешить данный запрос;deny
- запретить запрос и показать страницу блокировки;bump
- расшифровать запрос;redirect
- перенаправить запрос наredirect_url
.
aliases
- список идентификаторов алиасов (поле Применяется для);categories
- список идентификаторов категорий сайтов;comment
- комментарий, может быть пустым (максимальная длина - 255 символов);enabled
- статус правила:true
- включено,false
выключено;name
- название правила, не пустая строка;parent_id
- идентификатор группы в Ideco Center, в которую входит Ideco NGFW, или константаf3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);redirect_url
- адрес, на который перенаправляются запросы:string
приaccess
=redirect
,null
при остальных вариантахaccess
;timetable
- время действия, список идентификаторов алиасов;id
- идентификатор правила.
Создание правила
POST /content-filter/rules?anchor_item_id=123&insert_after={true|false}
anchor_item_id
- идентификатор правила, ниже или выше которого нужно создать новое. Если отсутствует, то новое правило будет добавлено в конец таблицы.insert_after
- вставка до или после. Если значениеtrue
или отсутствует, то новое правило будет добавлено сразу после указанного вanchor_item_id
. Еслиfalse
- на месте указанного вanchor_item_id
.
Json-тело запроса:
{
"name": "string",
"comment": "string",
"parent_id": "string",
"aliases": [ "string" ],
"categories": [ "string" ],
"access": "allow" | "deny" | "bump" | "redirect",
"redirect_url": "string" | "null",
"enabled": "boolean",
"timetable": [ "string" ]
}
name
- название правила, не пустая строка;comment
- комментарий, может быть пустым, максимальная длина - 255 символов;parent_id
- идентификатор группы в Ideco Center, в которую входит Ideco NGFW, или константаf3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);aliases
- список идентификаторов алиасов (поле Применяется для);categories
- список идентификаторов категорий сайтов;access
- действие, которое необходимо выполнить в правиле:allow
- разрешить данный запрос;deny
- запретить запрос и показать страницу блокировки;bump
- расшифровать запрос;redirect
- перенаправить запрос наredirect_url
.
redirect_url
- адрес, на который перенаправляются запросы:string
приaccess
=redirect
,null
при остальных вариантахaccess
;enabled
-true
для включения,false
для выключения;timetable
- время действия, список идентификаторов алиасов.
Редактирование правила
PUT /content-filter/rules/<id правила>
Json-тело запроса:
{
"name": "string",
"comment": "string",
"parent_id": "string",
"aliases": [ "string" ],
"categories": [ "string" ],
"access": "allow" | "deny" | "bump" | "redirect",
"redirect_url": "string" | "null",
"enabled": "boolean",
"timetable": [ "string" ]
}
name
- название правила, не пустая строка;comment
- комментарий, может быть пустым, максимальная длина - 255 символов;parent_id
- идентификатор группы в Ideco Center, в которую входит Ideco NGFW, или константаf3ffde22-a562-4f43-ac04-c40fcec6a88c
(соответствует Корневой группе);aliases
- список идентификаторов алиасов (поле Применяется для);categories
- список идентификаторов категорий сайтов;access
- действие, которое необходимо выполнить в правиле:allow
- разрешить данный запрос;deny
- запретить запрос и показать страницу блокировки;bump
- расшифровать запрос;redirect
- перенаправить запрос наredirect_url
.
redirect_url
- адрес, на который перенаправляются запросы:string
приaccess
=redirect
,null
при остальных вариантахaccess
;enabled
-true
для включения,false
для выключения;timetable
- время действия, список идентификаторов алиасов.
Ответ на успешный запрос: 200 ОК
Перемещение правила
PATCH /content-filter/rules/move
Json-тело запроса:
{
"params": {
"id": "integer",
"anchor_item_id": "integer",
"insert_after": "boolean"
}
}
id
- идентификатор правила;anchor_item_id
- идентификатор правила, ниже или выше которого нужно вставить правило, которое перемещаем;insert_after
- вставка до или после. Еслиtrue
, то правило будет вставлено сразу после указанного вanchor_item_id
, еслиfalse
- на месте указанного вanchor_item_id
.
Ответ на успешный запрос: 200 OK
Квоты
Проверить включенность подсчета квот
GET /quotas/state
Ответ на успешный запрос:
{
"enabled": "boolean"
}
enabled
- еслиtrue
, то подсчет квот включен, еслиfalse
- выключен.
Включение/выключение подсчета квот
PUT /quotas/state
Json-тело запроса:
{
"enabled": "boolean"
}
enabled
-true
для включения,false
для выключения.
Ответ на успешный запрос: 200 ОК
Получение списка квот
GET /quotas/quotas
Ответ на успешный запрос:
[
{
"id": "string",
"title": "string",
"comment": "string",
"quota": "integer",
"enabled": "boolean",
"interval": "hour" | "day" | "week" | "month" | "quarter"
},
...
]
id
- идентификатор квоты;title
- название квоты, максимальная длина - 42 символа;comment
- комментарий, максимальная длина - 255 символов;quota
- ограничение трафика в байтах;enabled
- применяется ли квота;interval
- период действия квоты (час, день, неделя, месяц, квартал).
Создание квоты
POST /quotas/quotas
Json-тело запроса:
{
"title": "string",
"comment": "string",
"quota": "integer",
"enabled": "boolean",
"interval": "string"
}
title
- название квоты, максимальная длина - 42 символа;comment
- комментарий, максимальная длина - 255 символов;quota
- ограничение трафика в байтах;enabled
- применяется ли квота;interval
- период действия квоты (час, день, неделя, месяц, квартал).
Ответ на успешный запрос:
{
"id": "string"
}
id
- идентификатор квоты.
Редактирование квоты
PATCH /quotas/quotas/<id квоты>
Json-тело запроса (все или некоторые поля):
{
"title": "string",
"comment": "string",
"quota": "integer",
"enabled": "boolean",
"interval": "string"
}
title
- название квоты, максимальная длина - 42 символа;comment
- комментарий, максимальная длина - 255 символов;quota
- ограничение трафика в байтах;enabled
- применяется ли квота;interval
- период действия квоты (час, день, неделя, месяц, квартал).
Ответ на успешный запрос: 200 ОК
Last updated