← Документация WAF / detections
WAF attack score
Показатель атаки обнаружение трафика классифицирует каждый запрос с помощью алгоритма машинного обучения, присваивая ему оценку от 1 до 99 в зависимости от вероятности того, что запрос является вредоносным. Это обнаружение дополняет WAF Managed Rules.
Managed Rules сопоставляют запросы с известными сигнатурами атак: определёнными шаблонами известных векторов атак. Для них характерен очень низкий уровень ложных срабатываний. Однако злоумышленники могут изменять известные payload, например с помощью техник fuzzing (метод тестирования, отправляющий изменённые входные данные для поиска уязвимостей), чтобы обойти точное сопоставление сигнатур.
Attack score восполняет этот пробел. С помощью этой оценки можно выявлять потенциально вредоносный трафик, который не совпадает точно ни с одним из правил WAF Managed Rules.
Чтобы максимально повысить уровень защиты, Cloudflare рекомендует использовать одновременно Managed Rules и attack score.
Доступные оценки
Cloudflare WAF предоставляет следующие поля attack score:
| Поле | Описание | Требуемый план |
|---|---|---|
WAF Attack Score cf.waf.score Number |
Общая оценка от 1 до 99, объединяющая оценку каждого вектора атаки WAF в единый показатель. | Enterprise |
WAF SQLi Attack Score cf.waf.score.sqli Number |
Оценка от 1 до 99, классифицирующая SQL-инъекции ↗ (SQLi), вектор атаки. | Enterprise |
WAF XSS Attack Score cf.waf.score.xss Number |
Оценка от 1 до 99, классифицирующая межсайтовый скриптинг ↗ (XSS), вектор атаки. | Enterprise |
WAF RCE Attack Score cf.waf.score.rce Number |
Оценка от 1 до 99, классифицирующая внедрение команд (command injection) или удалённое выполнение кода ↗ (RCE), вектор атаки. | Enterprise |
WAF Attack Score Class cf.waf.score.class String |
Класс показателя атаки текущего запроса, основанный на показателе атаки WAF. Возможные значения: attack, likely_attack, likely_clean, а также clean. |
Business и выше |
Эти поля можно использовать в выражениях пользовательские правила и правила ограничения частоты запросов. Числовые поля оценки находятся в диапазоне от 1 к 99:
- Оценка
1означает, что запрос почти наверняка вредоносный. - Оценка
99означает, что запрос, скорее всего, безопасен.
Оценка 100 означает, что запрос достиг системы attack score WAF, но система решила не присваивать ему оценку.
В Logpush данным оценка 0 означает, что запрос не достиг этапа оценки attack score, например потому, что его уже устранило предыдущее правило или система защиты. Значение 0 не отображается в панели управления Cloudflare.
Глобальный WAF Attack Score рассчитывается на основе отдельных показателей атаки (например, SQLi Attack Score и XSS Attack Score) и отражает их взаимозависимость. Однако глобальный показатель не является суммой отдельных показателей. Низкий глобальный показатель обычно означает средние или низкие отдельные показатели, а высокий глобальный показатель указывает на более высокие отдельные показатели.
Поле WAF Attack Score Class может принимать одно из следующих значений в зависимости от рассчитанного attack score запроса:
| Метка в панели управления | Значение поля | Описание |
|---|---|---|
| Атака | attack |
Оценка атаки от 1 и 20. |
| Вероятная атака | likely_attack |
Оценка атаки от 21 и 50. |
| Вероятно чистый | likely_clean |
Оценка атаки от 51 и 80. |
| Чисто | clean |
Оценка атаки от 81 и 99. |
Запросы с особым значением показателя атаки 100 будет показывать WAF Attack Score Class со значением Без оценки в дашборде Cloudflare, но использовать это значение класса в выражениях правил нельзя.
Attack score автоматически обнаруживает и декодирует содержимое в кодировке Base64, JavaScript (escape-последовательности Unicode) и URL-кодировании в любом месте запроса: в URL, заголовках и теле.
Рекомендации по правилам
Блокировка трафика исключительно на основе показателя атаки для всех значений ниже 50 не рекомендуется. Вероятная атака диапазон (оценки 21-50) могут включать легитимные запросы, ошибочно помеченные как вредоносные (ложные срабатывания). Если вы хотите блокировать трафик на основе показателя атаки, выполните одно из следующих действий:
-
Используйте более строгое значение WAF Attack Score в своём выражении. Например, блокируйте трафик с показателем атаки WAF ниже
20или ниже15(точное пороговое значение может потребоваться скорректировать). -
Комбинируйте более высокий порог WAF Attack Score с дополнительными фильтрами при блокировке входящего трафика. Например, добавьте в выражение проверку конкретного пути URI или используйте показатель бота как часть критериев.
Начните использовать WAF attack score
1. Создайте пользовательское правило
Клиенты уровня Enterprise могут создать пользовательское правило который блокирует запросы с WAF Attack Score меньше или равно 20 (рекомендуемое начальное пороговое значение). Например:
| Поле | Оператор | Значение |
|---|---|---|
| WAF Attack Score | меньше или равно | 20 |
- Эквивалентное выражение правила:
cf.waf.score le 20 - Действие: Block
Клиентам с планом Business необходимо создать пользовательское правило с WAF Attack Score Class поле вместо этого. Например, используйте это поле, чтобы блокировать входящие запросы с классом оценки Атака:
| Поле | Оператор | Значение |
|---|---|---|
| WAF Attack Score Class | равно | Attack |
- Эквивалентное выражение правила:
cf.waf.score.class eq "attack" - Действие: Block
2. Отслеживайте трафик домена
Отслеживайте созданное правило, особенно в первые несколько дней, чтобы убедиться, что вы указали подходящее пороговое значение (или класс) для своего трафика. При необходимости обновите правило.
3. Обновите действие правила
Если вы клиент с планом Enterprise и создали правило с Log действие, измените действие правила на более строгое, например Managed Challenge или Block.
Дополнительные замечания
WAF attack score и Bot Score служат разным целям. Attack score выявляет вариации атак, которые не улавливают WAF Managed Rules. Bot score определяет, исходит ли запрос от автоматического трафика.