Страница 1 из 1

Сервер двухфакторной авторизации: WebAuthn с FIDO2 (глеввид)

Добавлено: 16 май 2024, 22:22
ya
Сервер двухфакторной авторизации: WebAuthn с FIDO2 (глеввид)

Сервер FIDO2(WebAuthn) официально сертифицирован FIDO Alliance.
https://github.com/line/line-fido2-server

Экспериментальный сервер единого входа (SSO) с многофакторной аутентификацией для OAuth2 и аутентификацией OpenID Connect.
https://github.com/babelouest/glewlwyd
Инструкция по установке:
https://github.com/babelouest/glewlwyd/blob/master/docs/INSTALL.md
Инструкция по настройке
https://github.com/babelouest/glewlwyd/blob/master/docs/INSTALL.md#configure-glewlwyd
БД для MariaDB
https://github.com/babelouest/glewlwyd/blob/master/src/scheme/oauth2.mariadb.sql
https://github.com/babelouest/glewlwyd/blob/master/docs/database/upgrade-2.3-core.mariadb.sql
https://github.com/babelouest/glewlwyd/blob/master/docs/database/upgrade-2.2-core.mariadb.sql
https://github.com/babelouest/glewlwyd/blob/master/docs/database/upgrade-2.4-core.mariadb.sql
https://github.com/babelouest/glewlwyd/blob/master/docs/database/upgrade-2.5-core.mariadb.sql
https://github.com/babelouest/glewlwyd/blob/master/docs/database/upgrade-2.6-core.mariadb.sql
Модуль: схема внешнего входа OAuth2/OIDC
https://github.com/babelouest/glewlwyd/blob/master/docs/OAUTH2_SCHEME.md
Реестр модулей плагина:
https://github.com/babelouest/glewlwyd/blob/master/src/plugin/register.mariadb.sql

Код: Выделить всё

mysql glewlwyd < docs/database/upgrade-2.6-core.mariadb.sql
После установки и настройки glewlwyd доступ по адресу:
http://localhost:4593
Логин:admin
Пароль :password
Описание API Глеввида
https://github.com/babelouest/glewlwyd/blob/master/docs/API.md
Оглавление API-интерфейса для glewlwyd

Аутентификация конечных точек
Префикс
Тип содержимого
Ответ об ошибке
Конфигурация
Получить конфигурацию сервера
Управление плагинами и модулями
Получить все доступные модули
Перезагрузить все модули
Получить все доступные экземпляры пользовательских модулей
Получить экземпляр пользовательского модуля
Добавить новый экземпляр пользовательского модуля
Обновите существующий экземпляр пользовательского модуля
Удалить существующий экземпляр пользовательского модуля
Включить или отключить существующий экземпляр пользовательского модуля
Получить экземпляр пользовательского модуля промежуточного программного обеспечения
Добавьте новый экземпляр пользовательского модуля промежуточного программного обеспечения.
Обновите существующий экземпляр модуля промежуточного программного обеспечения пользователя.
Удалить существующий экземпляр пользовательского модуля промежуточного программного обеспечения.
Включить или отключить существующий экземпляр пользовательского модуля промежуточного программного обеспечения
Получить все доступные экземпляры клиентского модуля
Получить экземпляр клиентского модуля
Добавьте новый экземпляр клиентского модуля
Обновите существующий экземпляр клиентского модуля.
Удалить существующий экземпляр клиентского модуля
Включить или отключить существующий экземпляр клиентского модуля
Получить все доступные экземпляры модуля схемы аутентификации пользователя.
Получить экземпляр модуля схемы аутентификации пользователя
Добавьте новый экземпляр модуля схемы аутентификации пользователя.
Обновите существующий экземпляр модуля схемы аутентификации пользователя.
Удалить существующий экземпляр модуля схемы аутентификации пользователя.
Включить или отключить существующий экземпляр модуля схемы аутентификации пользователя.
Получить все доступные экземпляры модулей плагинов
Получить экземпляр модуля плагина
Добавить новый экземпляр модуля плагина
Обновите существующий экземпляр модуля плагина.
Удалить существующий экземпляр модуля плагина
Включить или отключить существующий экземпляр модуля плагина
Управление пользователями
Получить список доступных пользователей
Получить пользователя
Добавить нового пользователя
Обновить существующего пользователя
Удалить существующего пользователя
Управление клиентами
Получить список доступных клиентов
Получить клиента
Добавить нового клиента
Обновить существующий клиент
Удалить существующего клиента
Управление областями действия
Получить список доступных областей действия
Получить объем
Добавить новую область
Обновить существующую область
Удаление существующей области
Управление ключами API
Получить список доступных ключей API
Создайте новый ключ API
Отключить ключ API
Аутентификация пользователя
Аутентификация пользователя с помощью пароля
Аутентификация пользователя с помощью схемы аутентификации
Получить авторизованные области из списка областей для пользователя.
Запустить схему
Замените текущего пользователя другим пользователем, прошедшим аутентификацию в этом сеансе.
Объемы грантов
Получить список предоставленных пользователем областей для клиента.
Обновить область действия, предоставленную клиенту пользователем.
Профиль пользователя
Получить список подключенных профилей
Обновить текущий профиль
Изменить пароль пользователя для текущего профиля
Удалить текущий профиль
Получить список доступных плагинов
Получить сеансы для текущего профиля
Отключить сеанс для текущего профиля
Получить список доступных схем
Зарегистрируйте схему авторизации для текущего профиля
Получить регистрацию по схеме авторизации для текущего профиля
Профильное делегирование
Обновить профиль делегированием
Получение сеансов для профиля путем делегирования
Отключить сеанс для профиля путем делегирования
Получить список плагинов, доступных делегированию
Получить список схем, доступных при делегировании
Регистрация схемы авторизации для профиля путем делегирования
Получить регистрацию по схеме авторизации для профиля делегированием
API схемы аутентификации
Схема ложной аутентификации
Схема аутентификации OTP по электронной почте
Схема аутентификации HOTP/TOTP
Схема аутентификации по паролю
Схема аутентификации WebAuthn
Схема аутентификации сертификата TLS
Документация по схеме Glewlwyd OAuth2
https://github.com/babelouest/glewlwyd/blob/master/docs/OAUTH2_SCHEME.md

Начало работы с Glewlwyd 2.0
https://github.com/babelouest/glewlwyd/blob/master/docs/GETTING_STARTED.md

Архитектура плагинов

Вы можете обновить существующие плагины или добавить новые в зависимости от ваших потребностей. Ознакомьтесь с документацией, доступной для каждого типа плагинов:

Пользовательские серверные модули
https://github.com/babelouest/glewlwyd/blob/master/src/user
Бэкэнд-модули пользовательского промежуточного программного обеспечения
https://github.com/babelouest/glewlwyd/blob/master/src/user_middleware
Клиентские серверные модули
https://github.com/babelouest/glewlwyd/blob/master/src/client
Модули схем аутентификации
https://github.com/babelouest/glewlwyd/blob/master/src/scheme
Плагины (регистрация, плагины OAuth2 или OIDC)
https://github.com/babelouest/glewlwyd/blob/master/src/plugin
Скриншоты Глеввида
https://github.com/babelouest/glewlwyd/tree/master/docs/screenshots

Имеющиеся пакеты в стандартном репозитории debian 11

apt-cache search fido2

Код: Выделить всё

fido2-tools - инструменты командной строки для настройки и использования токена FIDO 2
libfido2-1 - библиотека для генерации и проверки объектов FIDO 2.0
libfido2-dev - библиотека для генерации и проверки объектов FIDO 2.0 -- заголовки
libfido2-doc - библиотека для генерации и верификации объектов FIDO 2.0 -- документация
python3-fido2 - библиотека Python для реализации FIDO 2.0
ruby-webauthn - библиотека рубинового сервера WebAuthn
apt-cache search WebAuthn

Код: Выделить всё

glewlwyd - Однопользовательский сервер с многофакторной аутентификацией
glewlwyd-common - Однопользовательский сервер с многофакторной аутентификацией - общие файлы
ruby-webauthn - Библиотека рубинового сервера WebAuthn

Re: Сервер двухфакторной авторизации: WebAuthn с FIDO2 (глеввид)

Добавлено: 17 май 2024, 10:25
ya
Для настройки Glewlwyd, следуйте этим шагам:

Установите Glewlwyd на вашем сервере с помощью пакетного менеджера (например, apt-get для Ubuntu).

Отредактируйте конфигурационный файл Glewlwyd (обычно находится в /etc/glewlwyd/glewlwyd.conf) с необходимыми параметрами, такими как порт, адрес базы данных и т. д.

Создайте базу данных для Glewlwyd и загрузите начальные данные, используя команду glewlwyd-cli initdb.

Сгенерируйте ключ для доступа к API, используя команду glewlwyd-cli genkey и сохраните его в безопасном месте.

Запустите Glewlwyd сервер, используя команду glewlwyd-server.

Подключитесь к серверу Glewlwyd через веб-интерфейс или используйте API вызовы для управления учетными записями и аутентификацией.

Re: Сервер двухфакторной авторизации: WebAuthn с FIDO2 (глеввид)

Добавлено: 17 май 2024, 11:15
ya
Модульные тесты Glewlwyd
Эти модульные тесты основаны на фреймворке check. Сначала необходимо установить библиотеку check (на Debian/Ubuntu это можно сделать с помощью apt-get install check).

Все юнит-тесты проверяют поведение функциональных возможностей, доступных в REST API. Это означает, что для запуска корректного тестового случая у вас должен быть запущенный экземпляр Glewlwyd на localhost с данными, инициализированными скриптом init.sql.

После того как экземпляр теста будет доступен, вы сможете собрать и запустить каждый тестовый пример. Запустите make test, чтобы запустить все автоматические тесты.

https://github.com/babelouest/glewlwyd/tree/master/test