Мониторинг

Cloudflare, WAF и файрволы

Как добавить проверки Tenium в белый список в Cloudflare WAF, Wordfence, Sucuri и серверных файрволах, не открывая сайт для всех.

Tenium представляется в каждом запросе:

User-Agent: Tenium-Monitor/1.0 (+https://tenium.app/bots)

На тарифах Pro и выше к каждому монитору можно добавить собственный заголовок. Рекомендуем x-tenium-secret: <random>. В правилах разрешения используйте оба вместе.

Пользовательское правило Cloudflare WAF

Security → WAF → Custom rules → Create rule, редактор выражений:

(http.user_agent contains "Tenium-Monitor/1.0") and (http.request.headers["x-tenium-secret"][0] eq "YOUR_SECRET")

Действие Skip, компоненты: All managed rules, Rate limiting rules, Bot Fight Mode. Если у вас Super Bot Fight Mode, установите для «Definitely automated» значение Allow, иначе проверки всё равно могут попадать под challenge.

При желании добавьте условие по IP из списка на странице /checker-ips:

and (ip.src in {164.92.217.216})

Ограничение частоты запросов в Cloudflare

Каждый работающий регион с интервалом 30 секунд отправляет 2 запроса в минуту на один адрес. Если монитор использует все 2 работающих регионов, это примерно 4 запросов в минуту. Если ваш лимит ниже, добавьте правило Skip, приведённое выше, или поднимите лимит для отслеживаемого адреса.

Wordfence

Firewall → Allowlisted URLs не учитывает User-Agent. Вместо этого воспользуйтесь Rate limiting → Allowlisted IPs и вставьте IP-адреса чекеров. Также установите для «If a crawler’s page views exceed» значение выше 12 в минуту или выберите «throttle» вместо «block».

Sucuri

Firewall → Access control → Allow IP addresses, вставьте IP-адреса чекеров. Или разрешите User-Agent в разделе Security → Allow user agents.

nginx / Apache / fail2ban

Разрешите IP-адреса чекеров до любого правила ограничения частоты или блокировки по геолокации. Пример для nginx:

geo $tenium { default 0; 164.92.217.216 1; }
map $tenium $limit_key { 0 $binary_remote_addr; 1 ""; }
limit_req_zone $limit_key zone=site:10m rate=10r/s;

Для fail2ban добавьте IP-адреса в ignoreip в jail.local.

Проверка

Откройте монитор, нажмите Check now и убедитесь, что каждый регион показывает ожидаемый статус. В Cloudflare раздел Security → Events с фильтром по вашему правилу показывает пропуски, которые приходят с IP-адресов чекеров.