Вопрос или проблема
Я использую Keycloak 25 для защиты нескольких веб-приложений в нашей компании (Open ID Connect). В Keycloak есть опция “Запомнить меня”, которую можно включить для целой области.
В настоящее время эта опция отключена, из-за чего почти все пользователи хранят свои пароли в веб-браузере (без использования мастер-пароля). Разве не лучше было бы включить эту опцию, дать пользователям больше комфорта и избавиться от паролей в браузере?
Насколько безопасна опция “Запомнить меня” в Keycloak? Вам стоит рекомендовать ее включить?
В общем, опция “запомнить меня” довольно удобна и, скорее всего, побуждает пользователей иметь более сложные пароли, но у нее есть один значительный риск:
Согласно официальной документации KeyCloak:
Вы можете настроить Keycloak так, чтобы сохранять сессию входа пользователя активной, если этот пользователь отметит галочку “Запомнить меня” при входе. Это действие преобразует входной cookie с сессионного cookie в постоянный cookie.
Что означает, что основным риском является компрометация сессии: если этот постоянный cookie будет украден, то возможна имитация пользователя.
В общем, если у вас уже есть строгая политика паролей, опция “запомнить меня” вероятно чуть менее безопасна, однако очевидно, что вы также должны учитывать удобство пользователей.
Ответ или решение
Функция "Запомнить меня" в Keycloak может действительно повысить удобство использования для ваших пользователей, однако необходимо учитывать связанные с ней риски безопасности. Включение этой функции позволит пользователям оставаться в системе даже после закрытия браузера, поскольку будет использоваться не только сессионный, но и персистентный cookie.
Согласно официальной документации Keycloak, когда пользователь устанавливает галочку "Запомнить меня", сессионный cookie преобразуется в персистентный cookie. Это означает, что, оставаясь в системе, пользователь может столкнуться с риском кражи сессионного cookie, что может привести к impersonации (выдаче за другого пользователя).
Основные аспекты безопасности:
-
Риск кражи cookie: Персистентные cookie более уязвимы. Если злоумышленник получит доступ к этому cookie, он сможет получить доступ к учетной записи пользователя без необходимости вводить пароль.
-
Уязвимости браузеров: Большинство современных браузеров имеют механизмы защиты, но уязвимости нередко обнаруживаются, что может повлиять на безопасность данных пользователей.
-
Гарнитуры и общие устройства: Если пользователи работают на общих или общественных устройствах, риск того, что следы их сессий могут быть использованы другими пользователями, значительно возрастает.
-
Неправильное использование: Пользователи могут не осознавать риски, связанные с использованием функции "Запомнить меня", и могут выбрать эту опцию на устройствах, которые не являются их собственными.
Рекомендации:
-
Политика паролей: Убедитесь, что у вас есть строгая политика паролей, чтобы минимизировать риск использования слабых паролей.
-
Двухфакторная аутентификация (2FA): Включите 2FA для всех учетных записей, чтобы повысить уровень безопасности в случае кражи cookie.
-
Обучение пользователей: Проведите обучение для пользователей, чтобы они понимали риски, связанные с использованием функции "Запомнить меня", и предупреждайте их о необходимости выхода из учетной записи на общих устройствах.
-
Мониторинг активностей: Настройте мониторинг аномальных активностей, чтобы быстро реагировать на возможные инциденты безопасности.
В заключение, функция "Запомнить меня" в Keycloak может повысить удобство, но с ней также связаны определенные риски. Если вы примете соответствующие меры безопасности и будете контролировать использование этой функции, вы можете рассмотреть возможность ее включения, при этом акцентируя внимание на усовершенствовании общей безопасности ваших пользователей.