Управление сетевым фильтром текущего экземпляра ws (bannedaddrs)

Обзор

Предоставляет доступ к оперативным данным пограничного сетевого фильтра всех экземпляров роли ws.

Автоматическая блокировка IP-адреса происходит при многократном повторном получении с него HTTP-, HTTPS-, WS-, WSS—​запросов с неверными авторизационными данными в течение ограниченного интервала времени. Автоматическая блокировка производится на конкретном экземпляре роли ws. Добавляемые в список через API размещаются в списках запрещенных адресов на всех доступных экземплярах роли ws.

Отображает все автоматически заблокированные IP-адреса и время блокировки. Также позволяет удалять заблокированные IP-адреса: по одному и все сразу.

Блокируются адреса, с которых за последние 3 минуты поступило более 5 неавторизованных запросов с разными учетными данными. При прекращении активности снятие блокировки производится спустя 3-5 минут.

Данные предоставляются из текущего экземпляра микросервиса WS, обрабатывающего API-запрос. Для операций на всех экземплярах используйте эндпойнт 'master/logicalroles/ws/bannedaddrs/site'

Запросы

HTTP verb Endpoint Описание

GET

/rest/v1/master/logicalroles/ws/bannedaddrs

Получение списка заблокированных IP-адресов с текущего экземпляра веб-сервера

DELETE

/rest/v1/master/logicalroles/ws/bannedaddrs

Очистка списков заблокированных адресов на текущем экземпляре веб-сервера

DELETE

/rest/v1/master/logicalroles/ws/bannedaddrs/<ipaddr>

Удаление адреса из списка заблокированных адресов на текущем экземпляре веб-сервера

Общие скоуп-параметры запросов

Приведенные параметры используются в URL (?param=value) для ограничения скоупа применения запроса (состава экземпляров ролей, к которым применяется запрос). Все они являются опциональными и могут отсутствовать. Имеет смысл указывать не более одного из них, либо не указывать ни одного.

Table 1. Возможные параметры
Имя Тип Описание

site

str

Имя сайта из конфигурации.

Например SITE8.

sites

array<str>

Список имен сайтов, разделенных запятыми.

Например SITE1,SITE3.

server

str

Алиас сервера. Может быть IP адресом, номером или полным именем сервера из конфигурации.

Например 192.168.0.12 или 372.

servers

array<str>

Список алиасов серверов, разделенных запятыми.

Например 192.168.0.12,372,server05.


Получение списка заблокированных IP-адресов с текущего экземпляра веб-сервера

Возвращает список объектов-представлений всех экземпляров роли ws, входящих в скоуп запроса, указанный скоуп-параметрами в URL.

Каждый объект содержит статус экземпляра роли и список заблокированных IP-адресов на этом экземпляре роли в случае, если он активен и доступен.

Запрос

Table 2. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода. Доступные поля для выдачи: banned, addr, node, online, site, srvidx.

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

Преобразование в плоский вид составных полей.

URL может содержать дополнительные скоуп-параметры.

Пример запроса
GET /rest/v1/master/master/logicalroles/ws/bannedaddrs?site=SITE1&mask=banned,node,online&offset=2&limit=2 HTTP/1.1

Ответ

Содержит список объектов, каждый из которых представляет конкретный экземпляр роли ws, входящий в скоуп запроса.

Table 3. Поля объектов
Имя Описание

site

Имя сайта, на котором находится текущий экземпляр роли ws.

node

Имя ноды, на которой исполняется текущий экземляр роли ws.

srvidx

Номер сервера из конфигурации, на котором выполняется нода с текущим экземпляром роли ws

addr

Адрес сервера из конфигурации, на котором выполняется нода с текущим экземпляром роли ws

online

Признак активности/доступности экземпляра роли с веб-сервера, обслуживающего запрос.

  • true – экземпляр роли доступен и активен.

  • false – экземпляр роли недоступен.

banned

Список заблокированных IP-адресов. Каждый адрес в списке представлен объектом, имеющим поля:

  • ip – IPV4-адрес.

  • expires – остаточное время интервала блокировки в секундах.

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "ip": "192.168.0.100",
    "is_banned": true,
    "failed_at": [
      "2023-12-08T14:12:36Z",
      "2023-12-08T14:12:33Z",
      "2023-12-08T14:12:30Z",
      "2023-12-08T14:12:26Z",
      "2023-12-08T14:11:57Z"
    ]
  },
  {
    "ip": "192.168.0.102",
    "is_banned": true,
    "failed_at": [
      "2023-12-08T14:13:24Z",
      "2023-12-08T14:12:56Z",
      "2023-12-08T14:12:42Z",
      "2023-12-08T14:12:13Z",
      "2023-12-08T14:12:05Z"
    ]
  }
]

Очистка списков заблокированных адресов на текущем экземпляре веб-сервера

Очищает списки заблокированных IP-адресов роли ws.

Запрос распараллеливается и применяется ко всем экземплярам ролей ws, входящих в скоуп, указанный скоуп-параметрами в URL.

Запрос

URL может содержать дополнительные скоуп-параметры.

Пример запроса
DELETE /rest/v1/master/logicalroles/ws/bannedaddrs HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Удаление адреса из списка заблокированных адресов на текущем экземпляре веб-сервера

Удаляет заблокированный IP-адрес из списка заблокированных IP-адресов роли ws.

Запрос распараллеливается и применяется ко всем экземплярам ролей ws, входящих в скоуп, указанный скоуп-параметрами в URL.

Запрос

URL может содержать дополнительные скоуп-параметры.

Пример запроса
DELETE /rest/v1/master/logicalroles/ws/bannedaddrs/212.54.68.68 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content