TOTP (RFC 6238) с поддержкой Яндекс.Ключ, Google Authenticator, Microsoft Authenticator и других приложений. Несколько устройств, резервные коды, обязательность по группам, админка и публичная часть.
1. Описание работыНазначение
Модуль добавляет второй фактор входа по стандарту TOTP: после логина и пароля пользователь вводит одноразовый код из приложения-аутентификатора (или резервный код). Работает в административной части и на витрине, не требует обязательного модуля «Проактивная защита».
Типовые сценарии- Вход с уже подключённой 2FA. Пользователь вводит логин/пароль → система открывает страницу подтверждения → ввод 6-значного кода (или резервного) → сессия помечается как прошедшая 2FA → редирект на исходный URL (админка или сайт).
- Обязательная 2FA без устройств. Если пользователь входит в группу из настройки «обязательные группы», а устройств ещё нет, после пароля его направляют на страницу подключения (QR + два кода подряд).
- Добровольное подключение. Через компонент ecl:yandex2fa.setup в личном кабинете или через URL setup: генерация секрета, QR otpauth://totp/..., подтверждение двумя кодами, выдача резервных кодов один раз.
- Несколько устройств. На аккаунт можно добавить несколько аутентификаторов (лимит настраивается). Удаление/отключение с учётом политики «обязательна для группы».
- Повторный вход в срок доверия. После успешной 2FA действует trust-сессия (минуты из настроек), чтобы не запрашивать код на каждом хите в рамках TTL.
Безопасность (кратко)
- Секреты устройств хранятся на сервере в защищённом виде; резервные коды — только как хеши (plaintext показывается один раз при выдаче).
- Окно проверки TOTP (±N периодов по 30 сек), защита от повторного использования одного шага (replay).
- Лимит попыток ввода и временная блокировка по настройкам.
- Опционально — приём кода только по HTTPS.
- Доверие после 2FA — в отдельной таблице модуля, не в b_option.
- Критичные действия пишутся в журнал модуля.
Служебные URL
| Назначение | Путь по умолчанию |
|---|---|
| Ввод кода (challenge) | /bitrix/tools/ecl_yandex2fa_auth.php |
| Подключение 2FA | /bitrix/tools/ecl_yandex2fa_setup.php |
| AJAX setup | /bitrix/tools/ecl_yandex2fa_setup_ajax.php |
URL challenge/setup можно переопределить в настройках модуля. Для встраивания в шаблон сайта удобнее компоненты (см. раздел 3).
2. Настройки и страницы в админке2.1. Настройки модуля
Путь: Настройки → Настройки продукта → Настройки модулей → Двухфакторная авторизация (Google / Яндекс.Ключ) (EcomLabs) (или пункт меню модуля «Настройки»).
| Параметр | Смысл · значение по умолчанию |
|---|---|
| Модуль включён | Глобальный выключатель 2FA без удаления модуля. По умолчанию N (после установки нужно включить). |
| Только HTTPS | Не принимать проверку кода по HTTP. По умолчанию N. |
| Группы, для которых 2FA обязательна | Мультивыбор групп пользователей. Для этих групп без активного устройства вход не завершится — увод на setup. По умолчанию группа администраторов (1). |
| Окно проверки, периодов ± | Допуск по времени TOTP (период 30 сек). Обычно 1. |
| Алгоритм HMAC | Для новых подключений: SHA-1 / SHA-256 / SHA-512. Google Authenticator — только SHA-1. По умолчанию sha1. |
| Количество резервных кодов | 8–20 штук при enroll / перевыпуске. По умолчанию 10. |
| Максимум устройств на пользователя | 1–20. По умолчанию 5. |
| Срок доверия сессии после 2FA, минут | TTL trust после успешного кода. По умолчанию 720 (12 часов). |
| Попыток ввода до блокировки | Неуспешные verify подряд. По умолчанию 5. |
| Блокировка, секунд | Пауза после исчерпания попыток. По умолчанию 900. |
| Издатель (issuer) | Подпись в приложении. Пусто — имя сайта из настроек main. |
| ASCII-лейблы в QR | Транслит кириллицы в label/issuer для приложений с кривой UTF-8 (например Drop Authenticator). Google / Яндекс.Ключ обычно UTF-8 переваривают. |
| URL страницы ввода кода | По умолчанию /bitrix/tools/ecl_yandex2fa_auth.php. |
| URL страницы подключения 2FA | По умолчанию /bitrix/tools/ecl_yandex2fa_setup.php. |
| Инструкция для пользователя | Текст подсказок; пусто — встроенная инструкция Google Authenticator + Яндекс.Ключ. |
Пункт меню модуля: Пользователи c 2FA.
- Колонки: ID, логин, имя, активность 2FA, число устройств, дата, использование резервных кодов и т.п.
- Действие сброса 2FA пользователя (с подтверждением) — устройства и recovery очищаются, trust сбрасывается.
Пункт меню: Журнал. События enroll, verify, recovery, ошибки, сбросы. Колонки: дата, пользователь, действие, IP, описание.
2.4. МенюРаздел в админ-меню Bitrix с пунктами: Настройки, Пользователи, Журнал.
3. Описание компонентов3.1. ecl:yandex2fa.auth
Блок подтверждения входа / статуса 2FA. Можно ставить на любую страницу (в т.ч. вместо отдельного tools-URL).
- Гость — предложение сначала войти логином и паролем.
- Нужен код — форма TOTP / recovery.
- Уже verified — сообщение, что повторный ввод не нужен (если включено параметром).
- 2FA не требуется / модуль выключен — соответствующие статусы.
Параметры (основные):
- AJAX_MODE — режим AJAX, по умолчанию Y.
- SHOW_VERIFIED — показывать блок, если вход уже подтверждён.
- Кеш: стандартные CACHE_TYPE / CACHE_TIME.
Подключение и управление устройствами: список, «Подключить» / «Добавить устройство», QR, два кода, резервные коды (один раз), удаление устройства, перевыпуск recovery, отключение 2FA (если разрешено политикой группы).
- Работает автономно на странице профиля /tools/setup.
- AJAX_MODE по умолчанию Y — действия через ecl_yandex2fa_setup_ajax.php.
- На tools-странице — центрированная карточка и кнопка «Вернуться на сайт».
- Поддержка композита.
Установка через Маркетплейс в админке
- Войдите в административную часть сайта под пользователем с правом установки модулей.
- Откройте Marketplace → Установленные решения (или Marketplace → Каталог решений, если модуль публикуется в каталоге).
- Для локальной установки из архива: Marketplace → Установка из ZIP (или загрузка решения) — укажите пакет модуля ecl.yandex2fa.
- Дождитесь копирования файлов, создания таблиц и регистрации событий. При необходимости пройдите мастер установки модуля.
- Перейдите в Настройки модулей → ecl.yandex2fa, включите «Модуль включён», задайте обязательные группы и при необходимости URL/issuer.
- Проверьте вход администратора: после пароля должен появиться setup или challenge; подключите приложение и сохраните резервные коды.
- При обновлении залейте новую версию поверх / через механизм обновлений Маркетплейса, сбросьте кеш Bitrix (и композит, если включён).
При удалении модуля мастер предложит сохранить или удалить данные (таблицы устройств, recovery, trust, лог). События и файлы tools/components отключаются штатно.
Требования| Платформа | 1С-Битрикс: Управление сайтом (от редакции «Старт» и выше), 1С-Битрикс24 (коробка) |
|---|---|
| Модуль main | ≥ 23.0 (D7, EventManager, Option) |
| PHP | 8.2 и выше |
| Расширения PHP | OpenSSL (HMAC для TOTP), стандартные расширения Bitrix |
| БД | MySQL/MariaDB (таблицы модуля: устройства, recovery, trust, лог) |
| Рекомендации | HTTPS на боевом сайте; синхронизация времени сервера (NTP) для TOTP; современные браузеры |
Совместимость приложений: Яндекс.Ключ / Яндекс ID, Google Authenticator, Microsoft Authenticator, Aegis, andOTP и другие клиенты с поддержкой otpauth://totp.
Поддержка осуществляется по будням с 8:00 до 17:00 по московскому времени. Скорость ответа зависит от загруженности команды и сложности вопроса, но в среднем составляет 1-2 рабочих дня.
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.