Управление сетевым фильтром 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