#security #keycloak #brute-force #locked
#Безопасность #keycloak #перебор #заблокировано
Вопрос:
Я применил обнаружение методом перебора в keycloak в своем проекте. Но мое требование заключается в том, что я хочу, чтобы 2 пользователя не были обнаружены методом перебора, и для них нужна настройка по умолчанию.
Как я могу установить в области, чтобы я мог предотвратить обнаружение методом перебора для определенных пользователей?
Ответ №1:
В документации Keycloak для функции угадывания пароля: атаки методом перебора можно прочитать:
Атака методом перебора происходит, когда злоумышленник пытается угадать пароль пользователя. Keycloak имеет некоторые ограниченные возможности обнаружения методом перебора. Если включено, учетная запись пользователя будет временно отключена, если достигнут порог сбоев входа в систему. Чтобы включить эту функцию, перейдите в пункт меню Настройки области слева, перейдите на вкладку Защита безопасности, затем дополнительно перейдите на вложенную вкладку Обнаружение методом перебора.
Из этого можно сделать вывод, что эта функция применяется на уровне области и, следовательно, повлияет на всех пользователей в этой области. Более того, при чтении полной документации Keycloak по этой функции и ее конфигурационных параметров нет возможности исключить учетные записи определенных пользователей. Поэтому, если два пользователя, которых вы хотите исключить из функции обнаружения методом перебора, находятся в той же области, что и те, для которых вы хотите использовать эту функцию, вам не повезло.
Тем не менее, из следующего абзаца
Недостатком обнаружения методом перебора с помощью Keycloak является то, что сервер становится уязвимым для атак типа «отказ в обслуживании». Злоумышленник может просто попытаться угадать пароли для любых известных ему учетных записей, и эти учетные записи будут отключены. В конечном итоге мы расширим эту функциональность, чтобы учитывать IP-адрес клиента при принятии решения о блокировке пользователя.
Так что, может быть, в будущем вы сможете исключить этих двух пользователей на основе их IP-адресов ?! Но это смелое предположение; это зависит от того, как будет реализована будущая функция.
И, наконец,:
Лучшим вариантом может быть такой инструмент, как Fail2Ban. Вы можете указать этой службе на файл журнала сервера Keycloak. Keycloak регистрирует каждую ошибку входа в систему и IP-адрес клиента, на котором произошел сбой. Fail2Ban можно использовать для изменения брандмауэров после обнаружения атаки для блокирования соединений с определенных IP-адресов.
Я думаю, вы можете попробовать (на данный момент) использовать Fail2Ban и соответственно интегрировать его с Keycloak. Затем попробуйте исключить этих двух пользователей на основе их IP-адресов.