borderrule (borderrule)

Описание

Статическое правило фильтрации входящих SIP-запросов. Применяется в целях защиты от атак SIP-ролями, находящимися на границе развернутой системы «Era».
Остальные SIP-роли принудительно фильтруют по адресу отправителя, допуская лишь пакеты от других внутренних серверов.

Система применяет самое приоритетное из подходящих по условиям правил.

В качестве значения IP-адреса может выступать IP-адрес (напр. 192.168.0.10), маска подсети (напр. 192.168.0.0/24), диапазон IP-адресов (напр. 172.25.0.50+10).

Входящие сообщения проходят двойной цикл проверки. Сначала среди правил выбираются те, где задан только фильтр по IP-адресу/маске удаленной стороны. Эта проверка не требует больших ресурсов. Если сообщение не отфильтровано, то оно допускается в систему, и после парсера к разобранному сообщению применяются все правила, включая те, где заданы фильтры на домен, имя пользователя, юзерагента и т.д. Это необходимо учитывать при формировании белых списков.

Ограничения

  • Коллекция доступна только в мастер-домене.

Поля

Структура сущности
{
  "id": uuid,
  "priority": str,
  "site": str,
  "domain": str,
  "username": str,
  "useragent": str,
  "remoteipmask": str,
  "action": str,
  "opts": {
    "title": str,
    "comment": str
  },
  "ext": {
    "ct": date,
    "lwt": date
  }
}
Table 1. Поля
Спецификация Описание

Поле: id
Режим: inout
Тип: uuid
По умолчанию: generated

Идентификатор. Может быть задан при создании, иначе генерируется системой.

Поле: enabled
Режим: in
Тип: intbool
По умолчанию: 1

Выключатель правила

Поле: priority
Режим: in
Тип: int
По умолчанию: required

Приоритет. Меньшее значение означает более высокий приоритет.

Поле: site
Режим: in
Тип: str
По умолчанию: "*"

Сайт, на котором применяется правило.
"*" – применяется на всех сайтах.

Поле: service
Режим: in
Тип: str
По умолчанию: "*"

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

Поле: domain
Режим: in
Тип: str
По умолчанию: empty

Домен отправителя или регулярное выражение.

Поле: username
Режим: in
Тип: str
По умолчанию: empty

Имя пользователя или регулярное выражение.

Поле: useragent
Режим: in
Тип: str
По умолчанию: empty

Значение поля UserAgent в SIP запросе или регулярное выражение.

Поле: remoteipmask
Режим: in
Тип: str
По умолчанию: "0.0.0.0/0"

Маска IP-адреса отправителя.
В качестве значения IP-адреса могут выступать:

  • IP-адрес (напр. 192.168.0.10),* Маска подсети (напр. 192.168.0.0/24),* Диапазон IP-адресов (напр. 172.25.0.50+10)

Поле: action
Режим: in
Тип: str
По умолчанию: required

Поле: opts
Режим: in
Тип: object
Составное поле

Поле: opts.title
Режим: in
Тип: str
По умолчанию: empty

Произвольный заголовок

Поле: opts.comment
Режим: in
Тип: str
По умолчанию: empty

Произвольный комментарий

Поле: ext
Режим: inout
Тип: object
Составное поле

Позволяет расширять состав произвольными ключами и значениями

Поле: ext.ct
Режим: out
Тип: date
По умолчанию: generated

Время создания объекта

Поле: ext.lwt
Режим: out
Тип: date
По умолчанию: generated

Время последней модификации объекта

Действия при получении входящих запросов

Table 2. Действия при получении входящих запросов
Значение Описание

"allow"

Разрешено

"drop"

Запрещено. Игнорирование запроса без отправки ответа.

"deny"

Запрещено. Возврат ответа с отказом.

Виды сервисов

Table 3. Виды сервисов
Значение Описание

"ws"

Применяется только на веб-сервере для HTTP(S) и WS(S) запросов к API.

"sg"

Применяется только на sg (TCP, UDP, TLS, WS, WSS).

"esg"

Применяется только на esg (TCP, UDP, TLS).

"ap"

Применяется только на autoprovision (TFTP).

"sip"

Применяется на всех пограничных SIP-сервисах: sg, esg, ap.

"*"

Применяется на всех вышеперечисленных сервисах.

См. также

Логические роли

  • sg реализует SBC (Session Border Controller).

  • esg реализует SBC (Session Border Controller).