Защита авторизации
Содержание:
- Ограничение информации для неавторизованного пользователя АРМ
- Настраиваемый период валидности пароля пользователя АРМ
- Ограничение времени сессии пользователя АРМ
- OAuth-авторизация
- Система кодов ошибок
- Двухфакторная аутентификация
- Единая точка доступа в Систему
- Политика разграничения прав доступа
- Ограничение доступа к скрытой информации
Ограничение информации для неавторизованного пользователя АРМ
Информация о версии Системы засекречена от неавторизованного пользователя АРМ:
- Пользователь АРМ может увидеть версию Системы только после авторизации;
- GET-запросы для загрузки файлов с сервера не содержат информацию о версии Системы;
- Метод GET /api/Version, который возвращает информацию о версии Cистемы, доступен только для авторизованного пользователя.
Настраиваемый период валидности пароля пользователя АРМ
Специальные конфигурации усиливают информационную безопасность и предотвращают несанкционированный доступ в Систему:
- Конфигурация, устанавливающая срок жизни пароля пользователя АРМ. Пользователь увидит всплывающее сообщение о необходимости обновления пароля при первой авторизации в Системе, а также если срок жизни пароля истек.
- Другая конфигурация устанавливает срок, в пределах которого проверяется уникальность пароля, таким образом предотвращая повторение пароля.
Ограничение времени сессии пользователя АРМ
Сессия — промежуток времени, в течение которого пользователь АРМ авторизован в Системе и может обращаться к методам API. В сессии фиксируется активность пользователя как в пользовательском интерфейсе — АРМ, так и вне его, например при обращении к методам API через Swagger, Postman или др.
Начиная с версии Системы lmxR4, для каждого пользователя АРМ могут быть настроены сессии, а также время, в течение которого пользователи могут бездействовать, не покидая сессии. Для настройки сессии необходимо перейти в раздел Настройки системы > Конфигурации и задать параметры SessionsForUsersAreaEnabled и SessionsForUsersAreaTimeout. Подробнее о настройке сессий читайте в специальной статье.
OAuth-авторизация
Для обеспечения доступа сторонних приложений к данным, хранящимся в системе Loymax, используется открытый протокол авторизации OAuth 2.0. Данный протокол позволяет предоставить третьей стороне ограниченный доступ к защищенным ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль. Вместо этого используется токен доступа — это цифробуквенная последовательность, в которой зашифрована следующая информация:
- идентификатор учетной записи, к которой разрешен доступ;
- идентификатор приложения, которому разрешен доступ;
- набор прав (действий, доступных приложению).
Получить токен доступа можно как с участием клиента, так и без него. В первом случае дополнительно требуется авторизация пользователя в Системе, который затем дает разрешение приложению для доступа к своим данным. Таким образом достигается двухфакторная защита персональных данных.
Кроме того, токен имеет ограничение времени жизни, то есть по истечении определенного срока доступ к Системе прекращается до следующей авторизации. При работе с мобильным приложением, кроме токена доступа передается еще и токен обновления, время жизни которого дольше, чем у токена доступа. С помощью токена обновления автоматически создается новый токен доступа, когда время жизни последнего истекает. Периодическое обновление токенов никак не отражается на работе пользователя в Системе, но при этом создает дополнительную защиту доступа к его персональным данным.
Система кодов ошибок
Для повышения информационной безопасности, в Loymax разработана система унифицированных ошибок с кодами. При ошибочных или подозрительных действиях с данными Участников Программы лояльности (например, при вводе номера телефона, который уже существует в Системе), возвращается код ошибки с общим описанием возможной проблемы вместо ошибки в явном виде. Использование кодов ошибок помогает избежать уязвимости Базы данных и снизить риск таких мошеннических действий с данными Участников Программы лояльности, как:
- подбор номеров карт Участников ПЛ;
- фрод (проведение мошеннических операций с использованием карт Участников ПЛ);
- кража учетных данных пользователей Системы;
- кража базы номеров карт Участников ПЛ.
Примечание: при необходимости отображать ошибку в явном виде, можно выдать OAuth-приложению Право получать ошибку в явном виде (ApplicationGetErrorExplicitly). Это право дает возможность при регистрации в случае ввода уже существующего телефона получить явную ошибку. Если это право не будет выбрано, то в качестве ошибки вернется сообщение о том, что на номер телефона отправлен код подтверждения (по SMS или с помощью Flash Call). В целях безопасности данных, Loymax не рекомендует выдавать это право.
Данное разрешение также позволяет возвращать явную ошибку при обращении к методам API, предназначенным для:
- отправки кода подтверждения и установки нового пароля при восстановлении пароля;
- объединения карт Участника ПЛ;
- прикрепления карты к учетной записи Участника ПЛ;
- запуска процедуры замены карты;
- изменения адреса электронный почты;
- установки номера телефона и отправки кода подтверждения.
Двухфакторная аутентификация
Для усиления безопасности при авторизации в Программе лояльности (ПЛ) в Системе реализована функциональность двухфакторной аутентификации. При двухфакторной аутентификации Участник ПЛ после ввода корректных логина и пароля должен ввести код подтверждения, отправленный ему в SMS-сообщении. Таким образом, у мошенников не будет возможности подбора и ввода чужих данных для авторизации в Программе лояльности.
Включение двухфакторной аутентификации осуществляется путем настройки соответствующих параметров конфигурации Системы. Авторизация с вводом кода подтверждения реализована с помощью публичного API. Таким образом, эту функциональность при необходимости можно добавить в интегрированные с Loymax клиентские сервисы — Личный кабинет, Мобильное приложение.
Единая точка доступа в Систему
Доступ пользователя в Систему может быть ограничен одним активным сеансом, то есть под одной учетной записью одновременно может работать только один пользователь. Если другой пользователь авторизуется под уже активной учетной записью, то активный сеанс будет завершен, начнется новый сеанс для нового пользователя.
По умолчанию данное ограничение снято и может быть установлено пользователем АРМ с правом на редактирование пользователей в настройках для каждой учетной записи. Для этого необходимо отметить чекбокс Разрешен только один активный пользовательский сеанс. Данный механизм позволяет однозначно идентифицировать пользователя, предоставляя ему только одну точку доступа в систему.
Политика разграничения прав доступа
В системе Loymax реализовано разграничение прав доступа к различным разделам и функциональности. Для этого используется коллекция прав и их комбинации, называемые ролями. Администратор имеет возможность назначать роли и отдельные права пользователям в настройках Системы.
Таким образом обеспечивается защита информации от несанкционированного доступа и предоставление пользователям только тех данных, которые им необходимы и достаточны.
Ограничение доступа к скрытой информации
Для просмотра скрытой пользовательской информации (номеров карт, номеров телефонов, кодов подтверждения) пользователь Системы должен обладать специальными правами. Например, операторы Контакт-центра имеют доступ к функциям смены номера телефона, блокировки карт и счетов только при наличии особых прав.
Данный механизм позволяет ограничить доступ к конфиденциальной информации лиц, для которых эти данные являются избыточными.