Запрещаем администратору системы заходить в конфигуратор (внешнее управление сеансами)

08.01.21

Администрирование - Информационная безопасность

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

Скачать файлы

Наименование Файл Версия Размер
Запрещаем администратору системы заходить в конфигуратор (Внешнее управление сеансами):
.cf 78,35Kb
8
.cf 1.0.0 78,35Kb 8 Скачать

Много кому в организации нужны права администрирования системы, например сотрудникам техподдержки - подправить документы, завести пользователей. Давать доступ в конфигуратор этим сотрудниками совсем не нужно, однако широкие права предполагают, что доступ в конфигуратор у них есть. Традиционно такие вопросы решаются административным путем, однако мы (повелители 1С) можем кое-что сделать и не административно.

Воспользуемся внешним управлением сеансами - эта технология в настоящий момент доступна только для КОРП лицензии, к сожалению, и представляет из себя возможность клиентского сеанса обращаться к специальному веб-сервису, который предоставляет информацию о разрешении входа. 

Ознакомимся с информацией от вендора: 2.2.4.4. Внешнее управление сеансами и 5.3.2. Внешнее управление сеансами, ознакомимся также с наработками сообщества: Готовая конфигурация по примеру...Брандмауэр для сервера 1С...Внешнее управление сеансами

Создадим пустую конфигурацию. Добавим в нее справочник - "НастройкиВхода", название базы для контроля сеансов будем задавать в наименовании элемента справочника. Добавим табличную часть - "РазрешенныеПользователиКонфигуратора", с единственным реквизитом - "ИмяПользователя".

Дальше создаем XDTO пакет импортом схемы с ИТС (вышеупомянутая глава 5.3.2. Внешнее управление сеансами)

Получаем пакет описания типов веб-сервиса:

Создаем веб-сервис "SessionControl" с указанием только что созданного пакета XDTO:

Реализуем операции веб-сервиса и параметры операций, для описания параметров используем ту же статью ИТС.

Обратите внимание, для наших целей нам достаточно только операции "onStartSession", остальные методы сделаны в виде "заглушки".

Ну и реализуем обработчик операции "onStartSession":

Напишем такой код:

Функция onStartSession(CallNo, ClusterID, ClusterName, InfoBaseName, SessionID, SessionNumber, UserID, UserName, ClientIPAddress, AppID, Zone, LanguageCode, ErrorDescription)
	
    ErrorDescription = "";
	
    Если AppID <> "Designer" Тогда
        Возврат 0;
    КонецЕсли;
	
    НастройкиВхода = Справочники.НастройкиВхода.НайтиПоНаименованию(InfoBaseName, Истина);
    Если НастройкиВхода.Пустая() Тогда
        Возврат 0;
    КонецЕсли;
	
    ПараметрыОтбора = Новый Структура("ИмяПользователя", UserName);
    Если НЕ ЗначениеЗаполнено(НастройкиВхода.РазрешенныеПользователиКонфигуратора.НайтиСтроки(ПараметрыОтбора)) Тогда
        ErrorDescription = СтрШаблон("Пользователю '%1' не разрешен вход в конфигуратор", UserName);
        Возврат 1;
    Иначе
        Возврат 0;
    КонецЕсли;
	
КонецФункции

Из всего обилия параметров веб-сервиса мы используем только "AppID" - вид приложения, "InfoBaseName" - имя информационной базы, "UserName" - имя пользователя.

Логика следующая - проверка срабатывает, только если приложение - конфигуратор и в справочнике есть запись с именем базы. Далее мы ищем совпадение имени пользователя с строками табличной части, если совпадения нет - пользователю нельзя заходить в конфигуратор.

Опубликуем наш веб-сервис в веб:

И пропишем в настройках серверной базы адрес веб-сервиса:

Единственное отступление от инструкции на ИТС - мне пришлось явно указать версию веб-сервиса ("wsver=3") и добавить параметр "ErrorDescription". Получилась следующая строка, где localhost - это имя веб-сервера (у меня тестовый конечно), Control - имя публикации (базы), SessionControl - имя веб-сервиса: 

wsdl=http://localhost/Control/ws/SessionControl?wsdl;ns=http://v8.1c.ru/SessionManagement;srvc=SessionControl;port=SessionControlSoap;wsver=3;ErrorDescription=""

База, в которой будем ограничивать вход пользователей, называется RPA (привет тем, кто знает!). Пусть вход в конфигуратор разрешен только пользователю "АдминистраторКонфигуратора".

Сделаем нужную запись в конфигурации - держателе веб-сервиса.

Попробуем. Работает! Пользователю "АдминистраторКонфигуратора" можно заходить в конфигуратор, остальным нет, причем остальные получают понятное сообщение об ошибке.

Получилось быстро и просто.

К публикации приложена выгрузка конфигурации. Все действия проводились на платформе 8.3.18.1208

Внешнее управление сеансами консоль конфигуратор

См. также

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    30160    29    18    

45

Device flow аутентификация, или туда и обратно

Информационная безопасность Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1038    platonov.e    1    

22

Анализатор безопасности базы сервера 1С

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    4992    11    soulner    7    

27

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    5340    25    Silenser    12    

22

История одного взлома или проверьте вашу систему на безопасность

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

26.10.2022    8328    Tavalik    46    

110

Бесшовная доменная аутентификация ОС при интеграции 1С:ERP и 1С:Документооборот

Информационная безопасность Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 Абонемент ($m)

Доменная аутентификация ОС при бесшовной интеграции 1С:Документооборот 8 КОРП, редакция 2.1 (2.1.29.18) и 1С:ERP Управление холдингом (3.1.7.4) (в клиент-серверном режиме).

1 стартмани

16.09.2022    2663    oleg21592    6    

18
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SapientiEst 08.01.21 11:04 Сейчас в теме
Работа проделана большая и квалифицированная...

Но в конфигурациях с которыми работаю лично я есть роль "Администратор" и "Администратор системы" которые вроде должны решать эту задачу (не менять метаданные)...

Или я не прав?
sapervodichka; ardn; +2 Ответить
2. ardn 588 08.01.21 14:41 Сейчас в теме
(1)
На самом деле работа заняла пару-тройку часов с чтением документации (ИТС на самом деле помогает).
Действительно, стандарты разработки предписывают иметь в конфигурации обязательные роли «Полные права» и «Администратор системы», в которых используются права "Администрирование данных" и "Администрирование" соответственно (тут подробно Стандартные роли)
Однако в БСП есть предопределенный элемент "Администратор" справочника "ПрофилиГруппДоступа", и довольно жестко прописано использование обоих ролей, если база - не фрешеподобная:
(тут должен был быть показан скрин)
И тут возникает вопрос - менять конфигурацию (расширением, конечно), создавать свои профили групп доступа или изучить новую для себя технологию.
3. SapientiEst 08.01.21 17:28 Сейчас в теме
(2)
(тут должен был быть показан скрин)

Не грузиться
4. ardn 588 13.01.21 10:47 Сейчас в теме
(3)
SapientiEst; +1 Ответить
5. SapientiEst 29.01.21 09:59 Сейчас в теме
(4) Спасибо
6. milanse 38 29.04.22 19:47 Сейчас в теме
С правами в БСП, конечно, не гибко получается, может что-то изменят со временем. Ну и жаль, конечно, что многие фишки есть только в Корп функционале.
Оставьте свое сообщение