← Документация WAF / detections
WAF attack score
Attack score обнаружение трафика классифицирует каждый запрос с помощью алгоритма машинного обучения, присваивая оценку от 1 до 99 в зависимости от вероятности того, что запрос вредоносный. Это обнаружение дополняет WAF Managed Rules.
Managed Rules сопоставляют запросы с известными сигнатурами атак — конкретными шаблонами устоявшихся векторов атак. У них очень низкий уровень ложных срабатываний. Однако атакующие могут модифицировать известные полезные нагрузки (payload), например с помощью фаззинга (техники тестирования, отправляющей изменённые входные данные для поиска уязвимостей), чтобы уклониться от точных совпадений с сигнатурами.
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, классифицирующая инъекцию команд или удалённое выполнение кода ↗ (RCE). | Enterprise |
WAF Attack Score Class cf.waf.score.class String |
Класс attack score текущего запроса на основе WAF attack score. Возможные значения: attack, likely_attack, likely_clean и clean. |
Business или выше |
Эти поля можно использовать в выражениях пользовательские правила и правила rate limiting. Числовые поля оценок принимают значения от 1 в 99:
- Оценка
1означает, что запрос почти наверняка вредоносный. - Оценка
99указывает, что запрос, скорее всего, чист.
Оценка 100 означает, что запрос достиг системы WAF attack score, но система решила не оценивать его.
В Logpush оценка 0 означает, что запрос не дошёл до этапа attack score — например, потому что предыдущее правило или система защиты уже обработали его. Значение 0 не отображается в панели управления Cloudflare.
Общий WAF Attack Score математически выводится из отдельных attack score (например, SQLi Attack Score и XSS Attack Score) с учётом их взаимозависимости. Однако общая оценка не является суммой отдельных оценок. Низкая общая оценка обычно означает средние или низкие отдельные оценки, а высокая общая оценка — более высокие отдельные оценки.
Поле WAF Attack Score Class может принимать одно из следующих значений в зависимости от вычисленного attack score запроса:
| Метка в панели управления | Значение поля | Описание |
|---|---|---|
| Атака | attack |
Attack score между 1 и 20. |
| Likely attack | likely_attack |
Attack score между 21 и 50. |
| Вероятно безвредный | likely_clean |
Attack score между 51 и 80. |
| Clean | clean |
Attack score между 81 и 99. |
Запросы со специальным значением attack score 100 покажет класс WAF Attack Score Без оценки в дашборде Cloudflare, но использовать это значение класса в выражениях правил нельзя.
Attack score автоматически обнаруживает и декодирует контент в кодировках Base64, JavaScript (escape-последовательности Unicode) и URL в любой части запроса: URL, заголовках и теле.
Рекомендации по правилам
Блокировка трафика только на основании attack score для всех значений ниже 50 не рекомендуется. Likely attack (диапазон; оценки 21–50) может включать легитимные запросы, ошибочно помеченные как вредоносные (ложные срабатывания). Если вы хотите блокировать трафик по attack score, выполните одно из следующего:
-
Используйте более строгое значение WAF Attack Score в выражении. Например, блокируйте трафик с WAF attack score ниже
20или ниже15(точное пороговое значение может потребоваться скорректировать). -
При блокировке входящего трафика сочетайте более высокий порог WAF Attack Score с дополнительными фильтрами. Например, включите в выражение проверку конкретного пути URI или используйте оценку бота как часть критериев.
Начало работы с WAF attack score
1. Создайте пользовательское правило
Клиенты Enterprise могут создайте пользовательское правило , которое блокирует запросы с WAF Attack Score меньше или равно 20 (рекомендуемый начальный порог). Например:
| Поле | Оператор | Значение |
|---|---|---|
| WAF Attack Score | less than or equal to | 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. Оценка бота определяет, исходит ли запрос от автоматизированного трафика.