Проверка входа
Как выполняется проверка личности при входе в систему
Конфигурация
identity_validation:
elevated_session: {}
reset_password: {}
Методы проверки защищают две области:
Elevated Session
, которая не позволяет вошедшему в систему пользователю выполнять привилегированные действия без предварительного подтверждения своей личности.
Reset Password
— Сброс пароля, который не позволяет анонимному пользователю выполнить сброс пароля для пользователя без предварительного подтверждения его личности.
1 - Elevated Session
Elevated Session (Повышенная сессия) — это механизм безопасности в Authelia, который требует дополнительной проверки личности пользователя при выполнении критически важных действий, связанных с безопасностью аккаунта.
Elevated Session (Повышенная сессия) — это механизм безопасности в Authelia, который требует дополнительной проверки личности пользователя при выполнении критически важных действий, связанных с безопасностью аккаунта. Это предотвращает несанкционированные изменения, даже если злоумышленник получил доступ к сессии пользователя.
Как это работает?
Пользователь пытается выполнить важное действие, например:
- Смена пароля
- Настройка 2FA (TOTP, WebAuthn)
- Изменение email или других персональных данных
- Доступ к критическим разделам
Authelia запрашивает повторную аутентификацию:
- Ввод пароля
- Подтверждение через 2FA (если включено)
- Проверка биометрии (для WebAuthn)
Создается “повышенная сессия” на ограниченное время (по умолчанию — 5 минут), в течение которой пользователь может выполнять защищенные действия.
Конфигурация
identity_validation:
elevated_session:
code_lifespan: '5 minutes'
elevation_lifespan: '10 minutes'
characters: 8
require_second_factor: false
skip_second_factor: false
Опции
code_lifespan
Срок действия случайно сгенерированного одноразового кода, после которого он считается недействительным
elevation_lifespan
Время жизни возвышения после первоначальной проверки одноразового кода до истечения срока его действия.
characters
Количество символов в случайном одноразовом коде. Максимальное значение на данный момент составляет 20, но мы рекомендуем держать его в диапазоне от 8 до 12. Уменьшать значение ниже 8 крайне не рекомендуется.
require_second_factor
Требуется аутентификация по второму фактору для всех защищенных действий в дополнение к повышенному сеансу, если пользователь настроил метод аутентификации по второму фактору.
skip_second_factor
Пропускает требование повышенной сессии, если пользователь выполнил аутентификацию по второму фактору. Можно комбинировать с параметром require_second_factor, чтобы всегда (и только) требовать аутентификацию по второму фактору.
2 - Reset password
Функция Reset Password в Authelia предназначена для безопасного восстановления доступа к аккаунту, если пользователь забыл пароль.
Основное назначение
- Позволяет пользователям самостоятельно сбросить пароль без вмешательства администратора.
- Альтернатива ручному сбросу через базу данных или LDAP.
- Интегрируется с email-уведомлениями для подтверждения личности.
Как это работает?
- Пользователь нажимает “Забыли пароль?” на странице входа.
- Authelia отправляет письмо с уникальной ссылкой для сброса (JWT-токен с ограниченным сроком действия).
- При переходе по ссылке открывается форма ввода нового пароля.
- После подтверждения пароль изменяется в выбранном бэкенде (LDAP, MySQL, PostgreSQL и т.д.).
Конфигурация
identity_validation:
reset_password:
jwt_secret: ''
jwt_lifespan: '5 minutes'
jwt_algorithm: 'HS256'
Опции
jwt_secret
Секрет, используемый алгоритмом HMAC для подписи JWT. Это значение должно представлять собой произвольную случайную строку с печатаемыми символами ASCII.
Настоятельно рекомендуется, чтобы это была случайная буквенно-цифровая строка из 64 или более символов.
jwt_lifespan
Время жизни JSON Web Token после его первоначальной генерации, по истечении которого он считается недействительным.
jwt_algorithm
Алгоритм JSON Web Token, используемый для подписи JWT. Должен быть HS256, HS384 или HS512.