Применение двухфакторной аутентификации при подключении к 1С

в 15:00, , рубрики: Блог компании ИТ-ГРАД, двухфакторная аутентификация, информационная безопасность, Сетевые технологии, метки:

Двухфакторная аутентификация

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

Чтобы максимально исключить влияние человеческого фактора мне поставили задачу организовать двухфакторную аутентификацию для веб-доступа к 1С. Ниже подробно о том, как это работает.

Первым фактором аутентификации является логин и пароль пользователя. В качестве второго фактора аутентификации мы будем использовать одноразовые пароли, передаваемые в виде SMS-сообщений на телефон зарегистрированного пользователя. Использование SMS в качестве транспорта — довольно удобное и распространенное решение.

Наряду с SMS мы протестировали вариант использования токенов и вариант получения пароля по электронной почте. Токены — не самое удобно решение, так как приходится покупать отдельный токен для каждого пользователя и ставить на компьютеры пользователей дополнительное ПО. Вариант получения паролей по электронной почте отпал из-за того, что не у всех наших пользователей есть доступ к электронной почте в тот момент времени, когда они хотят авторизоваться в 1С. В конечном счете для получения одноразовых паролей решили использовать SMS как наиболее простое и удобное решение.

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

Доступ к 1С предоставляется по прямой ссылке до базы данных. При переходе сразу открывается окно авторизации, оно требует имя пользователя и пароль. На данном шаге происходит проверка существования данного пользователя и наличия у него права для доступа к сайту.

Авторизация пользователя

После этого авторизованному пользователю отправляется код по SMS.

SMS код

Далее пользователь должен ввести полученный в СМС цифровой шестизначный код. Время на ввод кода — 3 минуты.

Второй фактор аутентификации

После введения кода пользователь перенаправляется на сайт, где может авторизоваться в 1С.

Окно авторизации в 1С

Загрузочный экран… еще чуть-чуть:)

Загрузка 1С

Готово! Можно приступать к работе!

1С

Схематично решение двухфакторной аутентификации представляет собой следующее:

Схема решения двухфакторной аутентификации

Рассмотрим алгоритм работы системы:

  1. Пользователь подключается по полученной ссылке к прокси серверу, вводит свой логин и пароль.
  2. UAG передает логин/пароль серверу Swivel по RADIUS протоколу. RADIUS протокол – это протокол аутентификации, который позволяет различным системам проводить аутентификацию доступа к своим ресурсам.
  3. Swivel проверяет наличие такого пользователя, правильность пароля, и сообщает UAG об успехе/неуспехе первого этапа аутентификации.
  4. При успешном первом этапе Swivel отправляет одноразовый код через SMS шлюз.
  5. Пользователь получает код на свой телефон и вводит его на прокси сервере.
  6. UAG передает код серверу Swivel и получает ответ об успехе/неуспехе второго этапа аутентификации.
  7. При успешном вводе кода пользователь получает доступ к Web серверу 1С.

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

В процессе выбора продукта для двухшаговой аутентификации наряду со Swivel мне довелось рассмотреть варианты RSA и Aladdin. RSA — довольно дорогой продукт с широким спектром возможностей, что для нашей задачи как из пушки по воробьям палить. Aladdin и Swivel похожи по функционалу и находятся в одном ценовом диапазоне. Основное отличие Swivel состоит в том, что у Swivel лицензия постоянная, у Аладдина – годовая или двухгодичная. В итоге я остановился на сервере и программном продукте Swivel. Вот несколько скриншотов консоли управления сервером:

Окно статуса

Управление параметрами двухфакторной аутентификации

Подключение репозитория с пользователями (Active Directory)

Управление пользователями

Надеюсь, я максимально полно раскрыл полученное решение, пишите свои вопросы.

Автор: it_man

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js