Управление сетевым фильтром esg (bannedaddrs)

Обзор

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

Автоматическая блокировка IP-адреса происходит при многократном повторном получении с него SIP-запросов с неверными авторизационными данными в течение ограниченного интервала времени. Автоматическая блокировка производится на конкретном экземпляре функциональной роли sg. Добавляемые в список через API размещаются в списках запрещенных адресов на всех доступных экземплярах функциональной роли sg.

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

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/master/logicalroles/sg/bannedaddrs

Добавление IP-адреса в списки заблокированных

GET

/rest/v1/master/logicalroles/sg/bannedaddrs

Получение списка экземпляров функциональных ролей sg и заблокированных IP-адресов

DELETE

/rest/v1/master/logicalroles/sg/bannedaddrs

Очистка списков заблокированных адресов

DELETE

/rest/v1/master/logicalroles/sg/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-адреса в списки заблокированных

Добавляет произвольный IP-адрес в списки запрещенных IP-адресов функциональной роли sg.

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

Запрос

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

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

ip

str

IPV4-адрес, подлежащий блокировке.

expires

int

Интервал времени в секундах, по истечении которого адрес должен быть автоматически удален.

Каждый последующий запрос для указанного адреса продляет таймер автоудаления.

Пример запроса
POST /rest/v1/master/logicalroles/sg/bannedaddrs HTTP/1.1
Content-Type: application/json; charset=utf-8

{
  "ip": "212.54.68.68",
  "expires": "600"
}

Ответ

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

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

site

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

node

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

srvidx

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

addr

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

online

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

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

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

result

Для активных и доступных экземпляров указывает результат выполнения операции.

  • true – IP-адрес успешно сохранен в список запрещенных IP-адресов текущего экземпляра функциональной роли.

  • false – операция не проведена на текущем экземпляре функциональной роли.

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

[
  {
    "site": "SITE1",
    "node": "site1_h11@192.168.0.10",
    "srvidx": 100,
    "addr": "192.168.0.10",
    "online": true,
    "result": true
  },
  {
    "site": "SITE1",
    "node": "site1_h1@192.168.0.18",
    "srvidx": 180,
    "addr": "192.168.0.18",
    "online": true,
    "result": true
  }
]

Получение списка экземпляров функциональных ролей sg и заблокированных IP-адресов

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

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

Запрос

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

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/sg/bannedaddrs?mask=banned,node,online&offset=2&limit=2 HTTP/1.1

Ответ

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

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

site

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

node

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

srvidx

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

addr

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

online

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

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

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

banned

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

  • ip – IPV4-адрес.

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

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

[
  {
    "node": "site1_h7@192.168.0.10",
    "online": true,
    "banned": [
      {
        "ip": "212.54.68.68",
        "expires": 526
      },
      {
        "ip": "187.13.93.27",
        "expires": 277
      }
    ]
  },
  {
    "node": "site1_h4@192.168.0.18",
    "online": true,
    "banned": [
      {
        "ip": "212.54.68.68",
        "expires": 526
      }
    ]
  }
]

Очистка списков заблокированных адресов

Очищает списки заблокированных IP-адресов функциональной роли sg.

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

Запрос

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

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

Ответ

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

Удаление адреса из списка заблокированных адресов

Удаляет заблокированный IP-адрес из списка заблокированных IP-адресов функциональной роли sg.

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

Запрос

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

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

Ответ

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