Застосування двофакторної аутентифікації при підключенні до 1С

    Ð”вухфакторная аутентификация
 
Багато хто з клієнтів нашої компанії сильно стурбовані питанням безпеки доступу до 1С через інтернет. Особливо загострює цю проблему ситуація, коли бухгалтера зберігають свій пароль на стікері, приліплені на монітор. При такому розкладі введення додаткових вимог до складності пароля і регулярного його зміни погоди не робить.
 
Щоб максимально виключити вплив людського фактора мені поставили завдання організувати двухфакторную аутентифікацію для веб-доступу до 1С. Нижче детально про те, як це працює.
 
Першим фактором аутентифікації є логін і пароль користувача. В якості другого фактора аутентифікації ми будемо використовувати одноразові паролі, що передаються у вигляді SMS-повідомлень на телефон зареєстрованого користувача. Використання SMS в якості транспорту — досить зручне і поширене рішення.
 
Поряд з SMS ми протестували варіант використання токенів і варіант отримання пароля електронною поштою. Токени — не саме зручно рішення, оскільки доводиться купувати окремий токен для кожного користувача і ставити на комп'ютери користувачів додаткове ПЗ. Варіант отримання паролів електронною поштою відпав через те, що не у всіх наших користувачів є доступ до електронної пошти в той момент часу, коли вони хочуть авторизуватися в 1С. У кінцевому рахунку для отримання одноразових паролів вирішили використовувати SMS як найбільш просте і зручне рішення.
 
У результаті вийшло ось що. З точки зору користувача схема роботи виглядає так:
 
Доступ до 1С надається за прямим посиланням до бази даних. При переході відразу відкривається вікно авторизації, воно вимагає ім'я користувача та пароль. На даному кроці відбувається перевірка існування даного користувача і наявності у нього права для доступу до сайту.
 
 ÐÐ²Ñ‚оризация пользователя
 
Після цього авторизованому користувачеві відправляється код по SMS.
 
 SMS код
 
Далі користувач повинен ввести отриманий в СМС цифровий шестизначний код. Час на введення коду — 3 хвилини.
 
 Ð’торой фактор аутентификации
 
Після введення коду користувач перенаправляється на сайт, де може авторизуватися в 1С.
 
 ÐžÐºÐ½Ð¾ авторизации в 1С
 
Завантажувальний екран… ще трохи :)
 
 Ð—агрузка 1С
 
Готово! Можна приступати до роботи!
 
 1С
 
Схематично рішення двофакторної аутентифікації являє собою наступне:
 
 Ð¡Ñ…ема решения двухфакторной аутентификации
 
Розглянемо алгоритм роботи системи:
 
 
     
  1. Користувач підключається за отриманим посиланням до проксі серверу, вводить свій логін і пароль.
  2.  
  3. UAG передає логін / пароль сервера Swivel по RADIUS протоколу. RADIUS протокол — це протокол аутентифікації, який дозволяє різним системам проводити аутентифікацію доступу до своїх ресурсів.
  4.  
  5. Swivel перевіряє наявність такого користувача, правильність пароля, і повідомляє UAG про успіх / неуспіх першого етапу аутентифікації.
  6.  
  7. При успішному першому етапі Swivel відправляє одноразовий код через SMS шлюз.
  8.  
  9. Користувач отримує код на свій телефон і вводить його на проксі сервері.
  10.  
  11. UAG передає код сервера Swivel і отримує відповідь про успіх / неуспіх другого етапу аутентифікації.
  12.  
  13. При успішному введенні коду користувач отримує доступ до Web сервера 1С.
  14.  
З усього розмаїття серверів, зображених на схемі, найбільший інтерес, на мій погляд, представляє сервер двофакторної аутентифікації Swivel. Він підтримує найрізноманітніші методи аутентифікації, включаючи мобільний додаток, SMS, токени OATH і дзвінок по телефону, а також сувору аутентифікацію за допомогою показу зображень в браузері. У нашій реалізації використана передача одноразових паролів через SMS. Крім того, ПО Swivel інтегрується з великою кількістю різних додатків і серверів, має обширну базу знань з налаштування та рішенням можливих проблем.
 
У процесі вибору продукту для двокроковий аутентифікації поряд зі Swivel мені довелося розглянути варіанти RSA і Aladdin. RSA — досить дорогий продукт з широким спектром можливостей, що для нашої задачі як з гармати по горобцях палити. Aladdin і Swivel схожі по функціоналу і знаходяться в одному ціновому діапазоні. Основна відмінність Swivel полягає в тому, що у Swivel ліцензія постійна, у Аладдіна — річна або дворічна. У підсумку я зупинився на сервері і програмному продукті Swivel. Ось кілька скріншотів консолі управління сервером:
 
 ÐžÐºÐ½Ð¾ статуса
 
 Ð£Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ параметрами двухфакторной аутентификации
 
 ÐŸÐ¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ репозитория с пользователями (Active Directory)
 
 Ð£Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ пользователями
 
Сподіваюся, я максимально повно розкрив отримане рішення, пишіть свої запитання.
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.