Qualys — не безымянный «программный агент», а инструмент крупной и известной публичной компании в сфере кибербезопасности (Qualys, Inc., NASDAQ: QLYS). Их сканер целенаправленно ищет уязвимости веб-приложений — SQL-инъекции, межсайтовый скриптинг (XSS), подделку межсайтовых запросов (CSRF), проблемы с редиректами — по методологии OWASP Top 10. Как и с уже разобранным в этой энциклопедии Photon, появление этого бота — вопрос безопасности, а не только нагрузки, и требует выяснения, кто санкционировал сканирование. В каталоге TrafficVeil бот помечен как нежелательный в категории «Прочие краулеры и сервисы».
Что такое Qualys на самом деле
Qualys предлагает целую линейку продуктов безопасности: Vulnerability Management (VM) — хостовый сканер уязвимостей, проверяющий открытые порты и сервисы на известные эксплойты с вариантами внешнего, внутреннего и аутентифицированного сканирования; Web Application Scanning (WAS) — облачный сервис динамического сканирования веб-приложений именно по вектору атак OWASP Top 10; и Cloud Agent — лёгкое фоновое приложение, устанавливаемое непосредственно на хост для непрерывной передачи данных о конфигурации, установленном ПО и уязвимостях.
Токен qualys в access.log сайта, скорее всего, относится именно к WAS — облачному сканированию веб-приложения снаружи, а не к Cloud Agent, который работает изнутри сервера и не оставляет такого следа в HTTP-логах.
| Параметр | Значение |
| Название | Qualys |
| User-Agent (токен/паттерн) | qualys |
| Оператор | Qualys, Inc. — публичная компания кибербезопасности (NASDAQ: QLYS) |
| Назначение | Сканирование веб-приложений на уязвимости по методологии OWASP Top 10 (SQL-инъекции, XSS, CSRF, редиректы) через сервис Web Application Scanning |
| Список IP-адресов | ❌ Отдельный официальный список есть не у всех операторов; проверяйте ASN/документацию владельца бота и не полагайтесь только на UA |
| Соблюдение robots.txt | Security-сканеры такого типа обычно не полагаются на robots.txt, поскольку им нужно проверить все доступные эндпоинты для полноты аудита |
| Используется для обучения моделей | Не задокументировано явно — назначение строго про поиск уязвимостей |
| Категория TrafficVeil | Нежелательный / Прочие краулеры и сервисы |
Как работает Qualys
Идентифицируется в access.log по паттерну User-Agent qualys. Реалистичные сценарии визита: ваша команда или подрядчик по безопасности санкционированно сканирует сайт через подписку на Qualys WAS; корпоративный клиент или партнёр включил ваш домен в собственный аудит соответствия (compliance); либо — что тоже случается — сторонняя организация проверяет вас без вашего ведома в рамках due diligence перед сделкой или партнёрством. В отличие от простого «программного агента, запрашивающего URL по расписанию», сканер WAS выполняет активные, целенаправленные попытки обнаружения уязвимостей, а не пассивное чтение контента.
Нагрузка на сервер
На отдельных доменах поведение может выглядеть как волна автоматических запросов без пользовательских сессий. Даже при умеренной средней частоте на одном домене возможны локальные всплески, похожие на L7-нагрузку: много 200 OK без роста реальных сессий. Для сканера уязвимостей стоит смотреть не только на объём, но и на содержательные сигналы:
- обход пагинации/каталога — сканер стремится к полному покрытию всех доступных URL и форм для аудита;
- нетипичные параметры в запросах — попытки внедрения тестовых payload'ов для проверки на SQL-инъекции или XSS;
- повторяющиеся запросы к формам ввода и параметризованным URL;
- давление на origin CPU и bandwidth при глубоком сканировании.
Обнаружение в логах
# Все запросы
grep -i "qualys" /var/log/nginx/access.log
# Количество запросов за сегодня
grep -i "qualys" /var/log/nginx/access.log | grep "$(date '+%d/%b/%Y')" | wc -l
# Уникальные IP
grep -i "qualys" /var/log/nginx/access.log | awk '{print $1}' | sort -u
# Частота по дням
grep -i "qualys" /var/log/nginx/access.log | awk '{print $4}' | cut -d: -f1 | sort | uniq -c
Верификация: User-Agent легко подделать. Для критичных решений дополнительно проверяйте IP/ASN, частоту, path-паттерны — и в первую очередь выясните внутри команды, не заказан ли санкционированный аудит безопасности через Qualys именно сейчас:
IP="1.2.3.4" whois -h whois.cymru.com " -v $IP" dig +short -x "$IP"
robots.txt
# Полная блокировка User-agent: qualys Disallow: / # Точечное ограничение User-agent: qualys Disallow: /admin/ Disallow: /cart/ Disallow: /account/ Allow: / # Разрешить полностью User-agent: qualys Allow: /
Учитывайте: сканеры безопасности этого класса, как правило, не полагаются на robots.txt для ограничения своей работы — им по определению нужно проверить все доступные эндпоинты, включая закрытые в файле, чтобы аудит был полным. Для гарантированного контроля используйте серверные правила или TrafficVeil.
Управление на уровне сервера
Nginx
if ($http_user_agent ~* "qualys") {
return 403;
}
# Мягкий вариант — rate limit
limit_req_zone $binary_remote_addr zone=qualys:10m rate=15r/m;
location / {
if ($http_user_agent ~* "qualys") {
limit_req zone=qualys burst=30 nodelay;
}
}
Apache (.htaccess)
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} qualys [NC]
RewriteRule ^ - [F,L]
Через TrafficVeil
- откройте список известных ботов в панели домена или
/system/bots; - если сканирование санкционировано вашей же командой — временный allow на период аудита; если нет — блокируйте сразу;
- при необходимости используйте массовые операции allow/deny без правки origin;
- проверьте логи: запросы должны уходить в блок/лимит согласно выбранной политике.
Рекомендации по оптимизации
- В базе TrafficVeil помечен как нежелательный — по умолчанию рекомендуется запрет, если сканирование не санкционировано вашей же командой;
- любой обнаруженный визит Qualys стоит рассматривать как повод свериться с командой безопасности, даже если решение — allow;
- не блокируйте поисковые роботы Google/Yandex случайно, если рядом настраиваете широкие правила;
- сначала измерьте долю запросов бота в логах/аналитике TrafficVeil, потом принимайте решение;
- если сканирование санкционировано, но нагрузка от глубокого аудита избыточна — согласуйте с подрядчиком расписание вне пиковых часов, а не полагайтесь только на rate-limit.
Сравнение с похожими ботами
| Бот | Кластер | User-Agent | Метка |
| 360Spider | Прочие краулеры и сервисы | 360spider | нежелательный |
| A360-Search | Прочие краулеры и сервисы | a360-search | нежелательный |
| AASA-Bot | Прочие краулеры и сервисы | aasa-bot | нежелательный |
| ABEvalBot | Прочие краулеры и сервисы | abevalbot | нежелательный |
| ActiveComply | Прочие краулеры и сервисы | activecomply | нежелательный |
По логике реагирования Qualys близок к уже разобранному Photon — оба требуют в первую очередь ответа на вопрос «санкционировано ли это сканирование», а не стандартной оценки «полезен ли бот бизнесу».
Сводная таблица стратегии
| Ситуация | Действие |
| Заранее согласованный аудит безопасности вашей командой | Временный allow на период сканирования, с чётко оговорёнными границами |
| Сканирование не санкционировано, источник неизвестен | Блокировать через TrafficVeil, не дожидаясь дополнительных признаков вреда |
| Любой обнаруженный визит Qualys | Уточнить у команды безопасности, независимо от итогового решения по блокировке |
| Нежелательный бот по базе TrafficVeil | Запретить в /system/bots и контролировать по логам |