3.7Kпросмотров
18 сентября 2023 г.
Score: 4.0K
По умолчанию в Keycloak пользователям по адресу http://keycloak/realms/<realm_name>/account доступен довольно аскетичный интерфейс личного кабинета (на скриншоте). В этом маленьком кабинете можно сменить себе в том числе email. И это - проблема безопасности! Если клиент OIDC/OAuth, подключенный к Keycloak, завязывает своих пользователей не на поле preferred_username из токена, а на email, то его можно обмануть. Ставим себе чужой email, перезаходим в клиента и получаем права другого пользователя. Надо только учитывать что если требуемый email уже активен у одного из пользователей в Keycloak, то установить его себе не получится. Однако можно:
1) Устанавливать себе email недавно уволенных или по другим причинам удаленных из keycloak сотрудников, возможно они будут активны в клиенте.
2) Устанавливать себе email системных учеток, которые есть в клиентах, например, в клиенте может быть встроенная учетка администратора с email вбитом "от балды", вроде admin@company.com. Один из возможных способов защиты при использовании LDAP как User Federation - установить Edit Mode в значение READ_ONLY.