Новые anti-bot правила никогда не включаются сразу в enforcement. Стандартная практика — shadow/dry-run режим: правило оценивает трафик, логирует решения, но не применяет блокировку.

Реализации у вендоров

ВендорРежимДокументация
CloudflareSimulate / LogПравило срабатывает, трафик не блокируется. Результаты в Firewall Events
AWS WAFCount modeСчитает совпадения без действия. Sampled requests доступны для анализа
Oracle WAFDetect modeЛогирование без блокировки
Azure WAFDetectionPreventionСтандартный двухфазный rollout

Типичный процесс

  1. Разработать правило
  2. Включить в dry-run на production (с реальным трафиком)
  3. Мониторить 1–2 недели (зависит от объёма трафика)
  4. Анализировать false positives и false negatives
  5. Скорректировать пороги/веса
  6. Переключить в enforcement
  7. Продолжить мониторинг первые дни

Тестирование на staging бесполезно

Staging не имеет реального трафика ботов. Dry-run на production — единственный способ калибровки.

Реализация для self-hosted

Env var DRY_RUN=true|false. При true:

  • Все сигналы собираются и скор считается
  • Prometheus метрики отправляются (чтобы видеть распределение)
  • Throttle/tarpit/block логируются, но не применяются
  • Лог содержит: { score, signals[], tier, dryRun: true, ip, url }

Критично: метрики должны работать одинаково в dry-run и enforcement — иначе дашборды показывают разные картины.

False positive rates

ДиапазонОценкаКонтекст
< 0.01%ОтличноDataDome заявляет этот уровень
< 0.1%Очень хорошоEnterprise-решения
< 1%ХорошоБольшинство приложений
> 5%ПроблемаНемедленный review

Для graduated response FPR ниже, чем для binary allow/deny — легитимный пользователь максимум получит небольшую задержку, не полную блокировку.

Связанные заметки