Управление доступом на основе IP-адресов клиентов

В «КАСКАД Цифра» имеется возможность управления доступом клиентов с указанными IP-адресами к указанным менеджерам «КАСКАД Цифра». Подобные ограничения могут быть установлены для всех серверных сокетов (менеджера событий, менеджера БД, Pmon, HTTP-сервера, драйверов, работающих по TCP, …). Соответствующие настройки выполняются при помощи списков доступа на основе IP-адресов. Списки позволяют предоставлять доступ к системе «КАСКАД Цифра» только указанным клиентам. В том случае, если менеджер обнаруживает попытку несанкционированного доступа к TCP-сокету, то доступ запрещается.

В том случае, если ограничения должны применяться на уровне всей системы «КАСКАД Цифра», интересующие клиенты могут быть указаны в разделе «[general]» конфигурационного файла «config». Авторизованные/неавторизованные клиенты также могут быть определены для каждого отдельного менеджера в специальной секции, такой как [data]. интересующие клиенты могут быть также указаны на уровне отдельных менеджеров.

В списках контроля доступа используются ключевые слова «ip_allow» и «ip_deny». В файле может использоваться произвольное количество записей с данными ключевыми словами, при этом информация из каждой из них включается во внутренний список. Подобные записи имею тип данных «string» и указывают участников в сети. Поддерживается различный синтаксис:

  • IP-адрес с точечной нотацией, например «192.168.0.2»
  • Имена компьютеров, например: «myPC.domain.org»

В обоих случаях могут использоваться знаки подстановки (* или ?), при этом клиенты проверяются на применимость к ним заданных правил в соответствии с алгоритмом, используемым в функции «patternMatch()«. Сначала обозначение клиента сравнивается с образцом, после чего выполняется сравнение со всеми известными доменными именами и псевдонимами клиентов.

  • Для указания всех компьютеров IP-диапазона «192.168.0» используется последовательность символов «192.168.0.*».

ПРИМЕЧАНИЕ

Несколько записей ip_allow и ip_deny должны добавляться раздельно. Записи могут быть добавлены несколько раз.

Проверка, обладает ли клиент необходимыми полномочиями, выполняется в соответствии со следующим алгоритмом:

  • Сначала выполняется проверка, включен ли клиент в список «ip_allow«. Если клиент включен в данный список, то доступ предоставляется.
  • выполняется проверка, включен ли клиент в список «ip_deny«. Если клиент включен в данный список, то доступ запрещается,
  • если клиент не включен в список ip_allow, доступ будет запрещен.

Если оба списка пусты, контроль доступа по IP-адресам недоступен.

В том случае, если записи с «ip_allow» или «ip_deny» присутствуют в нескольких разделах конфигурационного файла «config», записи обрабатываются сверху вниз. Если вы хотите определить конкретный список, например, для «Pmon» или другого менеджера в секции, относящейся к конкретному менеджеру, вы должны сначала удалить списки из секции [general], используя специальное ключевое слово «-empty list-» (в противном случае сделанные записи все равно будут принадлежать секции [general]). См. пример ниже:

ПРИМЕЧАНИЕ

Список для контроля доступа по IP-адресам не используется с мультиплексным прокси. Список для контроля доступа по IP-адресам используется для соединений менеджеров в KASKAD.

ПРИМЕР

Ниже представлен пример формирования списка доступа на основе IP-адресов с использованием записей в файле «config».

ПРИМЕЧАНИЕ

ip_deny = «*» запрещает доступ для всех, в том числе и для локального компьютера.

[general]

# запретить доступ всем компьютерам домена "sybcom.ru"
ip_deny = "*.sybcom.ru"
[pmon]
# разрешить доступ к Pmon (к монитору процессов) только компьютерам домена "sybcom.ru".
# Используя записи "-empty list-" ниже, список в секции [general] # сначала удаляется. После этого предоставляется доступ для компьютеров из # домена "sybcom.ru" с помощью ip_allow = "*.sybcom.ru"   # Для других компьютеров доступ запрещается с помощью ip_deny = "*"
ip_allow = "-empty list-" ip_deny = "-empty list-" ip_allow = "*.sybcom.ru" ip_deny = "*"
# Разрешение доступа для локального компьютера
ip_allow = "127.0.0.1"
ip_allow = "::порядок:127.0.0.1"
ip_allow = "::1"

Настройки списков доступа по IP-адресам могут включаться в следующие разделы файла «config»:

  • [general] – общие настройки
  • [data] – менеджер БД
  • [event] – менеджер событий
  • [ctrl] – менеджер сценариев (относится только к менеджеру сценариев, который обращается к модулю HTTP-сервера)
  • [pmon] – Pmon (монитор процессов)
  • [valarch] – менеджер архива
  • [dist] – менеджер распределенной архитектуры

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *