INTEGRITY Документация

Проверка скомпрометированных учётных данных

Многие веб-приложения пострадали от credential stuffing (атаки) в недавнем прошлом. В таких атаках выполняется массовое количество попыток входа с парами логин/пароль из баз скомпрометированные учётные данные.

Cloudflare предлагает автоматизированные проверки скомпрометированных учётных данных с помощью Cloudflare Web Application Firewall (WAF).

WAF предоставляет два механизма для этой проверки:

Cloudflare регулярно обновляет базы данных скомпрометированных учётных данных, на которых основана функция проверки скомпрометированных учётных данных.

Имя пользователя и пароль в открытом виде никогда не покидают сеть Cloudflare. При определении того, фигурировали ли учётные данные в утечках ранее, WAF использует только анонимизированную версию имени пользователя и пароля. Cloudflare следует подходу на основе k-анонимности, описанное в следующей записи блога: Validating Leaked Passwords with k-Anonymity.

Доступные действия

При обнаружении скомпрометированных учётных данных WAF может выполнить одно из следующих действий:

Действие по умолчанию для правил в Exposed Credentials Check Managed Ruleset — Заголовок Exposed-Credential-Check (с именем rewrite в API).

Cloudflare рекомендует использовать только следующие действия: Заголовок Exposed-Credential-Check (с именем rewrite в API) и Log (log).

Проверки скомпрометированных учётных данных в пользовательских правилах

Помимо включения Exposed Credentials Check Managed Ruleset, вы также можете проверять скомпрометированные учётные данные в пользовательские правила. Один из типичных сценариев — создать пользовательские правила на эндпоинтах аутентификации конечных пользователей вашего приложения для проверки скомпрометированных учётных данных. Правила, проверяющие скомпрометированные учётные данные, выполняются раньше правил rate limiting.

Чтобы проверять скомпрометированные учётные данные в пользовательском правиле, включите проверку скомпрометированных учётных данных в определение правила на уровне аккаунта и укажите, как получать значения имени пользователя и пароля из HTTP-запроса. Дополнительную информацию см. в Создание пользовательского правила с проверкой скомпрометированных учётных данных.