Контроль доступа к БД с сетевых станций

СУБД ЛИНТЕР представляет собой многопользовательскую систему. Пользователи могут получать удаленный доступ к БД с различных сетевых терминальных станций (удаленных пользовательских компьютеров). СУБД ЛИНТЕР отличает различные станции сети по их протоколу обмена данными и уникальному сетевому адресу в пределах одного протокола.

СУБД ЛИНТЕР позволяет администратору системы безопасности регулировать доступ пользователей к БД по следующим критериям (в порядке очередности контроля доступа):

  1. по времени работы пользователя;

  2. по количеству одновременно активных логических соединений к БД;

  3. по списку разрешенных для доступа станций;

  4. по уровням доступа;

  5. по списку разрешенных для доступа групп.

Основополагающим понятием в процессе сопоставления пользователя с устройством является понятие сетевой станции. Сетевой станцией СУБД ЛИНТЕР считает любой компьютер, имеющий уникальный идентификатор – адрес в сети.

СУБД ЛИНТЕР поддерживает несколько типов сетей, что требует различного подхода к интерпретации сетевых адресов.

Рассмотрим структуру сетевого адреса. В общем случае сетевой адрес состоит из адреса подсети (уникального в пределах всей сети) и адреса станции (уникального в пределах подсети). СУБД ЛИНТЕР позволяет управлять доступом, как на уровне конечной станции, так и на уровне подсети. В последнем случае ограничения, наложенные на всю подсеть, влияют и на все станции, расположенные в данной подсети.

Каждый сетевой адрес в СУБД ЛИНТЕР характеризуется следующими параметрами:

  • тип сети (определяет внутреннюю структуру адреса);

  • тип адреса (указывает на подсеть или конкретный узел);

  • адрес в сети (собственно сетевой адрес, в зависимости от типа сети, может включать адрес подсети, а может не включать его);

  • маска разрешенных групп (стандартная битовая маска, описывающая, разрешен ли доступ данной группы к станции);

  • уровень мандатного доступа (проверяется возможность пользователя выполнять соответствующие операции по отношению к данной станции);

  • маска разрешенного времени доступа (с точностью до получаса описывается время, разрешенное для доступа со станции).

Создать новую сетевую станцию (изменить характеристики существующей) может только администратор безопасности БД.

Право на доступ с конкретной сетевой станции может быть предоставлено администратором безопасности.

Для локальной сети, в которой все существующие сетевые станции (и добавляемые в будущем) находятся в доверенном окружении в рамках ОС и сети, доступ может быть предоставлен ко всем сетевым станциям либо сразу всем текущим и потенциальным пользователям СУБД, либо определенной группе текущих пользователей.

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

При попытке установления соединения подсистема защиты СУБД выполняет следующие действия:

  1. проводит стандартные проверки идентификации и аутентификации пользователя;

  2. проверяет наличие у пользователя категории Connect;

  3. получает у операционной системы тип сети и адрес сети – источника запроса на установку соединения;

  4. проверяет, ограничен ли доступ для данного пользователя (по временным показателям);

  5. проверяет, существует ли для данного пользователя список разрешенных или запрещенных сетевых станций;

  6. если такой список существует, подвергается проверке совпадение меток доступа для пользователя и разрешенной станции (группа пользователя должна содержаться в маске групп пользователей у станции; RAL-уровень пользователя не должен быть выше RAL-уровня станции, WAL-уровень пользователя не должен быть ниже WAL-уровня станции);

  7. при успешной проверке рассматривается возможность данного пользователя работать с этой станции в текущий момент времени;

  8. если запрещенных комбинаций не обнаружено, доступ разрешается.

Информация о сетевых станциях хранится в системной таблице $$$STATION (см. документ «СУБД ЛИНТЕР. Системные таблицы и представления», подраздел «$$$STATION»).

Имя станции представляет собой идентификатор, который может использоваться администратором безопасности для разрешения (запрещения) доступа пользователей с данного устройства.

Характеристики станции включают:

  • общее число неуспешных попыток обращения со станции;

  • текущее число неуспешных попыток обращения со станции;

  • флаги доступа (доступ запрещен, требуется проверка группы);

  • уровни доступа с устройства для мандатного доступа;

  • маска разрешенных для доступа групп;

  • маска временного доступа: битовое поле разрешенного времени работы со станции (с точностью до получаса на неделю);

  • время последнего неудачного доступа;

  • время последнего успешного доступа;

  • дата и время, начиная с которого доступ с данной станции разрешается;

  • дата и время, до которого доступ с данной станции разрешается;

  • маска разрешенных для доступа дней недели.

Уровни мандатного доступа для сетевой станции представляют собой два числа (со значениями из отрезка [1-10]).

Маска разрешенных для доступа групп представляет собой битовую маску из 256 бит, первые 250 бит которой кодируют разрешение соответствующей группы на доступ к станции.

Дата и время, начиная с которого доступ с данной станции разрешается, представляют собой одностороннее ограничение на дату начала разрешения доступа с данной станции.

Дата и время, начиная с которого доступ с данной станции запрещается, представляют собой одностороннее ограничение на дату прекращения доступа с данной станции.

Маска разрешенных для доступа дней недели представляет собой битовую маску разрешенных для доступа дней недели.