Веб-служба для проверки одноразовых паролей
YubiCloud
Сервис, предназначенный для проверки одноразовых паролей OTP. Их можно использовать либо для двухфакторной аутентификации, либо вместо основного пароля. Вы можете использовать YubiCloud или создать собственный сервер.
Непрерывная работа
Служба расположена на нескольких континентах.
Быстрая и доступная защита
Бесплатная интеграция веб-API менее чем через час.
Что такое YubiCloud
Совместим с сериями аппаратных ключей YubiKey 5иYubiKey FIPS
YubiCloud – это название сервиса, созданного для проверки одноразовых паролей OTP. Их можно использовать либо для двухфакторной аутентификации, либо вместо основного пароля. Шаблон использования в сочетании с паролем будет обычно выглядеть следующим образом.
Для начала работы с сервисом вам нужно будет получить ключи API — это происходит бесплатно, быстро и помогает предотвратить ошибки.
Преимущество YubiCloud сервиса — простая интеграция и готовность имеющихся пользователями ключей YubiKey к проверке популярными службами, такими как Google Ads, менеджеры паролей LastPass и т.д.
По желанию вместо YubiCloud можно использовать посторонние реализации, такие как есть, например, на GitHub. Преимущество вашего сервера в том, что вы можете самостоятельно контролировать все ключи AES*, запрограммированные в YubiKey.
* Это симметричный алгоритм блочного шифрования (размер блока 128 бит, ключ 128/192/256 бит).
Чтобы обеспечить бесперебойную работу сервиса YubiCloud, компания Yubico использует пять распределенных серверов, которые синхронизированы между собой. Статус работы службы можно проверить по этой ссылке.
Преимущества использования OTP
- Надежная и безопасная двухфакторная или однофакторная аутентификация. Секрет сохраняется непосредственно на ключах YubiKey, где его невозможно скопировать или украсть.
- Не требует клиентского программного обеспечения. Для ввода OTP требуется строка. И если есть строка для пароля, значит, можно присылать и OTP-пароль.
- Встроенный идентификатор YubiKey. Таким образом, можно осуществлять самоинициализацию и аутентификацию от имени пользователя.
- Легкая реализация. Если вы используете сервис YubiCloud, поддержка OTP так же проста, как поддержка паролей.
Чтобы создать собственный сервер проверки (или модуля проверки подлинности), нужно предусмотреть много факторов. Далее рассмотрим приблизительную сокращенную схему разработки модуля аутентификации, который уже реализован в Yubico, для понимания, на что обращать внимание при его создании. Или более развернутую инструкцию на украинском языке вы можете получить здесь.
Рекомендации по созданию собственного сервера
При разработке модуля необходимо учитывать режимы аутентификации, масштабирования, обеспечения и администрирования ключей.
Режимы аутентификации
Для соответствия многим отраслевым стандартам вам потребуется настроить двухфакторную аутентификацию. Этого может быть достаточно. Но если вы разрабатываете модуль аутентификации на базе YubiKey, то рекомендуем использовать 4 режима аутентификации в соответствии с ролями ваших пользователей и требованиями вашей политики безопасности:
Имя пользователя + пароль
Этот режим не является самым безопасным, но в некоторых случаях может быть достаточно для потребительских целей пользователей и упрощения процедуры регистрации.
Имя пользователя или OTP YubiKey + пароль
В этом случае можно упростить процесс входа в систему. Метод достаточно безопасен, особенно в случае использования сложных паролей и хранения их в надежном месте (хранилище).
Имя пользователя + пароль + OTP YubiKey
Это один из самых безопасных режимов. Его обычно устанавливают как стандартный. Мы также рекомендуем рассмотреть такой параметр административной конфигурации: сделать пароль необязательным, пока YubiKey не будет назначен учетной записи пользователя. Это упростит процедуру администрирования в крупных компаниях, предоставив новым пользователям период времени до перехода на более усиленные методы аутентификации.
Только OTP YubiKey
Еще более упрощена процедура входа при использовании только YubiKey ID. Но существует опасность, что в случае похищения ключа злоумышленник попадет в систему. Конечно, процедура будет для него сложной: понадобится проникнуть непосредственно в офис компании, узнать, где жертва держит ключ и в какие именно сервисы заходит. Но заметьте, что опасность взлома в этом случае существует.
Следующие шаги
Следующими шагами создания собственного сервера являются масштабирование и администрирование.
Масштабирование
Вы должны предусмотреть разрастание организации, даже если сегодня у вас всего до двух десятков сотрудников и немного потребителей. Так как количество пользователей сервиса может внезапно возрасти от нескольких сотен до нескольких миллионов. Например, как это произошло с лавинообразным ростом популярности ChatGPT.
Поэтому на начальном этапе желательно рассмотреть варианты разработки модулей, работающих во фреймворках, которые могут поддержать не менее 10 000 пользователей. Дополнительно рассмотрите возможность иерархической структуры для администрации и службы поддержки, чтобы в случае разрастания структуры каждый имел соответствующие роли и доступы в рамках политики безопасности.
Администрирование ключей
В администрирование ключей входят следующие функции:
- создание сертификата открытого ЭЦП ключа, позволяющего заверять процессы через интернет;
- замена паролей для доступа к секретному ЭЦП ключа в хранилище ключей;
- изменение номера секретного ЭЦП ключа в хранилище ключей;
- удаление ЭЦП ключа из хранилища ключей.
Следует предусмотреть администрирование таким образом, чтобы администратор имел возможность связывать ключи YubiKey с учетными записями пользователей. Особенно при предоставлении доступов сотрудникам.
Важно обеспечить уменьшение нагрузки администрирования при разрастании команды и потребителей. Для этого следует дать возможность самостоятельной настройки пользователями (т.е. увязывание ключа с учетной записью). В такой модели пользователь должен иметь возможность аутентифицироваться другим образом до привязки ключа — как правило, с помощью логина и пароля.
Рекомендации по внедрению
По возможности модуль проверки подлинности может быть разработан как плагин. Следите, чтобы он не использовался путем изменения файлов на основной платформе. В этом случае можно предотвратить взлом при обновлении базовой платформы приложений.
Установка
Администратор должен иметь возможность установить, настроить и запустить модуль YubiKey из консоли администратора.
Установка модуля должна быть простой. Для этого нужно провести следующие мероприятия:
- Необходимо определить параметры конфигурации по предварительной опции модуля.
- Все модификации базы данных, такие как создание новых таблиц, определение конфигурации модуля и т.п., следует производить без влияния на другие модули.
- Основываясь на требованиях базовой платформы программы, модуль должен быть зарегистрирован в приложении.
- Предпочтительно, чтобы сценарий установки обеспечивал поддержку всех систем баз данных, поддерживаемых базовой платформой программ.
Удаление
Попытайтесь предусмотреть элегантный способ удаления модуля аутентификации, если в этом возникнет необходимость. Сервер должен предложить администратору сохранить резервную копию данных, использующую модуль. Это должно быть не обязательной функцией, с возможностью выбора по усмотрению администратора. Сам процесс удаления модуля аутентификации не должен влиять на работу других приложений.
Конфигурация
После установки при включении модуля аутентификации администратор должен иметь возможность настроить глобальные параметры:
- Режим аутентификации YubiKey;
- Службу проверки использования;
- Возможность включить/выключить модуль.
В модуле должны быть предусмотрены следующие настройки:
- Один из четырех режимов аутентификации (о которых мы упоминали выше).
- Настройка службы проверки.
Если другое не было задано, это может быть сервис службы проверки Yubico, в котором есть следующие параметры: ключи API; индикатор API; Https, тайм-аут. Если администратор использует внутреннюю проверку OTP, в его интерфейсе должны быть схожи возможности настройки и URL для внутренних экземпляров серверов проверки.
Управление ключами
Модуль проверки подлинности должен обеспечить простое управление профилями пользователей. Рекомендуем настраивать сведения о них в табличном формате:
- Имя пользователя;
- YubiKey ID;
- Статус: активный/деактивированный;
- Действие: активировать/деактивировать или удалить.
Для удобства можно добавить другую информацию, например последнее время использования профиля, обращение в службу поддержки, особые примечания и т.д. Также рекомендуем добавить удобную функцию поиска по имени, ID или активности пользователей.
Модуль должен предусматривать функцию легкой блокировки профилей для предотвращения доступа неавторизованным лицам, если ключи будут ими похищены. При этом подлинный пользователь должен быть предупрежден через сообщение. Также пользователи должны иметь возможность предупредить о потере ключа нажатием кнопки при попытке авторизации.
Должна быть функция дополнительной проверки пользователя, например по одноразовой ссылке на почту, после которой предоставлена возможность сбросить ключ и использовать дополнительный.
Оборудование YubiKey
Для реализации функции OTP-паролов вам нужно использовать совместимые аппаратные устройства:
Преимущества устройств YubiKey:
- Поддержка протоколов FIDO U2F, FIDO2, благодаря которым возможно подключение однофакторной, многофакторной или беспарольной аутентификации;
- Поддержка Yubico OTP, OATH-HOTP, OATH-TOTP;
- Режим смарт-карты;
- Стандарт OpenPGP;
- Совместимость с сотнями популярных сервисов;
- Нановерсии ключей безопасности и аппаратный модуль, компактные и ультраудобные.
Ключи серии FIPS, кроме вышеперечисленных преимуществ, поддерживают стандарт FIPS 140-2 (соответствует повышенным требованиям к безопасности согласно стандартам проверки безопасности США). Поэтому они могут быть предоставлены по отдельному заказу.
Чтобы заказать соответствующие устройства для корпоративных решений или получить ответы на свои вопросы, отправьте нам заявку.
Наши специалисты свяжутся с вами в ближайшее время, предоставят всю необходимую информацию и помогут подобрать подходящие устройства для защиты вашего бизнеса.