User-Agent - передает веб серверу информацию об используемом ПО, эту информацию использую для корректного отображения страниц, статистики и т.д. Отсутствие данного значения является аномалией.
Зачем блокировать пустой User-Agent?
Основная цель: Снижение сетевой нагрузки на конечный сервер, убрать мусор их журналов работы. Все запросы отправляемые серверу будут заблокированы еще на уровне CDN.
Пример пустых User-agent в логах сервера
1 2 3 | 98.159.226.246 - - [13/Jan/2022:12:28:46 +0300] "GET /backup/backup.sql HTTP/1.1" 404 39989 "-" "-" 85.10.56.240 - - [13/Jan/2022:12:28:49 +0300] "GET /back/archive.zip HTTP/1.1" 404 39989 "-" "-" 85.203.45.135 - - [13/Jan/2022:12:28:59 +0300] "GET /bak/bak.tar HTTP/1.1" 404 39989 "-" "-" |
Обычно это боты, которые не несут какой либо пользы.
Правило блокировки пустого User-Agent
В логах веб сервера пустое значение отображается как "-", что на самом деле является просто заглушкой. Сам же Cloudflare информацию о пустом агенте отображает как "Empty user agent".
На самом деле правило довольно простое:
1 | (http.user_agent eq "") |
Пример блокировки
Из примера видно, что это бот, который пытался найти файл резервной копии сайта.