Зміст
- 1
Введення - 2
Вбудовування модуля в конфігурацію 1С - 3
Налаштування модуля- 3.1
Створення бота і отримання сертифіката. - 3.2
Настройка параметрів модуля
- 3.1
- 4
Технічні аспекти реалізації модуля - 5
Висновок
Введення
Зручність використання корпоративних інформаційних систем з будь-якої точки землі по мережі інтернет незаперечно і, найчастіше, необхідність самого доступу з використанням мобільних пристроїв, необхідна керівництвом, зводить на «ні» і без того боязкі спроби внутрішніх ІТ-служб компаній забезпечити збереження корпоративних секретів в умовах обмежених бюджетів.
Фінансові втрати від розкриття конфіденційних даних, між тим, можуть бути вельми відчутні і, якщо «всередині» корпоративної мережі ви можете застосувати безліч спеціалізованих рішень та/або просто правильно організувати процеси та інфраструктуру, то з мережі інтернет, і використовуючи особисті мобільні пристрої (стихійний BYOD ніхто не відміняв), ви відкриті безлічі загроз і способів отримання ваших логінів і паролів.
ІТ-менеджер компанії може намагатися чинити опір і обмежувати використання корпоративних інформаційних систем з мобільних пристроїв у мережі інтернет, але така позиція явно приречена на провал і навіть може бути названа луддизмом.
Ми, в компанії «Айді — Технології управління», розуміючи, що не можна осягнути неосяжне (всі загрози), але проблема існує, звернули увагу на компромісне рішення — двофакторну аутентифікацію, яка дозволяє з невеликими змінами корпоративних систем, зробити доступ до них на порядок безпечніше.
За визначенням «Лабораторії Касперського» двофакторна аутентифікація — це система доступу, заснована на двох «ключі»: одним ви володієте (телефон, на який приходить SMS з кодом), інший запам’ятовуєте (звичайні логін і пароль).
SMS, на наш погляд, можна визнати анахронізмом і замінити месенджером Telegram, який представлений практично на всіх платформах, зручний і безкоштовний.
25 червня Telegram запустив Bot API (інтерфейс) і платформу для сторонніх розробників для створення ботів.
Боти — звичайні акаунти Telegram, керовані програмою і не вимагають прив’язки до телефонним номером.
Використовуючи даний програмний інтерфейс фахівці нашої компанії створили додаток (модуль) для конфігурацій 1С дозволяє в повній мірі використовувати двофакторну аутентифікацію. Даний модуль можна з легкістю інтегрувати в існуючі конфігурації 1С, побудовані на керованих формах. Модуль містить параметри (див. малюнок 1), дозволяють настроїти використання двофакторної аутентифікації користувачів і режимів запуску 1С (тонкий клієнт і веб-клієнт).

Для роботи модуля необхідно наявність у користувачів клієнтського додатка Telegram на мобільному пристрої.
Процес автентифікації з використанням модуля виглядає наступним чином:
1. Користувач при вході в програму на платформі 1С вводить стандартний «Логін» і «Пароль».

2. Виводиться форма для виконання запиту на отримання коду підтвердження користувача. Після виконання запиту в месенджер Telegram надсилається згенерований модулем одноразовий код для аутентифікації.

3. Користувач на своєму мобільному пристрої в чаті зі спеціалізованим ботом отримує повідомлення з кодом підтвердження.
4. Користувач вводить отриманий код у вікні програми на платформі 1С для підтвердження.

Після успішного проходження двофакторної аутентифікації користувач отримує можливість працювати з додатком.
Вбудовування модуля в конфігурацію 1С
Вбудовування модуля проводиться звичайним об’єднанням з робочою конфігурацією.
1. Увімкніть можливість зміни конфігурації.
2. Відкрийте конфігурацію в конфігураторі. Виберіть пункт меню «Конфігурація» — «Порівняти, об’єднати з конфігурацією з файлу». Виберіть файл конфігурації з двофакторної аутентифікацією (дивись малюнок 6).
3. У вікні, зніміть прапорець з кореня конфігурації, як на малюнку нижче. Далі натисніть кнопку «Дії» і виберіть пункт «Відзначити по підсистемах файлу».

4. Встановіть галочку навпроти «ДвухфакторнаяАутентификацияТелеграм» та натисніть кнопку «Встановити».

5. Натисніть кнопку «Виконати».

6. Відкрийте модуль додатку. Знайдіть процедуру «ПередНачаломРаботыСистемы» або створіть при її відсутності. Вставте наступний виклик:

7. Налаштуйте права. Для користувача із правами додайте роль «АдминистрированиеДвухфакторнойАутентификациителеграм». Для решти користувачів додайте роль «ДвухфакторнаяАутентификацияТелеграм».
Налаштування модуля
Створення бота і отримання сертифіката.
Для створення бота необхідно клієнта Telegram знайти бота @BotFather і з допомогою команди /newbot створити свого бота, задавши його ім’я і отримавши в результаті токен для управління і роботи з ботом через API. Приклад нижче на малюнку.

Настройка параметрів модуля

Для налаштування модуля необхідно включити його використання і вказати ряд налаштувань:
- Ім’я бота (використовується для відображення користувачу при першому вході);
- Токен бота;
- Варіант використання двофакторної аутентифікації користувачів — «Використовувати»:
- «Всіх користувачів (+виключення)»;
- «Список користувачів».
- Варіант вказівки режимів запуску — «Використовувати для варіантів запуску»:
- «Всіх» — режими запуску налаштовуються в цілому для всіх користувачів;
- «Задається для користувача» — режими запуску налаштовуються індивідуально для кожного користувача.
- Для кожного користувача, для якого включена двофакторна аутентифікація, повинно бути зазначено Ім’я (Телеграм)» (поле «Username» у персональних налаштуваннях месенджера).
Технічні аспекти реалізації модуля
Розглянувши Telegram Bot API, ми зупинилися на використанні двох методів, це getUpdates і sendMessage.
Для відправки повідомлення користувачу за допомогою методу sendMessage нам необхідно знати його ідентифікатор. В силу того, що користувач не знає свого ідентифікатора, але знає свій «UserName» (задається в клієнті Telegram), ми задіяли другий метод getUpdates, для його визначення. Для цього в налаштуваннях модуля необхідно задати імена користувачів у Telegram.
При першому вході в програму з використанням двофакторної аутентифікації, ми просимо надіслати користувача будь-яке повідомлення боту і підтвердити його в програмі. З використанням методу «getUpdates», який повертає список повідомлень, надісланих користувачами нашого боту, ми знаходимо дане повідомлення, витягаємо ідентифікатор користувача, і зберігаємо його в налаштуваннях модуля. Надалі даний код використовується для відправки кодів підтверджень користувачеві.
Даний модуль слід використовувати з версією платформи 8.3.6.1977 і вище, т. к. застосовуються платформні методи роботи з JSON.
Змінена версія модуля на v1.1. Внесено зміни при роботі з веб клієнтами.
Висновок
Чекаємо ваших відгуків, критики і побажань під катом.
